fix: exclude rapid moves from Part.Intersects to fix FillLinear rejection

Part.Intersects included rapid move geometry (G00 traversals) when
checking for overlaps, causing false positives. The overlap validation
added in 5bebfcb rejected all FillLinear configs, producing 0 parts.
Every other GetShapes caller already filters SpecialLayers.Rapid.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-07 18:52:35 -05:00
parent 7ed4572f8a
commit 73c20c30ce

View File

@@ -1,4 +1,5 @@
using System.Collections.Generic;
using System.Linq;
using OpenNest.CNC;
using OpenNest.Converters;
using OpenNest.Geometry;
@@ -130,8 +131,10 @@ namespace OpenNest
{
pts = new List<Vector>();
var entities1 = ConvertProgram.ToGeometry(Program);
var entities2 = ConvertProgram.ToGeometry(part.Program);
var entities1 = ConvertProgram.ToGeometry(Program)
.Where(e => e.Layer != SpecialLayers.Rapid);
var entities2 = ConvertProgram.ToGeometry(part.Program)
.Where(e => e.Layer != SpecialLayers.Rapid);
var shapes1 = Helper.GetShapes(entities1);
var shapes2 = Helper.GetShapes(entities2);