feat: add ActionLeadIn for manual lead-in placement on part contours

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-30 13:47:22 -04:00
parent 21321740d6
commit 5307c5c85a
4 changed files with 366 additions and 4 deletions

View File

@@ -102,7 +102,7 @@ namespace OpenNest.CNC.CuttingStrategy
return ordered;
}
internal static ContourType DetectContourType(Shape cutout)
public static ContourType DetectContourType(Shape cutout)
{
if (cutout.Entities.Count == 1 && cutout.Entities[0] is Circle)
return ContourType.ArcCircle;
@@ -110,7 +110,7 @@ namespace OpenNest.CNC.CuttingStrategy
return ContourType.Internal;
}
internal static double ComputeNormal(Vector point, Entity entity, ContourType contourType)
public static double ComputeNormal(Vector point, Entity entity, ContourType contourType)
{
double normal;
@@ -141,7 +141,7 @@ namespace OpenNest.CNC.CuttingStrategy
return Math.Angle.NormalizeRad(normal);
}
internal static RotationType DetermineWinding(Shape shape)
public static RotationType DetermineWinding(Shape shape)
{
// Use signed area: positive = CCW, negative = CW
var area = shape.Area();