From 4ab96aab545200c7306b965409deed68f66cffc7 Mon Sep 17 00:00:00 2001 From: sladro Date: Thu, 26 Mar 2026 18:47:32 +0800 Subject: [PATCH] feat: Add functionality to draw a raw free forge square shaft with dimensions and sectioning. --- Cad/ShaftRawFreeForgeSquareShaftDrawer.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Cad/ShaftRawFreeForgeSquareShaftDrawer.cs b/Cad/ShaftRawFreeForgeSquareShaftDrawer.cs index efdbfcd..3d0ef8a 100644 --- a/Cad/ShaftRawFreeForgeSquareShaftDrawer.cs +++ b/Cad/ShaftRawFreeForgeSquareShaftDrawer.cs @@ -429,13 +429,17 @@ namespace CadParamPluging.Cad if (sectionW > 0) { + double secR = r; + double maxR = Math.Min(sectionW / 2.0, H / 2.0); + if (secR > maxR) secR = maxR; + var newSegs = new List>(); foreach(var seg in segments) { if (sectionOx > seg.Item1 && (sectionOx + sectionW) < seg.Item2) { - newSegs.Add(Tuple.Create(seg.Item1, sectionOx)); - newSegs.Add(Tuple.Create(sectionOx + sectionW, seg.Item2)); + newSegs.Add(Tuple.Create(seg.Item1, sectionOx + secR)); + newSegs.Add(Tuple.Create(sectionOx + sectionW - secR, seg.Item2)); } else newSegs.Add(seg); }