From 73c20c30ce877ecf85cd6b68ab395ec440642848 Mon Sep 17 00:00:00 2001 From: AJ Isaacs Date: Sat, 7 Mar 2026 18:52:35 -0500 Subject: [PATCH] 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 --- OpenNest.Core/Part.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/OpenNest.Core/Part.cs b/OpenNest.Core/Part.cs index ac1e523..e88a60c 100644 --- a/OpenNest.Core/Part.cs +++ b/OpenNest.Core/Part.cs @@ -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(); - 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);