fix: align best-fit sweep to include offset=0 for grid arrangements
The perpendicular sweep started at perpMin (e.g. -8.75) which with coarse step sizes never landed on offset=0, missing the perfect side-by-side and stacked same-orientation patterns for rectangular parts. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -80,7 +80,12 @@ namespace OpenNest.Engine.BestFit
|
|||||||
// Pre-compute part1's offset lines (half-spacing outward)
|
// Pre-compute part1's offset lines (half-spacing outward)
|
||||||
var part1Lines = Helper.GetOffsetPartLines(part1, halfSpacing);
|
var part1Lines = Helper.GetOffsetPartLines(part1, halfSpacing);
|
||||||
|
|
||||||
for (var offset = perpMin; offset <= perpMax; offset += stepSize)
|
// Align sweep start to a multiple of stepSize so that offset=0 is always
|
||||||
|
// included. This ensures perfect grid arrangements (side-by-side, stacked)
|
||||||
|
// are generated for rectangular parts.
|
||||||
|
var alignedStart = System.Math.Ceiling(perpMin / stepSize) * stepSize;
|
||||||
|
|
||||||
|
for (var offset = alignedStart; offset <= perpMax; offset += stepSize)
|
||||||
{
|
{
|
||||||
var part2 = (Part)part2Template.Clone();
|
var part2 = (Part)part2Template.Clone();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user