mirror of
https://github.com/ajisaacs/OpenNest.git
synced 2026-11-06 12:25:43 -05:00
78ee65d9463b10904cecabcdb50eb5f4a342f2f6
The push algorithm's copy distance formula (bboxDim - slideDistance) produced distances smaller than the part width when inflated boundary arc vertices interacted spuriously, causing ~0.05 unit overlaps between all adjacent grid parts. Two fixes applied: - Clamp ComputeCopyDistance to bboxDim + PartSpacing minimum - Use circumscribed polygons (R/cos(halfStep)) for PartBoundary arc discretization so chord segments never cut inside the true arc, eliminating the ChordTolerance offset workaround Also parallelized three sequential fill loops using Parallel.ForEach: - FindBestFill angle sweep (up to 38 angles x 2 directions) - FillPattern angle sweep for group/pair fills - FillRemainingStrip rotation loop Added diagnostic logging to HasOverlaps, FindCopyDistance, and FillRecursive for debugging fill issues. Test result: 45 parts @ 79.6% -> 47 parts @ 83.1%, zero overlaps. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Description
Read-only backup mirror of https://github.com/ajisaacs/OpenNest (GitHub is the primary). Pulled hourly.
15 MiB
0 Stars
1 Watchers
0 Forks
Languages
C#
98.2%
Python
1.3%
PowerShell
0.2%
Shell
0.2%