feat: regenerate cut-offs after part drag and fill operations

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-22 20:01:03 -04:00
parent d4f60d5e8e
commit ad58332a5d
3 changed files with 13 additions and 0 deletions

View File

@@ -167,6 +167,9 @@ namespace OpenNest.Actions
}
parts.ForEach(p => plateView.Plate.Parts.Add(p.BasePart.Clone() as Part));
if (plateView.Plate.CutOffs.Count > 0)
plateView.Plate.RegenerateCutOffs(plateView.CutOffSettings);
}
private void Fill()

View File

@@ -133,6 +133,12 @@ namespace OpenNest.Actions
plateView.Invalidate();
status = Status.SetFirstPoint;
}
else if (plateView.SelectedParts.Count > 0)
{
// Part drag completed — regenerate cut-off programs
if (plateView.Plate.CutOffs.Count > 0)
plateView.Plate.RegenerateCutOffs(plateView.CutOffSettings);
}
}
private void plateView_Paint(object sender, PaintEventArgs e)

View File

@@ -1089,6 +1089,10 @@ namespace OpenNest.Controls
if (parts.Count > 0 && (!cts.IsCancellationRequested || progressForm.Accepted))
{
AcceptPreviewParts(parts);
if (Plate.CutOffs.Count > 0)
Plate.RegenerateCutOffs(cutOffSettings);
sw.Stop();
Status = $"Fill: {parts.Count} parts in {sw.ElapsedMilliseconds} ms";
}