mirror of
https://github.com/ajisaacs/OpenNest.git
synced 2026-11-07 03:15:43 -05:00
feat(engine): nest on outlined stock with the Irregular packer
NestPlateStock carries the outline; its usable material (less obstacles, eroded by the largest edge spacing) becomes the FrontierPacker's PackBoundary. The layout check and the runner's candidate validation reject a part outside the outline or over an obstacle, area-based cost and the area budget use the material area, salvage credits nothing, and Rectangles, Circles, FlatBar and the fill strategies place nothing on it. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
1 parent
fa7a1f0fce
commit
501d90b825
18 files changed
+392
-17
No files matched your search
@@ -76,6 +76,8 @@ public sealed class RectanglesNestingEngine : INestingEngine
|
||||
|
||||
private static bool FitsStock(NestPlateStock stock, BoxOrientation o)
|
||||
{
|
||||
if (stock.Outline != null)
|
||||
return false; // Boxes pack rectangles only.
|
||||
var work = stock.WorkArea;
|
||||
return o.Width <= work.Right - work.Left + SheetPacker.OverhangAllowance
|
||||
&& o.Height <= work.Top - work.Bottom + SheetPacker.OverhangAllowance;
|
||||
|
||||
Reference in new issue
Block a user