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