feat: Add functionality to draw a raw free forge square shaft with dimensions and sectioning.

This commit is contained in:
sladro 2026-03-26 18:47:32 +08:00
parent 40a2909481
commit 4ab96aab54

View File

@ -429,13 +429,17 @@ namespace CadParamPluging.Cad
if (sectionW > 0) 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<Tuple<double, double>>(); var newSegs = new List<Tuple<double, double>>();
foreach(var seg in segments) foreach(var seg in segments)
{ {
if (sectionOx > seg.Item1 && (sectionOx + sectionW) < seg.Item2) if (sectionOx > seg.Item1 && (sectionOx + sectionW) < seg.Item2)
{ {
newSegs.Add(Tuple.Create(seg.Item1, sectionOx)); newSegs.Add(Tuple.Create(seg.Item1, sectionOx + secR));
newSegs.Add(Tuple.Create(sectionOx + sectionW, seg.Item2)); newSegs.Add(Tuple.Create(sectionOx + sectionW - secR, seg.Item2));
} }
else newSegs.Add(seg); else newSegs.Add(seg);
} }