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); }