From 3ea05257eb6fe6d4b88540a63ead31b786ebb8b9 Mon Sep 17 00:00:00 2001 From: AJ Isaacs Date: Sun, 22 Mar 2026 19:54:09 -0400 Subject: [PATCH] feat: wire up cut-off action in MainForm menu Add "Sheet Cut-Off" menu item to the Plate menu that activates ActionCutOff placement mode on the active PlateView. Co-Authored-By: Claude Opus 4.6 (1M context) --- OpenNest/Forms/MainForm.Designer.cs | 13 +++++++++++-- OpenNest/Forms/MainForm.cs | 8 ++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/OpenNest/Forms/MainForm.Designer.cs b/OpenNest/Forms/MainForm.Designer.cs index f699040..3af69f4 100644 --- a/OpenNest/Forms/MainForm.Designer.cs +++ b/OpenNest/Forms/MainForm.Designer.cs @@ -117,6 +117,7 @@ manualSequenceToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); calculateCutTimeToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); centerPartsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + mnuPlateCutOff = new System.Windows.Forms.ToolStripMenuItem(); mnuWindow = new System.Windows.Forms.ToolStripMenuItem(); mnuWindowCascade = new System.Windows.Forms.ToolStripMenuItem(); mnuWindowTileVertical = new System.Windows.Forms.ToolStripMenuItem(); @@ -627,7 +628,7 @@ // // mnuPlate // - mnuPlate.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { mnuPlateEdit, mnuPlateSetAsDefault, toolStripMenuItem18, mnuPlateAdd, mnuPlateRemove, toolStripMenuItem16, mnuPlateFill, toolStripMenuItem9, mnuPlateRotate, mnuResizeToFitParts, toolStripMenuItem13, mnuPlateViewInCad, toolStripMenuItem20, mnuSequenceParts, calculateCutTimeToolStripMenuItem1, centerPartsToolStripMenuItem }); + mnuPlate.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { mnuPlateEdit, mnuPlateSetAsDefault, toolStripMenuItem18, mnuPlateAdd, mnuPlateRemove, toolStripMenuItem16, mnuPlateFill, toolStripMenuItem9, mnuPlateCutOff, mnuPlateRotate, mnuResizeToFitParts, toolStripMenuItem13, mnuPlateViewInCad, toolStripMenuItem20, mnuSequenceParts, calculateCutTimeToolStripMenuItem1, centerPartsToolStripMenuItem }); mnuPlate.Name = "mnuPlate"; mnuPlate.Size = new System.Drawing.Size(45, 20); mnuPlate.Text = "&Plate"; @@ -685,7 +686,14 @@ toolStripMenuItem9.Size = new System.Drawing.Size(177, 22); toolStripMenuItem9.Text = "Fill Area"; toolStripMenuItem9.Click += FillArea_Click; - // + // + // mnuPlateCutOff + // + mnuPlateCutOff.Name = "mnuPlateCutOff"; + mnuPlateCutOff.Size = new System.Drawing.Size(177, 22); + mnuPlateCutOff.Text = "Sheet Cut-Off"; + mnuPlateCutOff.Click += CutOff_Click; + // // mnuPlateRotate // mnuPlateRotate.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { mnuPlateRotateCw, mnuPlateRotateCcw, toolStripSeparator2, mnuPlateRotate180 }); @@ -1205,5 +1213,6 @@ private System.Windows.Forms.ToolStripComboBox engineComboBox; private System.Windows.Forms.ToolStripButton btnAutoNest; private System.Windows.Forms.ToolStripButton btnShowRemnants; + private System.Windows.Forms.ToolStripMenuItem mnuPlateCutOff; } } \ No newline at end of file diff --git a/OpenNest/Forms/MainForm.cs b/OpenNest/Forms/MainForm.cs index 79c9fbf..36642d3 100644 --- a/OpenNest/Forms/MainForm.cs +++ b/OpenNest/Forms/MainForm.cs @@ -1179,6 +1179,14 @@ namespace OpenNest.Forms activeForm.PlateView.SetAction(typeof(ActionSetSequence)); } + private void CutOff_Click(object sender, EventArgs e) + { + if (activeForm == null) + return; + + activeForm.PlateView.SetAction(typeof(ActionCutOff)); + } + #endregion Plate Menu Events #region Window Menu Events