feat: serialize/deserialize cut-off definitions in nest file format

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-22 19:40:01 -04:00
parent d58a446eac
commit 2f19f47a85
4 changed files with 164 additions and 2 deletions

View File

@@ -152,7 +152,7 @@ namespace OpenNest.IO
{
var plate = nest.Plates[i];
var parts = new List<PartDto>();
foreach (var part in plate.Parts)
foreach (var part in plate.Parts.Where(p => !p.BaseDrawing.IsCutOff))
{
var match = drawingDict.Where(dwg => dwg.Value == part.BaseDrawing).FirstOrDefault();
parts.Add(new PartDto
@@ -164,6 +164,19 @@ namespace OpenNest.IO
});
}
var cutoffs = new List<CutOffDto>();
foreach (var cutoff in plate.CutOffs)
{
cutoffs.Add(new CutOffDto
{
X = cutoff.Position.X,
Y = cutoff.Position.Y,
Axis = cutoff.Axis == CutOffAxis.Vertical ? "vertical" : "horizontal",
StartLimit = cutoff.StartLimit,
EndLimit = cutoff.EndLimit
});
}
list.Add(new PlateDto
{
Id = i + 1,
@@ -185,7 +198,8 @@ namespace OpenNest.IO
Right = plate.EdgeSpacing.Right,
Bottom = plate.EdgeSpacing.Bottom
},
Parts = parts
Parts = parts,
CutOffs = cutoffs
});
}
return list;