diff --git a/LaserGRBL.sln b/LaserGRBL.sln
index 06ee5349..e0e715fa 100644
--- a/LaserGRBL.sln
+++ b/LaserGRBL.sln
@@ -1,20 +1,26 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.28307.1705
+# Visual Studio Version 17
+VisualStudioVersion = 17.1.32421.90
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LaserGRBL", "LaserGRBL\LaserGRBL.csproj", "{839698EC-FE05-4112-ACCB-A5D7556714F0}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
+ Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
+ Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{839698EC-FE05-4112-ACCB-A5D7556714F0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{839698EC-FE05-4112-ACCB-A5D7556714F0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {839698EC-FE05-4112-ACCB-A5D7556714F0}.Debug|x86.ActiveCfg = Debug|x86
+ {839698EC-FE05-4112-ACCB-A5D7556714F0}.Debug|x86.Build.0 = Debug|x86
{839698EC-FE05-4112-ACCB-A5D7556714F0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{839698EC-FE05-4112-ACCB-A5D7556714F0}.Release|Any CPU.Build.0 = Release|Any CPU
+ {839698EC-FE05-4112-ACCB-A5D7556714F0}.Release|x86.ActiveCfg = Release|x86
+ {839698EC-FE05-4112-ACCB-A5D7556714F0}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/LaserGRBL/App.config b/LaserGRBL/App.config
index e5d78fc0..bf4f2cc0 100644
--- a/LaserGRBL/App.config
+++ b/LaserGRBL/App.config
@@ -1,4 +1,4 @@
-
+
@@ -14,6 +14,6 @@
-
+
-
\ No newline at end of file
+
diff --git a/LaserGRBL/ColorScheme.cs b/LaserGRBL/ColorScheme.cs
index 5771be8e..a1335ab7 100644
--- a/LaserGRBL/ColorScheme.cs
+++ b/LaserGRBL/ColorScheme.cs
@@ -51,6 +51,9 @@ static ColorScheme()
Color.DodgerBlue, //link color
Color.Purple, //visited link color
+
+ Color.Green, //preview laser 2
+ Color.Black, //preview laser 3
});
mData.Add(Scheme.RedLaser, new Color[]
{
@@ -81,6 +84,9 @@ static ColorScheme()
Color.DodgerBlue, //link color
Color.Purple, //visited link color
+
+ Color.Green, //preview laser 2
+ Color.Black, //preview laser 3
});
mData.Add(Scheme.Dark, new Color[]
{
@@ -111,6 +117,9 @@ static ColorScheme()
Color.Yellow, //link color
Color.Violet, //visited link color
+
+ Color.Green, //preview laser 2
+ Color.Black, //preview laser 3
});
mData.Add(Scheme.Hacker, new Color[]
{
@@ -141,6 +150,9 @@ static ColorScheme()
Color.Yellow, //link color
Color.Violet, //visited link color
+
+ Color.Green, //preview laser 2
+ Color.Black, //preview laser 3
});
mData.Add(Scheme.Nighty, new Color[]
{
@@ -171,6 +183,9 @@ static ColorScheme()
Color.Yellow, //link color
Color.Violet, //visited link color
+
+ Color.Green, //preview laser 2
+ Color.Black, //preview laser 3
});
CurrentScheme = Scheme.RedLaser;
@@ -233,8 +248,8 @@ public static Color PreviewFirstMovement
{ get { return GetColor(6); } }
public static Color PreviewOtherMovement
{ get { return GetColor(7); } }
- public static Color PreviewLaserPower
- { get { return GetColor(8); } }
+ public static Color[] PreviewLaserPower
+ { get { return new Color[] { GetColor(8), GetColor(23), GetColor(24) }; } }
public static Color PreviewCross
{ get { return GetColor(9); } }
diff --git a/LaserGRBL/ConnectLogForm.Designer.cs b/LaserGRBL/ConnectLogForm.Designer.cs
index b3a8c264..3d96920c 100644
--- a/LaserGRBL/ConnectLogForm.Designer.cs
+++ b/LaserGRBL/ConnectLogForm.Designer.cs
@@ -53,318 +53,575 @@ protected override void Dispose(bool disposing)
///
private void InitializeComponent()
{
- this.components = new System.ComponentModel.Container();
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ConnectLogForm));
- this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
- this.GBCommands = new System.Windows.Forms.Panel();
- this.tableLayoutPanel6 = new System.Windows.Forms.TableLayoutPanel();
- this.TxtManualCommand = new LaserGRBL.UserControls.GrblTextBox();
- this.CmdLog = new LaserGRBL.UserControls.CommandLog();
- this.GBFile = new System.Windows.Forms.Panel();
- this.tableLayoutPanel5 = new System.Windows.Forms.TableLayoutPanel();
- this.LblProgress = new System.Windows.Forms.Label();
- this.LblFilename = new System.Windows.Forms.Label();
- this.TbFileName = new System.Windows.Forms.TextBox();
- this.PB = new LaserGRBL.UserControls.DoubleProgressBar();
- this.BtnOpen = new LaserGRBL.UserControls.ImageButton();
- this.BtnRunProgram = new LaserGRBL.UserControls.ImageButton();
- this.UDLoopCounter = new System.Windows.Forms.NumericUpDown();
- this.BtnAbortProgram = new LaserGRBL.UserControls.ImageButton();
- this.GBConnection = new System.Windows.Forms.Panel();
- this.tableLayoutPanel4 = new System.Windows.Forms.TableLayoutPanel();
- this.LblEmulator = new System.Windows.Forms.Label();
- this.LblComPort = new System.Windows.Forms.Label();
- this.CBPort = new System.Windows.Forms.ComboBox();
- this.LblBaudRate = new System.Windows.Forms.Label();
- this.CBSpeed = new System.Windows.Forms.ComboBox();
- this.LblAddress = new System.Windows.Forms.Label();
- this.TxtAddress = new System.Windows.Forms.TextBox();
- this.TxtEmulator = new System.Windows.Forms.TextBox();
- this.BtnConnectDisconnect = new LaserGRBL.UserControls.ImageButton();
- this.TT = new System.Windows.Forms.ToolTip(this.components);
- this.tableLayoutPanel1.SuspendLayout();
- this.GBCommands.SuspendLayout();
- this.tableLayoutPanel6.SuspendLayout();
- this.GBFile.SuspendLayout();
- this.tableLayoutPanel5.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.UDLoopCounter)).BeginInit();
- this.GBConnection.SuspendLayout();
- this.tableLayoutPanel4.SuspendLayout();
- this.SuspendLayout();
- //
- // tableLayoutPanel1
- //
- resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
- this.tableLayoutPanel1.Controls.Add(this.GBCommands, 0, 2);
- this.tableLayoutPanel1.Controls.Add(this.GBFile, 0, 1);
- this.tableLayoutPanel1.Controls.Add(this.GBConnection, 0, 0);
- this.tableLayoutPanel1.Name = "tableLayoutPanel1";
- //
- // GBCommands
- //
- this.GBCommands.Controls.Add(this.tableLayoutPanel6);
- resources.ApplyResources(this.GBCommands, "GBCommands");
- this.GBCommands.Name = "GBCommands";
- //
- // tableLayoutPanel6
- //
- resources.ApplyResources(this.tableLayoutPanel6, "tableLayoutPanel6");
- this.tableLayoutPanel6.Controls.Add(this.TxtManualCommand, 0, 0);
- this.tableLayoutPanel6.Controls.Add(this.CmdLog, 0, 1);
- this.tableLayoutPanel6.Name = "tableLayoutPanel6";
- //
- // TxtManualCommand
- //
- resources.ApplyResources(this.TxtManualCommand, "TxtManualCommand");
- this.TxtManualCommand.Name = "TxtManualCommand";
- this.TxtManualCommand.WaterMarkActiveForeColor = System.Drawing.Color.Gray;
- this.TxtManualCommand.WaterMarkFont = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.TxtManualCommand.WaterMarkForeColor = System.Drawing.Color.LightGray;
- this.TxtManualCommand.CommandEntered += new LaserGRBL.UserControls.GrblTextBox.CommandEnteredDlg(this.TxtManualCommandCommandEntered);
- this.TxtManualCommand.Enter += new System.EventHandler(this.TxtManualCommand_Enter);
- this.TxtManualCommand.Leave += new System.EventHandler(this.TxtManualCommand_Leave);
- //
- // CmdLog
- //
- this.CmdLog.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
- resources.ApplyResources(this.CmdLog, "CmdLog");
- this.CmdLog.Name = "CmdLog";
- this.CmdLog.TabStop = false;
- //
- // GBFile
- //
- resources.ApplyResources(this.GBFile, "GBFile");
- this.GBFile.Controls.Add(this.tableLayoutPanel5);
- this.GBFile.Name = "GBFile";
- //
- // tableLayoutPanel5
- //
- resources.ApplyResources(this.tableLayoutPanel5, "tableLayoutPanel5");
- this.tableLayoutPanel5.Controls.Add(this.LblProgress, 0, 1);
- this.tableLayoutPanel5.Controls.Add(this.LblFilename, 0, 0);
- this.tableLayoutPanel5.Controls.Add(this.TbFileName, 1, 0);
- this.tableLayoutPanel5.Controls.Add(this.PB, 1, 1);
- this.tableLayoutPanel5.Controls.Add(this.BtnOpen, 3, 0);
- this.tableLayoutPanel5.Controls.Add(this.BtnRunProgram, 3, 1);
- this.tableLayoutPanel5.Controls.Add(this.UDLoopCounter, 2, 1);
- this.tableLayoutPanel5.Controls.Add(this.BtnAbortProgram, 4, 1);
- this.tableLayoutPanel5.Name = "tableLayoutPanel5";
- //
- // LblProgress
- //
- resources.ApplyResources(this.LblProgress, "LblProgress");
- this.LblProgress.Name = "LblProgress";
- //
- // LblFilename
- //
- resources.ApplyResources(this.LblFilename, "LblFilename");
- this.LblFilename.Name = "LblFilename";
- //
- // TbFileName
- //
- this.tableLayoutPanel5.SetColumnSpan(this.TbFileName, 2);
- resources.ApplyResources(this.TbFileName, "TbFileName");
- this.TbFileName.Name = "TbFileName";
- this.TbFileName.ReadOnly = true;
- this.TbFileName.TabStop = false;
- this.TbFileName.MouseEnter += new System.EventHandler(this.TbFileName_MouseEnter);
- this.TbFileName.MouseLeave += new System.EventHandler(this.TbFileName_MouseLeave);
- //
- // PB
- //
- this.PB.BarColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(128)))));
- this.PB.BorderColor = System.Drawing.Color.Black;
- resources.ApplyResources(this.PB, "PB");
- this.PB.DrawProgressString = true;
- this.PB.FillColor = System.Drawing.Color.White;
- this.PB.FillStyle = LaserGRBL.UserControls.FillStyles.Solid;
- this.PB.ForeColor = System.Drawing.Color.Black;
- this.PB.Maximum = 100D;
- this.PB.Minimum = 0D;
- this.PB.Name = "PB";
- this.PB.PercString = null;
- this.PB.ProgressStringDecimals = 0;
- this.PB.Reverse = false;
- this.PB.Step = 10D;
- this.PB.ThrowExceprion = false;
- this.PB.Value = 0D;
- //
- // BtnOpen
- //
- this.BtnOpen.AltImage = null;
- resources.ApplyResources(this.BtnOpen, "BtnOpen");
- this.BtnOpen.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
- this.BtnOpen.Caption = null;
- this.BtnOpen.Coloration = System.Drawing.Color.Empty;
- this.tableLayoutPanel5.SetColumnSpan(this.BtnOpen, 2);
- this.BtnOpen.Image = ((System.Drawing.Image)(resources.GetObject("BtnOpen.Image")));
- this.BtnOpen.Name = "BtnOpen";
- this.BtnOpen.SizingMode = LaserGRBL.UserControls.ImageButton.SizingModes.FixedSize;
- this.BtnOpen.TabStop = false;
- this.TT.SetToolTip(this.BtnOpen, resources.GetString("BtnOpen.ToolTip"));
- this.BtnOpen.UseAltImage = false;
- this.BtnOpen.Click += new System.EventHandler(this.BtnOpenClick);
- //
- // BtnRunProgram
- //
- this.BtnRunProgram.AltImage = null;
- resources.ApplyResources(this.BtnRunProgram, "BtnRunProgram");
- this.BtnRunProgram.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
- this.BtnRunProgram.Caption = null;
- this.BtnRunProgram.Coloration = System.Drawing.Color.Empty;
- this.BtnRunProgram.Image = ((System.Drawing.Image)(resources.GetObject("BtnRunProgram.Image")));
- this.BtnRunProgram.Name = "BtnRunProgram";
- this.BtnRunProgram.SizingMode = LaserGRBL.UserControls.ImageButton.SizingModes.FixedSize;
- this.BtnRunProgram.TabStop = false;
- this.TT.SetToolTip(this.BtnRunProgram, resources.GetString("BtnRunProgram.ToolTip"));
- this.BtnRunProgram.UseAltImage = false;
- this.BtnRunProgram.Click += new System.EventHandler(this.BtnRunProgramClick);
- //
- // UDLoopCounter
- //
- resources.ApplyResources(this.UDLoopCounter, "UDLoopCounter");
- this.UDLoopCounter.Maximum = new decimal(new int[] {
+ this.components = new System.ComponentModel.Container();
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ConnectLogForm));
+ this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
+ this.GBCommands = new System.Windows.Forms.Panel();
+ this.tableLayoutPanel6 = new System.Windows.Forms.TableLayoutPanel();
+ this.TxtManualCommand = new LaserGRBL.UserControls.GrblTextBox();
+ this.CmdLog = new LaserGRBL.UserControls.CommandLog();
+ this.GBFile = new System.Windows.Forms.Panel();
+ this.tableLayoutPanel5 = new System.Windows.Forms.TableLayoutPanel();
+ this.BtnFileAppend2 = new LaserGRBL.UserControls.ImageButton();
+ this.BtnFileAppend1 = new LaserGRBL.UserControls.ImageButton();
+ this.BtnFileAppend = new LaserGRBL.UserControls.ImageButton();
+ this.chkFileEnable2 = new System.Windows.Forms.CheckBox();
+ this.chkFileEnable1 = new System.Windows.Forms.CheckBox();
+ this.UDLoopCounter2 = new System.Windows.Forms.NumericUpDown();
+ this.UDLoopCounter1 = new System.Windows.Forms.NumericUpDown();
+ this.btnFileSetup2 = new LaserGRBL.UserControls.ImageButton();
+ this.btnFileSetup1 = new LaserGRBL.UserControls.ImageButton();
+ this.btnFileSetup = new LaserGRBL.UserControls.ImageButton();
+ this.BtnOpen2 = new LaserGRBL.UserControls.ImageButton();
+ this.TbFileName2 = new System.Windows.Forms.TextBox();
+ this.BtnOpen1 = new LaserGRBL.UserControls.ImageButton();
+ this.TbFileName1 = new System.Windows.Forms.TextBox();
+ this.LblFilename = new System.Windows.Forms.Label();
+ this.TbFileName = new System.Windows.Forms.TextBox();
+ this.PB = new LaserGRBL.UserControls.DoubleProgressBar();
+ this.BtnOpen = new LaserGRBL.UserControls.ImageButton();
+ this.LblFilename1 = new System.Windows.Forms.Label();
+ this.UDLoopCounter = new System.Windows.Forms.NumericUpDown();
+ this.BtnRunProgram = new LaserGRBL.UserControls.ImageButton();
+ this.BtnAbortProgram = new LaserGRBL.UserControls.ImageButton();
+ this.LblFilename2 = new System.Windows.Forms.Label();
+ this.LblProgress = new System.Windows.Forms.Label();
+ this.chkFileEnable = new System.Windows.Forms.CheckBox();
+ this.GBConnection = new System.Windows.Forms.Panel();
+ this.tableLayoutPanel4 = new System.Windows.Forms.TableLayoutPanel();
+ this.LblEmulator = new System.Windows.Forms.Label();
+ this.LblComPort = new System.Windows.Forms.Label();
+ this.CBPort = new System.Windows.Forms.ComboBox();
+ this.LblBaudRate = new System.Windows.Forms.Label();
+ this.CBSpeed = new System.Windows.Forms.ComboBox();
+ this.LblAddress = new System.Windows.Forms.Label();
+ this.TxtAddress = new System.Windows.Forms.TextBox();
+ this.TxtEmulator = new System.Windows.Forms.TextBox();
+ this.BtnConnectDisconnect = new LaserGRBL.UserControls.ImageButton();
+ this.TT = new System.Windows.Forms.ToolTip(this.components);
+ this.tableLayoutPanel1.SuspendLayout();
+ this.GBCommands.SuspendLayout();
+ this.tableLayoutPanel6.SuspendLayout();
+ this.GBFile.SuspendLayout();
+ this.tableLayoutPanel5.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.UDLoopCounter2)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.UDLoopCounter1)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.UDLoopCounter)).BeginInit();
+ this.GBConnection.SuspendLayout();
+ this.tableLayoutPanel4.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // tableLayoutPanel1
+ //
+ resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
+ this.tableLayoutPanel1.Controls.Add(this.GBCommands, 0, 2);
+ this.tableLayoutPanel1.Controls.Add(this.GBFile, 0, 1);
+ this.tableLayoutPanel1.Controls.Add(this.GBConnection, 0, 0);
+ this.tableLayoutPanel1.Name = "tableLayoutPanel1";
+ //
+ // GBCommands
+ //
+ this.GBCommands.Controls.Add(this.tableLayoutPanel6);
+ resources.ApplyResources(this.GBCommands, "GBCommands");
+ this.GBCommands.Name = "GBCommands";
+ //
+ // tableLayoutPanel6
+ //
+ resources.ApplyResources(this.tableLayoutPanel6, "tableLayoutPanel6");
+ this.tableLayoutPanel6.Controls.Add(this.TxtManualCommand, 0, 0);
+ this.tableLayoutPanel6.Controls.Add(this.CmdLog, 0, 1);
+ this.tableLayoutPanel6.Name = "tableLayoutPanel6";
+ //
+ // TxtManualCommand
+ //
+ resources.ApplyResources(this.TxtManualCommand, "TxtManualCommand");
+ this.TxtManualCommand.Name = "TxtManualCommand";
+ this.TxtManualCommand.WaterMarkActiveForeColor = System.Drawing.Color.Gray;
+ this.TxtManualCommand.WaterMarkFont = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.TxtManualCommand.WaterMarkForeColor = System.Drawing.Color.LightGray;
+ this.TxtManualCommand.CommandEntered += new LaserGRBL.UserControls.GrblTextBox.CommandEnteredDlg(this.TxtManualCommandCommandEntered);
+ this.TxtManualCommand.Enter += new System.EventHandler(this.TxtManualCommand_Enter);
+ this.TxtManualCommand.Leave += new System.EventHandler(this.TxtManualCommand_Leave);
+ //
+ // CmdLog
+ //
+ this.CmdLog.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ resources.ApplyResources(this.CmdLog, "CmdLog");
+ this.CmdLog.Name = "CmdLog";
+ this.CmdLog.TabStop = false;
+ //
+ // GBFile
+ //
+ resources.ApplyResources(this.GBFile, "GBFile");
+ this.GBFile.Controls.Add(this.tableLayoutPanel5);
+ this.GBFile.Name = "GBFile";
+ //
+ // tableLayoutPanel5
+ //
+ resources.ApplyResources(this.tableLayoutPanel5, "tableLayoutPanel5");
+ this.tableLayoutPanel5.Controls.Add(this.BtnFileAppend2, 3, 2);
+ this.tableLayoutPanel5.Controls.Add(this.BtnFileAppend1, 3, 1);
+ this.tableLayoutPanel5.Controls.Add(this.BtnFileAppend, 3, 0);
+ this.tableLayoutPanel5.Controls.Add(this.chkFileEnable2, 6, 2);
+ this.tableLayoutPanel5.Controls.Add(this.chkFileEnable1, 6, 1);
+ this.tableLayoutPanel5.Controls.Add(this.UDLoopCounter2, 5, 2);
+ this.tableLayoutPanel5.Controls.Add(this.UDLoopCounter1, 5, 1);
+ this.tableLayoutPanel5.Controls.Add(this.btnFileSetup2, 4, 2);
+ this.tableLayoutPanel5.Controls.Add(this.btnFileSetup1, 4, 1);
+ this.tableLayoutPanel5.Controls.Add(this.btnFileSetup, 4, 0);
+ this.tableLayoutPanel5.Controls.Add(this.BtnOpen2, 2, 2);
+ this.tableLayoutPanel5.Controls.Add(this.TbFileName2, 1, 2);
+ this.tableLayoutPanel5.Controls.Add(this.BtnOpen1, 2, 1);
+ this.tableLayoutPanel5.Controls.Add(this.TbFileName1, 1, 1);
+ this.tableLayoutPanel5.Controls.Add(this.LblFilename, 0, 0);
+ this.tableLayoutPanel5.Controls.Add(this.TbFileName, 1, 0);
+ this.tableLayoutPanel5.Controls.Add(this.PB, 1, 3);
+ this.tableLayoutPanel5.Controls.Add(this.BtnOpen, 2, 0);
+ this.tableLayoutPanel5.Controls.Add(this.LblFilename1, 0, 1);
+ this.tableLayoutPanel5.Controls.Add(this.UDLoopCounter, 5, 0);
+ this.tableLayoutPanel5.Controls.Add(this.BtnRunProgram, 5, 3);
+ this.tableLayoutPanel5.Controls.Add(this.BtnAbortProgram, 6, 3);
+ this.tableLayoutPanel5.Controls.Add(this.LblFilename2, 0, 2);
+ this.tableLayoutPanel5.Controls.Add(this.LblProgress, 0, 3);
+ this.tableLayoutPanel5.Controls.Add(this.chkFileEnable, 6, 0);
+ this.tableLayoutPanel5.Name = "tableLayoutPanel5";
+ //
+ // BtnFileAppend2
+ //
+ this.BtnFileAppend2.AltImage = null;
+ this.BtnFileAppend2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
+ this.BtnFileAppend2.Caption = null;
+ this.BtnFileAppend2.Coloration = System.Drawing.Color.Empty;
+ resources.ApplyResources(this.BtnFileAppend2, "BtnFileAppend2");
+ this.BtnFileAppend2.Image = ((System.Drawing.Image)(resources.GetObject("BtnFileAppend2.Image")));
+ this.BtnFileAppend2.Name = "BtnFileAppend2";
+ this.BtnFileAppend2.SizingMode = LaserGRBL.UserControls.ImageButton.SizingModes.FixedSize;
+ this.BtnFileAppend2.TabStop = false;
+ this.TT.SetToolTip(this.BtnFileAppend2, resources.GetString("BtnFileAppend2.ToolTip"));
+ this.BtnFileAppend2.UseAltImage = false;
+ this.BtnFileAppend2.Click += new System.EventHandler(this.BtnFileAppend2_Click);
+ //
+ // BtnFileAppend1
+ //
+ this.BtnFileAppend1.AltImage = null;
+ this.BtnFileAppend1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
+ this.BtnFileAppend1.Caption = null;
+ this.BtnFileAppend1.Coloration = System.Drawing.Color.Empty;
+ resources.ApplyResources(this.BtnFileAppend1, "BtnFileAppend1");
+ this.BtnFileAppend1.Image = ((System.Drawing.Image)(resources.GetObject("BtnFileAppend1.Image")));
+ this.BtnFileAppend1.Name = "BtnFileAppend1";
+ this.BtnFileAppend1.SizingMode = LaserGRBL.UserControls.ImageButton.SizingModes.FixedSize;
+ this.BtnFileAppend1.TabStop = false;
+ this.TT.SetToolTip(this.BtnFileAppend1, resources.GetString("BtnFileAppend1.ToolTip"));
+ this.BtnFileAppend1.UseAltImage = false;
+ this.BtnFileAppend1.Click += new System.EventHandler(this.BtnFileAppend1_Click);
+ //
+ // BtnFileAppend
+ //
+ this.BtnFileAppend.AltImage = null;
+ this.BtnFileAppend.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
+ this.BtnFileAppend.Caption = null;
+ this.BtnFileAppend.Coloration = System.Drawing.Color.Empty;
+ resources.ApplyResources(this.BtnFileAppend, "BtnFileAppend");
+ this.BtnFileAppend.Image = ((System.Drawing.Image)(resources.GetObject("BtnFileAppend.Image")));
+ this.BtnFileAppend.Name = "BtnFileAppend";
+ this.BtnFileAppend.SizingMode = LaserGRBL.UserControls.ImageButton.SizingModes.FixedSize;
+ this.BtnFileAppend.TabStop = false;
+ this.TT.SetToolTip(this.BtnFileAppend, resources.GetString("BtnFileAppend.ToolTip"));
+ this.BtnFileAppend.UseAltImage = false;
+ this.BtnFileAppend.Click += new System.EventHandler(this.BtnFileAppend_Click);
+ //
+ // chkFileEnable2
+ //
+ resources.ApplyResources(this.chkFileEnable2, "chkFileEnable2");
+ this.chkFileEnable2.Checked = true;
+ this.chkFileEnable2.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.chkFileEnable2.Name = "chkFileEnable2";
+ this.chkFileEnable2.UseVisualStyleBackColor = true;
+ this.chkFileEnable2.CheckedChanged += new System.EventHandler(this.chkFileEnable2_CheckedChanged);
+ //
+ // chkFileEnable1
+ //
+ resources.ApplyResources(this.chkFileEnable1, "chkFileEnable1");
+ this.chkFileEnable1.Checked = true;
+ this.chkFileEnable1.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.chkFileEnable1.Name = "chkFileEnable1";
+ this.chkFileEnable1.UseVisualStyleBackColor = true;
+ this.chkFileEnable1.CheckedChanged += new System.EventHandler(this.chkFileEnable1_CheckedChanged);
+ //
+ // UDLoopCounter2
+ //
+ resources.ApplyResources(this.UDLoopCounter2, "UDLoopCounter2");
+ this.UDLoopCounter2.Maximum = new decimal(new int[] {
99,
0,
0,
0});
- this.UDLoopCounter.Minimum = new decimal(new int[] {
+ this.UDLoopCounter2.Minimum = new decimal(new int[] {
1,
0,
0,
0});
- this.UDLoopCounter.Name = "UDLoopCounter";
- this.TT.SetToolTip(this.UDLoopCounter, resources.GetString("UDLoopCounter.ToolTip"));
- this.UDLoopCounter.Value = new decimal(new int[] {
+ this.UDLoopCounter2.Name = "UDLoopCounter2";
+ this.TT.SetToolTip(this.UDLoopCounter2, resources.GetString("UDLoopCounter2.ToolTip"));
+ this.UDLoopCounter2.Value = new decimal(new int[] {
1,
0,
0,
0});
- this.UDLoopCounter.ValueChanged += new System.EventHandler(this.UDLoopCounter_ValueChanged);
- //
- // BtnAbortProgram
- //
- this.BtnAbortProgram.AltImage = null;
- resources.ApplyResources(this.BtnAbortProgram, "BtnAbortProgram");
- this.BtnAbortProgram.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
- this.BtnAbortProgram.Caption = null;
- this.BtnAbortProgram.Coloration = System.Drawing.Color.Empty;
- this.BtnAbortProgram.Image = ((System.Drawing.Image)(resources.GetObject("BtnAbortProgram.Image")));
- this.BtnAbortProgram.Name = "BtnAbortProgram";
- this.BtnAbortProgram.SizingMode = LaserGRBL.UserControls.ImageButton.SizingModes.FixedSize;
- this.BtnAbortProgram.TabStop = false;
- this.TT.SetToolTip(this.BtnAbortProgram, resources.GetString("BtnAbortProgram.ToolTip"));
- this.BtnAbortProgram.UseAltImage = false;
- this.BtnAbortProgram.Click += new System.EventHandler(this.BtnAbortProgram_Click);
- //
- // GBConnection
- //
- resources.ApplyResources(this.GBConnection, "GBConnection");
- this.GBConnection.Controls.Add(this.tableLayoutPanel4);
- this.GBConnection.Name = "GBConnection";
- //
- // tableLayoutPanel4
- //
- resources.ApplyResources(this.tableLayoutPanel4, "tableLayoutPanel4");
- this.tableLayoutPanel4.Controls.Add(this.LblEmulator, 0, 2);
- this.tableLayoutPanel4.Controls.Add(this.LblComPort, 0, 0);
- this.tableLayoutPanel4.Controls.Add(this.CBPort, 1, 0);
- this.tableLayoutPanel4.Controls.Add(this.LblBaudRate, 2, 0);
- this.tableLayoutPanel4.Controls.Add(this.CBSpeed, 3, 0);
- this.tableLayoutPanel4.Controls.Add(this.LblAddress, 0, 1);
- this.tableLayoutPanel4.Controls.Add(this.TxtAddress, 1, 1);
- this.tableLayoutPanel4.Controls.Add(this.TxtEmulator, 1, 2);
- this.tableLayoutPanel4.Controls.Add(this.BtnConnectDisconnect, 4, 0);
- this.tableLayoutPanel4.Name = "tableLayoutPanel4";
- //
- // LblEmulator
- //
- resources.ApplyResources(this.LblEmulator, "LblEmulator");
- this.LblEmulator.Name = "LblEmulator";
- //
- // LblComPort
- //
- resources.ApplyResources(this.LblComPort, "LblComPort");
- this.LblComPort.Name = "LblComPort";
- //
- // CBPort
- //
- resources.ApplyResources(this.CBPort, "CBPort");
- this.CBPort.FormattingEnabled = true;
- this.CBPort.Name = "CBPort";
- this.CBPort.SelectedIndexChanged += new System.EventHandler(this.CBPort_SelectedIndexChanged);
- this.CBPort.TextChanged += new System.EventHandler(this.CBPort_TextChanged);
- //
- // LblBaudRate
- //
- resources.ApplyResources(this.LblBaudRate, "LblBaudRate");
- this.LblBaudRate.Name = "LblBaudRate";
- //
- // CBSpeed
- //
- resources.ApplyResources(this.CBSpeed, "CBSpeed");
- this.CBSpeed.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.CBSpeed.FormattingEnabled = true;
- this.CBSpeed.Name = "CBSpeed";
- this.CBSpeed.SelectedIndexChanged += new System.EventHandler(this.CBSpeed_SelectedIndexChanged);
- //
- // LblAddress
- //
- resources.ApplyResources(this.LblAddress, "LblAddress");
- this.LblAddress.Name = "LblAddress";
- //
- // TxtAddress
- //
- resources.ApplyResources(this.TxtAddress, "TxtAddress");
- this.TxtAddress.BackColor = System.Drawing.SystemColors.Control;
- this.tableLayoutPanel4.SetColumnSpan(this.TxtAddress, 3);
- this.TxtAddress.ForeColor = System.Drawing.SystemColors.ControlText;
- this.TxtAddress.Name = "TxtAddress";
- this.TxtAddress.TextChanged += new System.EventHandler(this.TxtHostName_TextChanged);
- //
- // TxtEmulator
- //
- resources.ApplyResources(this.TxtEmulator, "TxtEmulator");
- this.tableLayoutPanel4.SetColumnSpan(this.TxtEmulator, 3);
- this.TxtEmulator.Name = "TxtEmulator";
- //
- // BtnConnectDisconnect
- //
- this.BtnConnectDisconnect.AltImage = ((System.Drawing.Image)(resources.GetObject("BtnConnectDisconnect.AltImage")));
- resources.ApplyResources(this.BtnConnectDisconnect, "BtnConnectDisconnect");
- this.BtnConnectDisconnect.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
- this.BtnConnectDisconnect.Caption = null;
- this.BtnConnectDisconnect.Coloration = System.Drawing.Color.Empty;
- this.BtnConnectDisconnect.Image = ((System.Drawing.Image)(resources.GetObject("BtnConnectDisconnect.Image")));
- this.BtnConnectDisconnect.Name = "BtnConnectDisconnect";
- this.tableLayoutPanel4.SetRowSpan(this.BtnConnectDisconnect, 3);
- this.BtnConnectDisconnect.SizingMode = LaserGRBL.UserControls.ImageButton.SizingModes.StretchImage;
- this.BtnConnectDisconnect.TabStop = false;
- this.TT.SetToolTip(this.BtnConnectDisconnect, resources.GetString("BtnConnectDisconnect.ToolTip"));
- this.BtnConnectDisconnect.UseAltImage = false;
- this.BtnConnectDisconnect.Click += new System.EventHandler(this.BtnConnectDisconnectClick);
- //
- // ConnectLogForm
- //
- resources.ApplyResources(this, "$this");
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.Controls.Add(this.tableLayoutPanel1);
- this.Name = "ConnectLogForm";
- this.tableLayoutPanel1.ResumeLayout(false);
- this.tableLayoutPanel1.PerformLayout();
- this.GBCommands.ResumeLayout(false);
- this.tableLayoutPanel6.ResumeLayout(false);
- this.tableLayoutPanel6.PerformLayout();
- this.GBFile.ResumeLayout(false);
- this.GBFile.PerformLayout();
- this.tableLayoutPanel5.ResumeLayout(false);
- this.tableLayoutPanel5.PerformLayout();
- ((System.ComponentModel.ISupportInitialize)(this.UDLoopCounter)).EndInit();
- this.GBConnection.ResumeLayout(false);
- this.GBConnection.PerformLayout();
- this.tableLayoutPanel4.ResumeLayout(false);
- this.tableLayoutPanel4.PerformLayout();
- this.ResumeLayout(false);
+ this.UDLoopCounter2.ValueChanged += new System.EventHandler(this.UDLoopCounter2_ValueChanged);
+ //
+ // UDLoopCounter1
+ //
+ resources.ApplyResources(this.UDLoopCounter1, "UDLoopCounter1");
+ this.UDLoopCounter1.Maximum = new decimal(new int[] {
+ 99,
+ 0,
+ 0,
+ 0});
+ this.UDLoopCounter1.Minimum = new decimal(new int[] {
+ 1,
+ 0,
+ 0,
+ 0});
+ this.UDLoopCounter1.Name = "UDLoopCounter1";
+ this.TT.SetToolTip(this.UDLoopCounter1, resources.GetString("UDLoopCounter1.ToolTip"));
+ this.UDLoopCounter1.Value = new decimal(new int[] {
+ 1,
+ 0,
+ 0,
+ 0});
+ this.UDLoopCounter1.ValueChanged += new System.EventHandler(this.UDLoopCounter1_ValueChanged);
+ //
+ // btnFileSetup2
+ //
+ this.btnFileSetup2.AltImage = null;
+ this.btnFileSetup2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
+ this.btnFileSetup2.Caption = null;
+ this.btnFileSetup2.Coloration = System.Drawing.Color.Empty;
+ resources.ApplyResources(this.btnFileSetup2, "btnFileSetup2");
+ this.btnFileSetup2.Image = ((System.Drawing.Image)(resources.GetObject("btnFileSetup2.Image")));
+ this.btnFileSetup2.Name = "btnFileSetup2";
+ this.btnFileSetup2.SizingMode = LaserGRBL.UserControls.ImageButton.SizingModes.FixedSize;
+ this.btnFileSetup2.TabStop = false;
+ this.TT.SetToolTip(this.btnFileSetup2, resources.GetString("btnFileSetup2.ToolTip"));
+ this.btnFileSetup2.UseAltImage = false;
+ this.btnFileSetup2.Click += new System.EventHandler(this.BtnReOpen2_Click);
+ //
+ // btnFileSetup1
+ //
+ this.btnFileSetup1.AltImage = null;
+ this.btnFileSetup1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
+ this.btnFileSetup1.Caption = null;
+ this.btnFileSetup1.Coloration = System.Drawing.Color.Empty;
+ resources.ApplyResources(this.btnFileSetup1, "btnFileSetup1");
+ this.btnFileSetup1.Image = ((System.Drawing.Image)(resources.GetObject("btnFileSetup1.Image")));
+ this.btnFileSetup1.Name = "btnFileSetup1";
+ this.btnFileSetup1.SizingMode = LaserGRBL.UserControls.ImageButton.SizingModes.FixedSize;
+ this.btnFileSetup1.TabStop = false;
+ this.TT.SetToolTip(this.btnFileSetup1, resources.GetString("btnFileSetup1.ToolTip"));
+ this.btnFileSetup1.UseAltImage = false;
+ this.btnFileSetup1.Click += new System.EventHandler(this.BtnReOpen1_Click);
+ //
+ // btnFileSetup
+ //
+ this.btnFileSetup.AltImage = null;
+ this.btnFileSetup.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
+ this.btnFileSetup.Caption = null;
+ this.btnFileSetup.Coloration = System.Drawing.Color.Empty;
+ resources.ApplyResources(this.btnFileSetup, "btnFileSetup");
+ this.btnFileSetup.Image = ((System.Drawing.Image)(resources.GetObject("btnFileSetup.Image")));
+ this.btnFileSetup.Name = "btnFileSetup";
+ this.btnFileSetup.SizingMode = LaserGRBL.UserControls.ImageButton.SizingModes.FixedSize;
+ this.btnFileSetup.TabStop = false;
+ this.TT.SetToolTip(this.btnFileSetup, resources.GetString("btnFileSetup.ToolTip"));
+ this.btnFileSetup.UseAltImage = false;
+ this.btnFileSetup.Click += new System.EventHandler(this.BtnReOpenClick);
+ //
+ // BtnOpen2
+ //
+ this.BtnOpen2.AltImage = null;
+ this.BtnOpen2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
+ this.BtnOpen2.Caption = null;
+ this.BtnOpen2.Coloration = System.Drawing.Color.Empty;
+ resources.ApplyResources(this.BtnOpen2, "BtnOpen2");
+ this.BtnOpen2.Image = ((System.Drawing.Image)(resources.GetObject("BtnOpen2.Image")));
+ this.BtnOpen2.Name = "BtnOpen2";
+ this.BtnOpen2.SizingMode = LaserGRBL.UserControls.ImageButton.SizingModes.FixedSize;
+ this.BtnOpen2.TabStop = false;
+ this.TT.SetToolTip(this.BtnOpen2, resources.GetString("BtnOpen2.ToolTip"));
+ this.BtnOpen2.UseAltImage = false;
+ this.BtnOpen2.Click += new System.EventHandler(this.BtnOpen2_Click);
+ //
+ // TbFileName2
+ //
+ resources.ApplyResources(this.TbFileName2, "TbFileName2");
+ this.TbFileName2.Name = "TbFileName2";
+ this.TbFileName2.ReadOnly = true;
+ this.TbFileName2.TabStop = false;
+ this.TbFileName2.MouseEnter += new System.EventHandler(this.TbFileName2_MouseEnter);
+ this.TbFileName2.MouseLeave += new System.EventHandler(this.TbFileName2_MouseLeave);
+ //
+ // BtnOpen1
+ //
+ this.BtnOpen1.AltImage = null;
+ this.BtnOpen1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
+ this.BtnOpen1.Caption = null;
+ this.BtnOpen1.Coloration = System.Drawing.Color.Empty;
+ resources.ApplyResources(this.BtnOpen1, "BtnOpen1");
+ this.BtnOpen1.Image = ((System.Drawing.Image)(resources.GetObject("BtnOpen1.Image")));
+ this.BtnOpen1.Name = "BtnOpen1";
+ this.BtnOpen1.SizingMode = LaserGRBL.UserControls.ImageButton.SizingModes.FixedSize;
+ this.BtnOpen1.TabStop = false;
+ this.TT.SetToolTip(this.BtnOpen1, resources.GetString("BtnOpen1.ToolTip"));
+ this.BtnOpen1.UseAltImage = false;
+ this.BtnOpen1.Click += new System.EventHandler(this.BtnOpen1_Click);
+ //
+ // TbFileName1
+ //
+ resources.ApplyResources(this.TbFileName1, "TbFileName1");
+ this.TbFileName1.Name = "TbFileName1";
+ this.TbFileName1.ReadOnly = true;
+ this.TbFileName1.TabStop = false;
+ this.TbFileName1.MouseEnter += new System.EventHandler(this.TbFileName1_MouseEnter);
+ this.TbFileName1.MouseLeave += new System.EventHandler(this.TbFileName1_MouseLeave);
+ //
+ // LblFilename
+ //
+ resources.ApplyResources(this.LblFilename, "LblFilename");
+ this.LblFilename.Name = "LblFilename";
+ //
+ // TbFileName
+ //
+ resources.ApplyResources(this.TbFileName, "TbFileName");
+ this.TbFileName.Name = "TbFileName";
+ this.TbFileName.ReadOnly = true;
+ this.TbFileName.TabStop = false;
+ this.TbFileName.MouseEnter += new System.EventHandler(this.TbFileName_MouseEnter);
+ this.TbFileName.MouseLeave += new System.EventHandler(this.TbFileName_MouseLeave);
+ //
+ // PB
+ //
+ this.PB.BarColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(128)))));
+ this.PB.BorderColor = System.Drawing.Color.Black;
+ this.tableLayoutPanel5.SetColumnSpan(this.PB, 4);
+ resources.ApplyResources(this.PB, "PB");
+ this.PB.DrawProgressString = true;
+ this.PB.FillColor = System.Drawing.Color.White;
+ this.PB.FillStyle = LaserGRBL.UserControls.FillStyles.Solid;
+ this.PB.ForeColor = System.Drawing.Color.Black;
+ this.PB.Maximum = 100D;
+ this.PB.Minimum = 0D;
+ this.PB.Name = "PB";
+ this.PB.PercString = null;
+ this.PB.ProgressStringDecimals = 0;
+ this.PB.Reverse = false;
+ this.PB.Step = 10D;
+ this.PB.ThrowExceprion = false;
+ this.PB.Value = 0D;
+ this.PB.Load += new System.EventHandler(this.PB_Load);
+ //
+ // BtnOpen
+ //
+ this.BtnOpen.AltImage = null;
+ this.BtnOpen.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
+ this.BtnOpen.Caption = null;
+ this.BtnOpen.Coloration = System.Drawing.Color.Empty;
+ resources.ApplyResources(this.BtnOpen, "BtnOpen");
+ this.BtnOpen.Image = ((System.Drawing.Image)(resources.GetObject("BtnOpen.Image")));
+ this.BtnOpen.Name = "BtnOpen";
+ this.BtnOpen.SizingMode = LaserGRBL.UserControls.ImageButton.SizingModes.FixedSize;
+ this.BtnOpen.TabStop = false;
+ this.TT.SetToolTip(this.BtnOpen, resources.GetString("BtnOpen.ToolTip"));
+ this.BtnOpen.UseAltImage = false;
+ this.BtnOpen.Click += new System.EventHandler(this.BtnOpenClick);
+ //
+ // LblFilename1
+ //
+ resources.ApplyResources(this.LblFilename1, "LblFilename1");
+ this.LblFilename1.Name = "LblFilename1";
+ //
+ // UDLoopCounter
+ //
+ resources.ApplyResources(this.UDLoopCounter, "UDLoopCounter");
+ this.UDLoopCounter.Maximum = new decimal(new int[] {
+ 99,
+ 0,
+ 0,
+ 0});
+ this.UDLoopCounter.Minimum = new decimal(new int[] {
+ 1,
+ 0,
+ 0,
+ 0});
+ this.UDLoopCounter.Name = "UDLoopCounter";
+ this.TT.SetToolTip(this.UDLoopCounter, resources.GetString("UDLoopCounter.ToolTip"));
+ this.UDLoopCounter.Value = new decimal(new int[] {
+ 1,
+ 0,
+ 0,
+ 0});
+ this.UDLoopCounter.ValueChanged += new System.EventHandler(this.UDLoopCounter_ValueChanged);
+ //
+ // BtnRunProgram
+ //
+ this.BtnRunProgram.AltImage = null;
+ this.BtnRunProgram.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
+ this.BtnRunProgram.Caption = null;
+ this.BtnRunProgram.Coloration = System.Drawing.Color.Empty;
+ resources.ApplyResources(this.BtnRunProgram, "BtnRunProgram");
+ this.BtnRunProgram.Image = ((System.Drawing.Image)(resources.GetObject("BtnRunProgram.Image")));
+ this.BtnRunProgram.Name = "BtnRunProgram";
+ this.BtnRunProgram.SizingMode = LaserGRBL.UserControls.ImageButton.SizingModes.FixedSize;
+ this.BtnRunProgram.TabStop = false;
+ this.TT.SetToolTip(this.BtnRunProgram, resources.GetString("BtnRunProgram.ToolTip"));
+ this.BtnRunProgram.UseAltImage = false;
+ this.BtnRunProgram.Click += new System.EventHandler(this.BtnRunProgramClick);
+ //
+ // BtnAbortProgram
+ //
+ this.BtnAbortProgram.AltImage = null;
+ resources.ApplyResources(this.BtnAbortProgram, "BtnAbortProgram");
+ this.BtnAbortProgram.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
+ this.BtnAbortProgram.Caption = null;
+ this.BtnAbortProgram.Coloration = System.Drawing.Color.Empty;
+ this.BtnAbortProgram.Image = ((System.Drawing.Image)(resources.GetObject("BtnAbortProgram.Image")));
+ this.BtnAbortProgram.Name = "BtnAbortProgram";
+ this.BtnAbortProgram.SizingMode = LaserGRBL.UserControls.ImageButton.SizingModes.FixedSize;
+ this.BtnAbortProgram.TabStop = false;
+ this.TT.SetToolTip(this.BtnAbortProgram, resources.GetString("BtnAbortProgram.ToolTip"));
+ this.BtnAbortProgram.UseAltImage = false;
+ this.BtnAbortProgram.Click += new System.EventHandler(this.BtnAbortProgram_Click);
+ //
+ // LblFilename2
+ //
+ resources.ApplyResources(this.LblFilename2, "LblFilename2");
+ this.LblFilename2.Name = "LblFilename2";
+ //
+ // LblProgress
+ //
+ resources.ApplyResources(this.LblProgress, "LblProgress");
+ this.LblProgress.Name = "LblProgress";
+ //
+ // chkFileEnable
+ //
+ resources.ApplyResources(this.chkFileEnable, "chkFileEnable");
+ this.chkFileEnable.Checked = true;
+ this.chkFileEnable.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.chkFileEnable.Name = "chkFileEnable";
+ this.chkFileEnable.UseVisualStyleBackColor = true;
+ this.chkFileEnable.CheckedChanged += new System.EventHandler(this.chkFileEnable_CheckedChanged);
+ //
+ // GBConnection
+ //
+ resources.ApplyResources(this.GBConnection, "GBConnection");
+ this.GBConnection.Controls.Add(this.tableLayoutPanel4);
+ this.GBConnection.Name = "GBConnection";
+ //
+ // tableLayoutPanel4
+ //
+ resources.ApplyResources(this.tableLayoutPanel4, "tableLayoutPanel4");
+ this.tableLayoutPanel4.Controls.Add(this.LblEmulator, 0, 2);
+ this.tableLayoutPanel4.Controls.Add(this.LblComPort, 0, 0);
+ this.tableLayoutPanel4.Controls.Add(this.CBPort, 1, 0);
+ this.tableLayoutPanel4.Controls.Add(this.LblBaudRate, 2, 0);
+ this.tableLayoutPanel4.Controls.Add(this.CBSpeed, 3, 0);
+ this.tableLayoutPanel4.Controls.Add(this.LblAddress, 0, 1);
+ this.tableLayoutPanel4.Controls.Add(this.TxtAddress, 1, 1);
+ this.tableLayoutPanel4.Controls.Add(this.TxtEmulator, 1, 2);
+ this.tableLayoutPanel4.Controls.Add(this.BtnConnectDisconnect, 4, 0);
+ this.tableLayoutPanel4.Name = "tableLayoutPanel4";
+ //
+ // LblEmulator
+ //
+ resources.ApplyResources(this.LblEmulator, "LblEmulator");
+ this.LblEmulator.Name = "LblEmulator";
+ //
+ // LblComPort
+ //
+ resources.ApplyResources(this.LblComPort, "LblComPort");
+ this.LblComPort.Name = "LblComPort";
+ //
+ // CBPort
+ //
+ resources.ApplyResources(this.CBPort, "CBPort");
+ this.CBPort.FormattingEnabled = true;
+ this.CBPort.Name = "CBPort";
+ this.CBPort.SelectedIndexChanged += new System.EventHandler(this.CBPort_SelectedIndexChanged);
+ this.CBPort.TextChanged += new System.EventHandler(this.CBPort_TextChanged);
+ //
+ // LblBaudRate
+ //
+ resources.ApplyResources(this.LblBaudRate, "LblBaudRate");
+ this.LblBaudRate.Name = "LblBaudRate";
+ //
+ // CBSpeed
+ //
+ resources.ApplyResources(this.CBSpeed, "CBSpeed");
+ this.CBSpeed.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.CBSpeed.FormattingEnabled = true;
+ this.CBSpeed.Name = "CBSpeed";
+ this.CBSpeed.SelectedIndexChanged += new System.EventHandler(this.CBSpeed_SelectedIndexChanged);
+ //
+ // LblAddress
+ //
+ resources.ApplyResources(this.LblAddress, "LblAddress");
+ this.LblAddress.Name = "LblAddress";
+ //
+ // TxtAddress
+ //
+ resources.ApplyResources(this.TxtAddress, "TxtAddress");
+ this.TxtAddress.BackColor = System.Drawing.SystemColors.Control;
+ this.tableLayoutPanel4.SetColumnSpan(this.TxtAddress, 3);
+ this.TxtAddress.ForeColor = System.Drawing.SystemColors.ControlText;
+ this.TxtAddress.Name = "TxtAddress";
+ this.TxtAddress.TextChanged += new System.EventHandler(this.TxtHostName_TextChanged);
+ //
+ // TxtEmulator
+ //
+ resources.ApplyResources(this.TxtEmulator, "TxtEmulator");
+ this.tableLayoutPanel4.SetColumnSpan(this.TxtEmulator, 3);
+ this.TxtEmulator.Name = "TxtEmulator";
+ //
+ // BtnConnectDisconnect
+ //
+ this.BtnConnectDisconnect.AltImage = ((System.Drawing.Image)(resources.GetObject("BtnConnectDisconnect.AltImage")));
+ resources.ApplyResources(this.BtnConnectDisconnect, "BtnConnectDisconnect");
+ this.BtnConnectDisconnect.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
+ this.BtnConnectDisconnect.Caption = null;
+ this.BtnConnectDisconnect.Coloration = System.Drawing.Color.Empty;
+ this.BtnConnectDisconnect.Image = ((System.Drawing.Image)(resources.GetObject("BtnConnectDisconnect.Image")));
+ this.BtnConnectDisconnect.Name = "BtnConnectDisconnect";
+ this.tableLayoutPanel4.SetRowSpan(this.BtnConnectDisconnect, 3);
+ this.BtnConnectDisconnect.SizingMode = LaserGRBL.UserControls.ImageButton.SizingModes.StretchImage;
+ this.BtnConnectDisconnect.TabStop = false;
+ this.TT.SetToolTip(this.BtnConnectDisconnect, resources.GetString("BtnConnectDisconnect.ToolTip"));
+ this.BtnConnectDisconnect.UseAltImage = false;
+ this.BtnConnectDisconnect.Click += new System.EventHandler(this.BtnConnectDisconnectClick);
+ //
+ // ConnectLogForm
+ //
+ resources.ApplyResources(this, "$this");
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.tableLayoutPanel1);
+ this.Name = "ConnectLogForm";
+ this.tableLayoutPanel1.ResumeLayout(false);
+ this.tableLayoutPanel1.PerformLayout();
+ this.GBCommands.ResumeLayout(false);
+ this.tableLayoutPanel6.ResumeLayout(false);
+ this.tableLayoutPanel6.PerformLayout();
+ this.GBFile.ResumeLayout(false);
+ this.GBFile.PerformLayout();
+ this.tableLayoutPanel5.ResumeLayout(false);
+ this.tableLayoutPanel5.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.UDLoopCounter2)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.UDLoopCounter1)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.UDLoopCounter)).EndInit();
+ this.GBConnection.ResumeLayout(false);
+ this.GBConnection.PerformLayout();
+ this.tableLayoutPanel4.ResumeLayout(false);
+ this.tableLayoutPanel4.PerformLayout();
+ this.ResumeLayout(false);
}
@@ -374,9 +631,26 @@ private void InitializeComponent()
private System.Windows.Forms.TextBox TxtAddress;
private System.Windows.Forms.Panel GBFile;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel5;
- private System.Windows.Forms.NumericUpDown UDLoopCounter;
private System.Windows.Forms.Label LblEmulator;
private System.Windows.Forms.TextBox TxtEmulator;
private UserControls.ImageButton BtnAbortProgram;
+ private System.Windows.Forms.Label LblFilename1;
+ private UserControls.ImageButton BtnOpen1;
+ private System.Windows.Forms.TextBox TbFileName1;
+ private UserControls.ImageButton btnFileSetup2;
+ private UserControls.ImageButton btnFileSetup1;
+ private UserControls.ImageButton btnFileSetup;
+ private UserControls.ImageButton BtnOpen2;
+ private System.Windows.Forms.TextBox TbFileName2;
+ private System.Windows.Forms.Label LblFilename2;
+ private System.Windows.Forms.CheckBox chkFileEnable2;
+ private System.Windows.Forms.CheckBox chkFileEnable1;
+ private System.Windows.Forms.CheckBox chkFileEnable;
+ private UserControls.ImageButton BtnFileAppend;
+ private UserControls.ImageButton BtnFileAppend2;
+ private UserControls.ImageButton BtnFileAppend1;
+ public System.Windows.Forms.NumericUpDown UDLoopCounter;
+ public System.Windows.Forms.NumericUpDown UDLoopCounter2;
+ public System.Windows.Forms.NumericUpDown UDLoopCounter1;
}
}
diff --git a/LaserGRBL/ConnectLogForm.cs b/LaserGRBL/ConnectLogForm.cs
index ed4e2b26..1ab60691 100644
--- a/LaserGRBL/ConnectLogForm.cs
+++ b/LaserGRBL/ConnectLogForm.cs
@@ -19,7 +19,7 @@ public partial class ConnectLogForm : System.Windows.Forms.UserControl
public ComWrapper.WrapperType currentWrapper;
GrblCore Core;
- private string mLoadedFileName;
+ private string[] mLoadedFileName = new string[3];
public ConnectLogForm()
{
@@ -31,7 +31,7 @@ public void SetCore(GrblCore core)
{
Core = core;
Core.OnFileLoaded += OnFileLoaded;
- Core.OnLoopCountChange += OnLoopCountChanged;
+ core.OnLoopCountChange += OnLoopCountChanged;
CmdLog.SetCom(core);
@@ -46,16 +46,17 @@ public void SetCore(GrblCore core)
TimerUpdate();
}
- void OnLoopCountChanged(decimal current)
+ void OnLoopCountChanged(decimal current, int nLayer)
{
if (InvokeRequired)
{
- Invoke(new GrblCore.dlgOnLoopCountChange(OnLoopCountChanged), current);
+ Invoke(new GrblCore.dlgOnLoopCountChange(OnLoopCountChanged), current, nLayer);
}
else
{
- if (UDLoopCounter.Value != current)
- UDLoopCounter.Value = current;
+ if (nLayer == 0) if (UDLoopCounter.Value != current) UDLoopCounter.Value = current;
+ if (nLayer == 1) if (UDLoopCounter1.Value != current) UDLoopCounter1.Value = current;
+ if (nLayer == 2) if (UDLoopCounter2.Value != current) UDLoopCounter2.Value = current;
}
}
@@ -69,16 +70,18 @@ private void RestoreConf()
TxtAddress.Text = Settings.GetObject("Websocket URL", "ws://127.0.0.1:81/");
}
- void OnFileLoaded(long elapsed, string filename)
+ void OnFileLoaded(long elapsed, string filename, int nLayer)
{
if (InvokeRequired)
{
- Invoke(new GrblFile.OnFileLoadedDlg(OnFileLoaded), elapsed, filename);
+ Invoke(new GrblFile.OnFileLoadedDlg(OnFileLoaded), elapsed, filename, nLayer);
}
else
{
- mLoadedFileName = filename;
- TbFileName.Text = System.IO.Path.GetFileName(filename);
+ mLoadedFileName[nLayer] = filename;
+ if (nLayer == 0) TbFileName.Text = System.IO.Path.GetFileName(filename);
+ if (nLayer == 1) TbFileName1.Text = System.IO.Path.GetFileName(filename);
+ if (nLayer == 2) TbFileName2.Text = System.IO.Path.GetFileName(filename);
}
}
@@ -194,6 +197,7 @@ void ApplyConfig()
void BtnOpenClick(object sender, EventArgs e)
{
+ Tools.Project.ClearSettings(0);
Core.OpenFile(ParentForm);
}
@@ -329,7 +333,8 @@ private void ITcpPort_CurrentValueChanged(object sender, int NewValue, bool ByUs
private void UDLoopCounter_ValueChanged(object sender, EventArgs e)
{
- Core.LoopCount = UDLoopCounter.Value;
+ Core.LoopCount(0, (int)UDLoopCounter.Value);
+ ((MainForm)ParentForm).TimerUpdate();
}
internal void OnColorChange()
@@ -350,15 +355,36 @@ private void TxtManualCommand_Leave(object sender, EventArgs e)
private void TbFileName_MouseEnter(object sender, EventArgs e)
{
if (mLoadedFileName != null)
- TT.Show(mLoadedFileName, TbFileName, 5000);
+ TT.Show(mLoadedFileName[0], TbFileName, 5000);
}
private void TbFileName_MouseLeave(object sender, EventArgs e)
{
TT.Hide(TbFileName);
}
+ private void TbFileName1_MouseEnter(object sender, EventArgs e)
+ {
+ if (mLoadedFileName != null)
+ TT.Show(mLoadedFileName[1], TbFileName, 5000);
+ }
+
+ private void TbFileName1_MouseLeave(object sender, EventArgs e)
+ {
+ TT.Hide(TbFileName);
+ }
+
+ private void TbFileName2_MouseEnter(object sender, EventArgs e)
+ {
+ if (mLoadedFileName != null)
+ TT.Show(mLoadedFileName[2], TbFileName, 5000);
+ }
+
+ private void TbFileName2_MouseLeave(object sender, EventArgs e)
+ {
+ TT.Hide(TbFileName);
+ }
- private void BtnAbortProgram_Click(object sender, EventArgs e)
+ private void BtnAbortProgram_Click(object sender, EventArgs e)
{
if (MessageBox.Show(Strings.BoxAbortProgramConfirm, Strings.WarnMessageBoxHeader, MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) == System.Windows.Forms.DialogResult.Yes)
Core.AbortProgram();
@@ -376,6 +402,85 @@ internal void ConfigFromDiscovery(string config)
}
}
+ private void PB_Load(object sender, EventArgs e)
+ {
+
+ }
+
+ private void BtnOpen1_Click(object sender, EventArgs e)
+ {
+ Tools.Project.ClearSettings(1);
+ Core.OpenFile(ParentForm, nLayer: 1);
+ }
+ private void BtnOpen2_Click(object sender, EventArgs e)
+ {
+ Tools.Project.ClearSettings(2);
+ Core.OpenFile(ParentForm, nLayer: 2);
+ }
+
+ private void BtnReOpenClick(object sender, EventArgs e)
+ {
+ Tools.Project.ClearSettings(0);
+ Core.ReOpenFile(ParentForm, 0);
+ }
+
+ private void BtnReOpen1_Click(object sender, EventArgs e)
+ {
+ Tools.Project.ClearSettings(1);
+ Core.ReOpenFile(ParentForm, 1);
+ }
+
+ private void BtnReOpen2_Click(object sender, EventArgs e)
+ {
+ Tools.Project.ClearSettings(2);
+ Core.ReOpenFile(ParentForm, 2);
+ }
+
+ private void UDLoopCounter1_ValueChanged(object sender, EventArgs e)
+ {
+ Core.LoopCount(1, (int)UDLoopCounter1.Value);
+ ((MainForm)ParentForm).TimerUpdate();
+ }
+
+ private void UDLoopCounter2_ValueChanged(object sender, EventArgs e)
+ {
+ Core.LoopCount(2, (int)UDLoopCounter2.Value);
+ ((MainForm)ParentForm).TimerUpdate();
+ }
+
+ private void BtnFileAppend_Click(object sender, EventArgs e)
+ {
+ Core.OpenFile(ParentForm, null, true);
+ }
+
+ private void BtnFileAppend1_Click(object sender, EventArgs e)
+ {
+ Core.OpenFile(ParentForm, null, true, 1);
+ }
+
+ private void BtnFileAppend2_Click(object sender, EventArgs e)
+ {
+ Core.OpenFile(ParentForm, null, true, 2);
+ }
+
+ private void chkFileEnable_CheckedChanged(object sender, EventArgs e)
+ {
+ Core.LayerEnabled(0, chkFileEnable.Checked);
+ ((MainForm)ParentForm).TimerUpdate();
+ }
+
+ private void chkFileEnable1_CheckedChanged(object sender, EventArgs e)
+ {
+ Core.LayerEnabled(1, chkFileEnable1.Checked);
+ ((MainForm)ParentForm).TimerUpdate();
+ }
+
+ private void chkFileEnable2_CheckedChanged(object sender, EventArgs e)
+ {
+ Core.LayerEnabled(2, chkFileEnable2.Checked);
+ ((MainForm)ParentForm).TimerUpdate();
+ }
+
internal void ConfigFromOrtur(string config)
{
if (config != null)
diff --git a/LaserGRBL/ConnectLogForm.it.resx b/LaserGRBL/ConnectLogForm.it.resx
index 0c2e2397..b8f3de33 100644
--- a/LaserGRBL/ConnectLogForm.it.resx
+++ b/LaserGRBL/ConnectLogForm.it.resx
@@ -112,12 +112,12 @@
2.0
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
+
281, 255
@@ -146,7 +146,7 @@
62, 13
- File
+ File (Engrave)
23, 13
@@ -169,7 +169,7 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAJxAIA3kywAAACBjSFJNAABu
- lQAAdA4AAPGBAACFRgAAZO0AAPeGAABJ4gAAHljF0QxvAAAACXBIWXMAAAsSAAALEgHS3X78AAADQElE
+ lQAAdA4AAPGBAACFRgAAZO0AAPeGAABJ4gAAHljF0QxvAAAACXBIWXMAAAsOAAALDgFAvuFBAAADQElE
QVQ4T3WTW0hTcRzHf12o16KnLrq5s013ph4921ymS/M6yyyzmuKclaJGN1pE2kP1UBRdhS4kUVBgF4LC
ktIkIy1tF1dTj7u5uemmWallZhbhr7NZRkkPXw7n4fPhx//3/YFMIgOlMgMyM9fBlsKtUFpSCkmrkkAR
p4AYaQzIZXKIjqIhRiafX1RUrBSLyNn8EB4ICX4g/xXExcYBzYJSWgpUBDX3/PmLJ0dGPn3PydmUGLR4
@@ -196,7 +196,7 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAK
- 7wAACu8BfXaKSAAAAAd0SU1FB9MCGhU2KcxZSDgAAAIpSURBVDhPtdJfSNNRFAfws5L+DNrcJkGEL0aK
+ 6wAACusBgosNWgAAAAd0SU1FB9MCGhU2KcxZSDgAAAIpSURBVDhPtdJfSNNRFAfws5L+DNrcJkGEL0aK
abq2oZWUhRGVYFbDCh3OzOafbWxuWi1nrnItM5FNiAZR9JAvBZHpcoqxFKc2beiwKUQvSUlP0mQv5bcf
cmEIYj7U5/Ge873ncLn075SSPuVm8gJVUIA0lMNO109ojJ+f/DaOzo9PIL239zd3iZvqSczKf5dgSlh4
GXqOtsE7aBlqQPkLJfi1W77TNSphLWsT1YoWnk50oLHfAOPbUtR4lNB485HhSlwiM/XRbdrNWlcnNsX/
@@ -221,7 +221,7 @@
178, 21
-
+
Left, Right
@@ -418,4 +418,10 @@
scrivi gcode
+
+ File 2 (Raster)
+
+
+ File 3 (Cut)
+
\ No newline at end of file
diff --git a/LaserGRBL/ConnectLogForm.resx b/LaserGRBL/ConnectLogForm.resx
index 27046f29..a4f778ab 100644
--- a/LaserGRBL/ConnectLogForm.resx
+++ b/LaserGRBL/ConnectLogForm.resx
@@ -112,23 +112,23 @@
2.0
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
+
1
1
-
+
Fill
-
+
Consolas, 9pt
@@ -139,7 +139,7 @@
1, 1, 1, 0
- 243, 22
+ 346, 22
9
@@ -151,7 +151,7 @@
TxtManualCommand
- LaserGRBL.UserControls.GrblTextBox, LaserGRBL, Version=3.7.3.0, Culture=neutral, PublicKeyToken=null
+ LaserGRBL.UserControls.GrblTextBox, LaserGRBL, Version=4.8.1.0, Culture=neutral, PublicKeyToken=null
tableLayoutPanel6
@@ -169,7 +169,7 @@
3, 26
- 239, 320
+ 342, 284
5
@@ -178,7 +178,7 @@
CmdLog
- LaserGRBL.UserControls.CommandLog, LaserGRBL, Version=3.7.3.0, Culture=neutral, PublicKeyToken=null
+ LaserGRBL.UserControls.CommandLog, LaserGRBL, Version=4.8.1.0, Culture=neutral, PublicKeyToken=null
tableLayoutPanel6
@@ -196,7 +196,7 @@
2
- 245, 349
+ 348, 313
0
@@ -205,7 +205,7 @@
tableLayoutPanel6
- System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
GBCommands
@@ -220,13 +220,13 @@
Fill
- 1, 118
+ 1, 154
1, 1, 1, 1
- 245, 349
+ 348, 313
2
@@ -235,7 +235,7 @@
GBCommands
- System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel1
@@ -256,43 +256,550 @@
GrowAndShrink
- 5
+ 7
-
- Left
+
+ Fill
-
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+ vAAADrwBlbxySQAAAhRJREFUOE+Vkd1LU3Ech/0zuugFuiiwLioKggJHrRdNs4RGJGESvVCoSMpiy8DC
+ AimcFVHILhKiC4OoTLc5pzu5l7NzPLWdLc/cm+CEZYFWXnXR09kUUirYPvCD783zfF9+ZaVEVVVWytLj
+ 8/lZWPhGNBotTTKQeMF5j4kmfwONztMMex2lCaxOM/fnrmH7epWjgzuJpGIoilKcZFQc5ea4hYdf2nmw
+ eI6qt7sZjwm8Ghv6tyAWiyGMjaFGVGqHDtIkn+Vi0KQLWrmTM9EoVnBq2EjlwC6O2Q1rJZoWJywFmUvF
+ mfooc0Gs4+WvW/QttXA3V491ppobM1Xcnq2lOWLA+HjLH0E6nUYRA2S0qA5PEpFEjrv30ZGpo1U7jCVT
+ hTl5iMsf9tMQ2MNJ13b22rYuC1KpFOqkxGxSK8CqHEKRJbpGO7EOm6l5foQ2rVoXGKno30SzeR1nuivp
+ dfcuC/Ld3S4X4nsvWlhBCfpJTCcK75N+k453nZi1Gq4nD2C0b6S/x0IqnVm7fzabRZYVpFAIz4gTSQwR
+ 1zQisWksA216580Ynm1gR/d6vNLEWjgfURTJfZ7n+48lwvoPOF0jhKMasi6csp1gvqucNz0thPQmK8jf
+ mdZHFgShIJpKpJnQ68TTehbvbcPVe4UJf/D/8Orkp/EG9GM6+vj5qBzfk0t4BV9x8Oo4Bl8j2NvxeMZL
+ h4tPWdlv9WyFjnbnj1gAAAAASUVORK5CYII=
+
+
+
+ 250, 45
+
+
+ 1, 1, 1, 1
+
+
+ 17, 18
+
+
+ 27
+
+
+ 17, 17
+
+
+ Append File
+
+
+ BtnFileAppend2
+
+
+ LaserGRBL.UserControls.ImageButton, LaserGRBL, Version=4.8.1.0, Culture=neutral, PublicKeyToken=null
+
+
+ tableLayoutPanel5
+
+
+ 0
+
+
+ Fill
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+ vAAADrwBlbxySQAAAhRJREFUOE+Vkd1LU3Ech/0zuugFuiiwLioKggJHrRdNs4RGJGESvVCoSMpiy8DC
+ AimcFVHILhKiC4OoTLc5pzu5l7NzPLWdLc/cm+CEZYFWXnXR09kUUirYPvCD783zfF9+ZaVEVVVWytLj
+ 8/lZWPhGNBotTTKQeMF5j4kmfwONztMMex2lCaxOM/fnrmH7epWjgzuJpGIoilKcZFQc5ea4hYdf2nmw
+ eI6qt7sZjwm8Ghv6tyAWiyGMjaFGVGqHDtIkn+Vi0KQLWrmTM9EoVnBq2EjlwC6O2Q1rJZoWJywFmUvF
+ mfooc0Gs4+WvW/QttXA3V491ppobM1Xcnq2lOWLA+HjLH0E6nUYRA2S0qA5PEpFEjrv30ZGpo1U7jCVT
+ hTl5iMsf9tMQ2MNJ13b22rYuC1KpFOqkxGxSK8CqHEKRJbpGO7EOm6l5foQ2rVoXGKno30SzeR1nuivp
+ dfcuC/Ld3S4X4nsvWlhBCfpJTCcK75N+k453nZi1Gq4nD2C0b6S/x0IqnVm7fzabRZYVpFAIz4gTSQwR
+ 1zQisWksA216580Ynm1gR/d6vNLEWjgfURTJfZ7n+48lwvoPOF0jhKMasi6csp1gvqucNz0thPQmK8jf
+ mdZHFgShIJpKpJnQ68TTehbvbcPVe4UJf/D/8Orkp/EG9GM6+vj5qBzfk0t4BV9x8Oo4Bl8j2NvxeMZL
+ h4tPWdlv9WyFjnbnj1gAAAAASUVORK5CYII=
+
+
+
+ 250, 23
+
+
+ 1, 1, 1, 1
+
+
+ 17, 20
+
+
+ 26
+
+
+ Append File
+
+
+ BtnFileAppend1
+
+
+ LaserGRBL.UserControls.ImageButton, LaserGRBL, Version=4.8.1.0, Culture=neutral, PublicKeyToken=null
+
+
+ tableLayoutPanel5
+
+
+ 1
+
+
+ Fill
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+ vAAADrwBlbxySQAAAhRJREFUOE+Vkd1LU3Ech/0zuugFuiiwLioKggJHrRdNs4RGJGESvVCoSMpiy8DC
+ AimcFVHILhKiC4OoTLc5pzu5l7NzPLWdLc/cm+CEZYFWXnXR09kUUirYPvCD783zfF9+ZaVEVVVWytLj
+ 8/lZWPhGNBotTTKQeMF5j4kmfwONztMMex2lCaxOM/fnrmH7epWjgzuJpGIoilKcZFQc5ea4hYdf2nmw
+ eI6qt7sZjwm8Ghv6tyAWiyGMjaFGVGqHDtIkn+Vi0KQLWrmTM9EoVnBq2EjlwC6O2Q1rJZoWJywFmUvF
+ mfooc0Gs4+WvW/QttXA3V491ppobM1Xcnq2lOWLA+HjLH0E6nUYRA2S0qA5PEpFEjrv30ZGpo1U7jCVT
+ hTl5iMsf9tMQ2MNJ13b22rYuC1KpFOqkxGxSK8CqHEKRJbpGO7EOm6l5foQ2rVoXGKno30SzeR1nuivp
+ dfcuC/Ld3S4X4nsvWlhBCfpJTCcK75N+k453nZi1Gq4nD2C0b6S/x0IqnVm7fzabRZYVpFAIz4gTSQwR
+ 1zQisWksA216580Ynm1gR/d6vNLEWjgfURTJfZ7n+48lwvoPOF0jhKMasi6csp1gvqucNz0thPQmK8jf
+ mdZHFgShIJpKpJnQ68TTehbvbcPVe4UJf/D/8Orkp/EG9GM6+vj5qBzfk0t4BV9x8Oo4Bl8j2NvxeMZL
+ h4tPWdlv9WyFjnbnj1gAAAAASUVORK5CYII=
+
+
+
+ 250, 1
+
+
+ 1, 1, 1, 1
+
+
+ 17, 20
+
+
+ 25
+
+
+ Append File
+
+
+ BtnFileAppend
+
+
+ LaserGRBL.UserControls.ImageButton, LaserGRBL, Version=4.8.1.0, Culture=neutral, PublicKeyToken=null
+
+
+ tableLayoutPanel5
+
+
+ 2
+
+
True
-
+
+ Fill
+
+
NoControl
-
- 1, 28
+
+ 330, 47
-
+
+ 15, 14
+
+
+ 24
+
+
+ chkFileEnable2
+
+
+ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tableLayoutPanel5
+
+
+ 3
+
+
+ True
+
+
+ Fill
+
+
+ NoControl
+
+
+ 330, 25
+
+
+ 15, 16
+
+
+ 23
+
+
+ chkFileEnable1
+
+
+ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tableLayoutPanel5
+
+
+ 4
+
+
+ Fill
+
+
+ 288, 45
+
+
1, 1, 1, 1
-
- 48, 13
+
+ 38, 20
-
+
+ 22
+
+
+ Perform multiple passes
+
+
+ UDLoopCounter2
+
+
+ System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tableLayoutPanel5
+
+
+ 5
+
+
+ Fill
+
+
+ 288, 23
+
+
+ 1, 1, 1, 1
+
+
+ 38, 20
+
+
+ 21
+
+
+ Perform multiple passes
+
+
+ UDLoopCounter1
+
+
+ System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tableLayoutPanel5
+
+
+ 6
+
+
+ Fill
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+ vAAADrwBlbxySQAAAbFJREFUOE+VUqGS7CAQ3M+4X1i5ci0SGRmLRCLHIpFILHJlZCwSGYmNXBnZN0Ny
+ uUu9eq/eTVUXlcD0zHTP7X9CeQWbLNracPz6XShSiFPE4EfkOf+dJJeMMY4YGHKOwXRIYntXlG2CDQ4u
+ 0ZWktspJA/xEyC0irYHhfyAgrA60DZi2CMqeSfxOInOpoPBaMmg1sE3Dr/ZE6HAwi4Ze7ohvh8RjGG93
+ ApMM4hyg6xND4VlLhI32ACcGC4rc2ZLgF4LPAQOZ7xFE4cSXmpPTnCCClaWeD5a2QFm9VyXuigmOqz3u
+ 9ICJ3DrbpEh3tY+rMx5MoNzIxAXvbet27lhxa++vj9Yvd0FHPOj5B5FY+GQyxyPZQHgYfX0jI4htYqfm
+ boT0uOpia8su1AkvBDQUDPYQUkLEpEx4vRPqNrNwvistIor3AtFBnHGb7kVOApk/TOI1QdV7t4waq38B
+ L1XjlWabxXJJPsV2XFmWQ2y6zx/dTle5UjUdtp/sQOE37II2BnMp1/llPaVdeSSei2WD46r9/IJDSOma
+ +DNEZVmSkGP3vtv02xC1DQv2ZMWPX/+I2+0TK4fIYkk16gEAAAAASUVORK5CYII=
+
+
+
+ 269, 45
+
+
+ 1, 1, 1, 1
+
+
+ 17, 18
+
+
+ 19
+
+
+ Reload last file
+
+
+ btnFileSetup2
+
+
+ LaserGRBL.UserControls.ImageButton, LaserGRBL, Version=4.8.1.0, Culture=neutral, PublicKeyToken=null
+
+
+ tableLayoutPanel5
+
+
+ 7
+
+
+ Fill
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+ vAAADrwBlbxySQAAAbFJREFUOE+VUqGS7CAQ3M+4X1i5ci0SGRmLRCLHIpFILHJlZCwSGYmNXBnZN0Ny
+ uUu9eq/eTVUXlcD0zHTP7X9CeQWbLNracPz6XShSiFPE4EfkOf+dJJeMMY4YGHKOwXRIYntXlG2CDQ4u
+ 0ZWktspJA/xEyC0irYHhfyAgrA60DZi2CMqeSfxOInOpoPBaMmg1sE3Dr/ZE6HAwi4Ze7ohvh8RjGG93
+ ApMM4hyg6xND4VlLhI32ACcGC4rc2ZLgF4LPAQOZ7xFE4cSXmpPTnCCClaWeD5a2QFm9VyXuigmOqz3u
+ 9ICJ3DrbpEh3tY+rMx5MoNzIxAXvbet27lhxa++vj9Yvd0FHPOj5B5FY+GQyxyPZQHgYfX0jI4htYqfm
+ boT0uOpia8su1AkvBDQUDPYQUkLEpEx4vRPqNrNwvistIor3AtFBnHGb7kVOApk/TOI1QdV7t4waq38B
+ L1XjlWabxXJJPsV2XFmWQ2y6zx/dTle5UjUdtp/sQOE37II2BnMp1/llPaVdeSSei2WD46r9/IJDSOma
+ +DNEZVmSkGP3vtv02xC1DQv2ZMWPX/+I2+0TK4fIYkk16gEAAAAASUVORK5CYII=
+
+
+
+ 269, 23
+
+
+ 1, 1, 1, 1
+
+
+ 17, 20
+
+
+ 18
+
+
+ Reload last file
+
+
+ btnFileSetup1
+
+
+ LaserGRBL.UserControls.ImageButton, LaserGRBL, Version=4.8.1.0, Culture=neutral, PublicKeyToken=null
+
+
+ tableLayoutPanel5
+
+
8
-
- Progress
+
+ Fill
-
- LblProgress
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+ vAAADrwBlbxySQAAAbFJREFUOE+VUqGS7CAQ3M+4X1i5ci0SGRmLRCLHIpFILHJlZCwSGYmNXBnZN0Ny
+ uUu9eq/eTVUXlcD0zHTP7X9CeQWbLNracPz6XShSiFPE4EfkOf+dJJeMMY4YGHKOwXRIYntXlG2CDQ4u
+ 0ZWktspJA/xEyC0irYHhfyAgrA60DZi2CMqeSfxOInOpoPBaMmg1sE3Dr/ZE6HAwi4Ze7ohvh8RjGG93
+ ApMM4hyg6xND4VlLhI32ACcGC4rc2ZLgF4LPAQOZ7xFE4cSXmpPTnCCClaWeD5a2QFm9VyXuigmOqz3u
+ 9ICJ3DrbpEh3tY+rMx5MoNzIxAXvbet27lhxa++vj9Yvd0FHPOj5B5FY+GQyxyPZQHgYfX0jI4htYqfm
+ boT0uOpia8su1AkvBDQUDPYQUkLEpEx4vRPqNrNwvistIor3AtFBnHGb7kVOApk/TOI1QdV7t4waq38B
+ L1XjlWabxXJJPsV2XFmWQ2y6zx/dTle5UjUdtp/sQOE37II2BnMp1/llPaVdeSSei2WD46r9/IJDSOma
+ +DNEZVmSkGP3vtv02xC1DQv2ZMWPX/+I2+0TK4fIYkk16gEAAAAASUVORK5CYII=
+
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 269, 1
-
+
+ 1, 1, 1, 1
+
+
+ 17, 20
+
+
+ 17
+
+
+ Reload last file
+
+
+ btnFileSetup
+
+
+ LaserGRBL.UserControls.ImageButton, LaserGRBL, Version=4.8.1.0, Culture=neutral, PublicKeyToken=null
+
+
tableLayoutPanel5
-
- 0
+
+ 9
+
+
+ Fill
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAJxAIA3kywAAACBjSFJNAABu
+ lQAAdA4AAPGBAACFRgAAZO0AAPeGAABJ4gAAHljF0QxvAAAACXBIWXMAAAsMAAALDAE/QCLIAAADQElE
+ QVQ4T3WTW0hTcRzHf12o16KnLrq5s013ph4921ymS/M6yyyzmuKclaJGN1pE2kP1UBRdhS4kUVBgF4LC
+ ktIkIy1tF1dTj7u5uemmWallZhbhr7NZRkkPXw7n4fPhx//3/YFMIgOlMgMyM9fBlsKtUFpSCkmrkkAR
+ p4AYaQzIZXKIjqIhRiafX1RUrBSLyNn8EB4ICX4g/xXExcYBzYJSWgpUBDX3/PmLJ0dGPn3PydmUGLR4
+ CRDckED+K8hQroYN2TmwXB4Lu3ftWfvly/i3sbHxidt37t4XEII5BIcLAh4xU1DyS6BS5UHZ9h1QfqAi
+ +/LlqqvDwyOjXl//YI+n73Nubt6aoCVLZ06gVmtAoykERbwi8H/2XOXu9x+G0Olyo9vTN+7odg31en1j
+ d+7X1pHiyPk8TvAfQVpaBuzbq828ce3qrUK1Ju1AecW2gbeDP3rcvejt70eX241Wm32ys9vz1VhzfaI4
+ W5krkcqnBImJyVC0rTihrfXFkM9pQ8sb42Rrc/Mkw1iwt8/Lwh602R3Y6fSirvY2tpWGYXWx4jUlWb7A
+ /8Kgzi+Q6pqfD/RYO1m4DdsNOjSbTOhyOtFusyPDdGGHw4P6hhrU76LQrKXxSFn+PYGQXAjK1HTqta71
+ Q1+3NQB3GPVoMhrQ5eoJwF0Mg+YuB+oaH6Fpvxwt+yk8qd3aQMXEEwSHAxAfu0JcdenirZfPng5bzSY0
+ vWpBBzuuP79hQ3Mjth9OQNfBCKzUqnXR8pVkiH+NbKHAvw7VZpWopeWVz6DXY2NDPRp0erRZrdjO2NHQ
+ +hKZE+noOxyOV8rVjCwueQXvVwcCAh67S02BZhP74qOjn8fQ3N6B9U8a0NxpRSMrtFSux3fHSLx5KM8Z
+ m5CeEioMnYKnBayNsywIUpJT6erqm/feDr5Di8OFL5qa0FGVjx9Pi/HB0VyvInn12jBhGISLyOk7EPqb
+ 6G8Tnw13WTCwRzKLLdLmh0+a3nTUXcHvF0h8dkY1kJSetVEsCgeaigYJex/+7+9MC4SEIDCWfxoqkl5U
+ rt15/PGpfEtWVnYBKYoAOnIK/jd/CUL5UyG4XCBC+ECGS4JJkXheVGQUSKiZsCSKhp+/5brOKZOAhwAA
+ AABJRU5ErkJggg==
+
+
+
+ 231, 45
+
+
+ 1, 1, 1, 1
+
+
+ 17, 18
+
+
+ 16
+
+
+ Open File
+
+
+ BtnOpen2
+
+
+ LaserGRBL.UserControls.ImageButton, LaserGRBL, Version=4.8.1.0, Culture=neutral, PublicKeyToken=null
+
+
+ tableLayoutPanel5
+
+
+ 10
+
+
+ Fill
+
+
+ 101, 45
+
+
+ 1, 1, 1, 1
+
+
+ 128, 20
+
+
+ 15
+
+
+ TbFileName2
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tableLayoutPanel5
+
+
+ 11
+
+
+ Fill
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAJxAIA3kywAAACBjSFJNAABu
+ lQAAdA4AAPGBAACFRgAAZO0AAPeGAABJ4gAAHljF0QxvAAAACXBIWXMAAAsMAAALDAE/QCLIAAADQElE
+ QVQ4T3WTW0hTcRzHf12o16KnLrq5s013ph4921ymS/M6yyyzmuKclaJGN1pE2kP1UBRdhS4kUVBgF4LC
+ ktIkIy1tF1dTj7u5uemmWallZhbhr7NZRkkPXw7n4fPhx//3/YFMIgOlMgMyM9fBlsKtUFpSCkmrkkAR
+ p4AYaQzIZXKIjqIhRiafX1RUrBSLyNn8EB4ICX4g/xXExcYBzYJSWgpUBDX3/PmLJ0dGPn3PydmUGLR4
+ CRDckED+K8hQroYN2TmwXB4Lu3ftWfvly/i3sbHxidt37t4XEII5BIcLAh4xU1DyS6BS5UHZ9h1QfqAi
+ +/LlqqvDwyOjXl//YI+n73Nubt6aoCVLZ06gVmtAoykERbwi8H/2XOXu9x+G0Olyo9vTN+7odg31en1j
+ d+7X1pHiyPk8TvAfQVpaBuzbq828ce3qrUK1Ju1AecW2gbeDP3rcvejt70eX241Wm32ys9vz1VhzfaI4
+ W5krkcqnBImJyVC0rTihrfXFkM9pQ8sb42Rrc/Mkw1iwt8/Lwh602R3Y6fSirvY2tpWGYXWx4jUlWb7A
+ /8Kgzi+Q6pqfD/RYO1m4DdsNOjSbTOhyOtFusyPDdGGHw4P6hhrU76LQrKXxSFn+PYGQXAjK1HTqta71
+ Q1+3NQB3GPVoMhrQ5eoJwF0Mg+YuB+oaH6Fpvxwt+yk8qd3aQMXEEwSHAxAfu0JcdenirZfPng5bzSY0
+ vWpBBzuuP79hQ3Mjth9OQNfBCKzUqnXR8pVkiH+NbKHAvw7VZpWopeWVz6DXY2NDPRp0erRZrdjO2NHQ
+ +hKZE+noOxyOV8rVjCwueQXvVwcCAh67S02BZhP74qOjn8fQ3N6B9U8a0NxpRSMrtFSux3fHSLx5KM8Z
+ m5CeEioMnYKnBayNsywIUpJT6erqm/feDr5Di8OFL5qa0FGVjx9Pi/HB0VyvInn12jBhGISLyOk7EPqb
+ 6G8Tnw13WTCwRzKLLdLmh0+a3nTUXcHvF0h8dkY1kJSetVEsCgeaigYJex/+7+9MC4SEIDCWfxoqkl5U
+ rt15/PGpfEtWVnYBKYoAOnIK/jd/CUL5UyG4XCBC+ECGS4JJkXheVGQUSKiZsCSKhp+/5brOKZOAhwAA
+ AABJRU5ErkJggg==
+
+
+
+ 231, 23
+
+
+ 1, 1, 1, 1
+
+
+ 17, 20
+
+
+ 13
+
+
+ Open File
+
+
+ BtnOpen1
+
+
+ LaserGRBL.UserControls.ImageButton, LaserGRBL, Version=4.8.1.0, Culture=neutral, PublicKeyToken=null
+
+
+ tableLayoutPanel5
+
+
+ 12
+
+
+ Fill
+
+
+ 101, 23
+
+
+ 1, 1, 1, 1
+
+
+ 128, 20
+
+
+ 12
+
+
+ TbFileName1
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tableLayoutPanel5
+
+
+ 13
Left
@@ -310,37 +817,37 @@
1, 1, 1, 1
- 49, 13
+ 98, 13
0
- Filename
+ Filename (Engrave)
LblFilename
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel5
- 1
+ 14
Fill
- 52, 1
+ 101, 1
1, 1, 1, 1
- 154, 20
+ 128, 20
1
@@ -349,25 +856,25 @@
TbFileName
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel5
- 2
+ 15
Fill
- 52, 23
+ 101, 65
1, 1, 1, 1
- 109, 24
+ 185, 18
7
@@ -376,21 +883,21 @@
PB
- LaserGRBL.UserControls.DoubleProgressBar, LaserGRBL, Version=3.7.3.0, Culture=neutral, PublicKeyToken=null
+ LaserGRBL.UserControls.DoubleProgressBar, LaserGRBL, Version=4.8.1.0, Culture=neutral, PublicKeyToken=null
tableLayoutPanel5
- 3
+ 16
-
- None
+
+ Fill
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAJxAIA3kywAAACBjSFJNAABu
- lQAAdA4AAPGBAACFRgAAZO0AAPeGAABJ4gAAHljF0QxvAAAACXBIWXMAAAsTAAALEwEAmpwYAAADQElE
+ lQAAdA4AAPGBAACFRgAAZO0AAPeGAABJ4gAAHljF0QxvAAAACXBIWXMAAAsMAAALDAE/QCLIAAADQElE
QVQ4T3WTW0hTcRzHf12o16KnLrq5s013ph4921ymS/M6yyyzmuKclaJGN1pE2kP1UBRdhS4kUVBgF4LC
ktIkIy1tF1dTj7u5uemmWallZhbhr7NZRkkPXw7n4fPhx//3/YFMIgOlMgMyM9fBlsKtUFpSCkmrkkAR
p4AYaQzIZXKIjqIhRiafX1RUrBSLyNn8EB4ICX4g/xXExcYBzYJSWgpUBDX3/PmLJ0dGPn3PydmUGLR4
@@ -409,20 +916,17 @@
- 217, 2
+ 231, 1
1, 1, 1, 1
- 17, 17
+ 17, 20
6
-
- 17, 17
-
Open File
@@ -430,16 +934,82 @@
BtnOpen
- LaserGRBL.UserControls.ImageButton, LaserGRBL, Version=3.7.3.0, Culture=neutral, PublicKeyToken=null
+ LaserGRBL.UserControls.ImageButton, LaserGRBL, Version=4.8.1.0, Culture=neutral, PublicKeyToken=null
tableLayoutPanel5
- 4
+ 17
-
- None
+
+ Left
+
+
+ True
+
+
+ NoControl
+
+
+ 1, 26
+
+
+ 1, 1, 1, 1
+
+
+ 98, 13
+
+
+ 11
+
+
+ Filename 2 (Raster)
+
+
+ LblFilename1
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tableLayoutPanel5
+
+
+ 18
+
+
+ Fill
+
+
+ 288, 1
+
+
+ 1, 1, 1, 1
+
+
+ 38, 20
+
+
+ 9
+
+
+ Perform multiple passes
+
+
+ UDLoopCounter
+
+
+ System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tableLayoutPanel5
+
+
+ 19
+
+
+ Right
False
@@ -447,7 +1017,7 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAK
- 8AAACvABQqw0mAAAAAd0SU1FB9MCGhU2KcxZSDgAAAIpSURBVDhPtdJfSNNRFAfws5L+DNrcJkGEL0aK
+ 6QAACukB/XXO0wAAAAd0SU1FB9MCGhU2KcxZSDgAAAIpSURBVDhPtdJfSNNRFAfws5L+DNrcJkGEL0aK
abq2oZWUhRGVYFbDCh3OzOafbWxuWi1nrnItM5FNiAZR9JAvBZHpcoqxFKc2beiwKUQvSUlP0mQv5bcf
cmEIYj7U5/Ge873ncLn075SSPuVm8gJVUIA0lMNO109ojJ+f/DaOzo9PIL239zd3iZvqSczKf5dgSlh4
GXqOtsE7aBlqQPkLJfi1W77TNSphLWsT1YoWnk50oLHfAOPbUtR4lNB485HhSlwiM/XRbdrNWlcnNsX/
@@ -461,13 +1031,13 @@
- 208, 26
+ 309, 65
1, 1, 1, 1
- 17, 17
+ 17, 18
8
@@ -479,37 +1049,13 @@
BtnRunProgram
- LaserGRBL.UserControls.ImageButton, LaserGRBL, Version=3.7.3.0, Culture=neutral, PublicKeyToken=null
+ LaserGRBL.UserControls.ImageButton, LaserGRBL, Version=4.8.1.0, Culture=neutral, PublicKeyToken=null
tableLayoutPanel5
- 5
-
-
- 165, 25
-
-
- 39, 20
-
-
- 9
-
-
- Perform multiple passes
-
-
- UDLoopCounter
-
-
- System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tableLayoutPanel5
-
-
- 6
+ 20
None
@@ -526,7 +1072,7 @@
- 227, 26
+ 329, 65
1, 1, 1, 1
@@ -547,13 +1093,115 @@
BtnAbortProgram
- LaserGRBL.UserControls.ImageButton, LaserGRBL, Version=3.7.3.0, Culture=neutral, PublicKeyToken=null
+ LaserGRBL.UserControls.ImageButton, LaserGRBL, Version=4.8.1.0, Culture=neutral, PublicKeyToken=null
tableLayoutPanel5
- 7
+ 21
+
+
+ Left
+
+
+ True
+
+
+ NoControl
+
+
+ 1, 47
+
+
+ 1, 1, 1, 1
+
+
+ 83, 13
+
+
+ 14
+
+
+ Filename 3 (Cut)
+
+
+ LblFilename2
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tableLayoutPanel5
+
+
+ 22
+
+
+ Left
+
+
+ True
+
+
+ NoControl
+
+
+ 1, 67
+
+
+ 1, 1, 1, 1
+
+
+ 48, 13
+
+
+ 8
+
+
+ Progress
+
+
+ LblProgress
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tableLayoutPanel5
+
+
+ 23
+
+
+ True
+
+
+ Fill
+
+
+ NoControl
+
+
+ 330, 3
+
+
+ 15, 16
+
+
+ 20
+
+
+ chkFileEnable
+
+
+ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tableLayoutPanel5
+
+
+ 24
Fill
@@ -562,10 +1210,10 @@
0, 0
- 2
+ 4
- 245, 48
+ 348, 84
0
@@ -574,7 +1222,7 @@
tableLayoutPanel5
- System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
GBFile
@@ -583,7 +1231,7 @@
0
- <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="LblProgress" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="LblFilename" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="TbFileName" Row="0" RowSpan="1" Column="1" ColumnSpan="2" /><Control Name="PB" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="BtnOpen" Row="0" RowSpan="1" Column="3" ColumnSpan="2" /><Control Name="BtnRunProgram" Row="1" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="UDLoopCounter" Row="1" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="BtnAbortProgram" Row="1" RowSpan="1" Column="4" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,Percent,100,AutoSize,0,AutoSize,0,AutoSize,20" /><Rows Styles="AutoSize,0,AutoSize,0" /></TableLayoutSettings>
+ <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="BtnFileAppend2" Row="2" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="BtnFileAppend1" Row="1" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="BtnFileAppend" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="chkFileEnable2" Row="2" RowSpan="1" Column="6" ColumnSpan="1" /><Control Name="chkFileEnable1" Row="1" RowSpan="1" Column="6" ColumnSpan="1" /><Control Name="UDLoopCounter2" Row="2" RowSpan="1" Column="5" ColumnSpan="1" /><Control Name="UDLoopCounter1" Row="1" RowSpan="1" Column="5" ColumnSpan="1" /><Control Name="btnFileSetup2" Row="2" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="btnFileSetup1" Row="1" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="btnFileSetup" Row="0" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="BtnOpen2" Row="2" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="TbFileName2" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="BtnOpen1" Row="1" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="TbFileName1" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="LblFilename" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="TbFileName" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="PB" Row="3" RowSpan="1" Column="1" ColumnSpan="4" /><Control Name="BtnOpen" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="LblFilename1" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="UDLoopCounter" Row="0" RowSpan="1" Column="5" ColumnSpan="1" /><Control Name="BtnRunProgram" Row="3" RowSpan="1" Column="5" ColumnSpan="1" /><Control Name="BtnAbortProgram" Row="3" RowSpan="1" Column="6" ColumnSpan="1" /><Control Name="LblFilename2" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="LblProgress" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="chkFileEnable" Row="0" RowSpan="1" Column="6" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,Percent,100,AutoSize,0,AutoSize,0,AutoSize,0,Absolute,40,AutoSize,0" /><Rows Styles="AutoSize,0,AutoSize,0,Absolute,20,Absolute,20,Absolute,20" /></TableLayoutSettings>
Fill
@@ -595,7 +1243,7 @@
1, 1, 1, 0
- 245, 48
+ 348, 84
1
@@ -604,7 +1252,7 @@
GBFile
- System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel1
@@ -658,7 +1306,7 @@
LblEmulator
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel4
@@ -694,7 +1342,7 @@
LblComPort
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel4
@@ -712,7 +1360,7 @@
1, 1, 1, 1
- 66, 21
+ 118, 21
1
@@ -721,7 +1369,7 @@
CBPort
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel4
@@ -739,7 +1387,7 @@
NoControl
- 119, 5
+ 171, 5
1, 1, 1, 1
@@ -757,7 +1405,7 @@
LblBaudRate
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel4
@@ -769,13 +1417,13 @@
Fill
- 153, 1
+ 205, 1
1, 1, 1, 1
- 66, 21
+ 118, 21
2
@@ -784,7 +1432,7 @@
CBSpeed
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel4
@@ -823,7 +1471,7 @@
LblAddress
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel4
@@ -841,7 +1489,7 @@
1, 1, 1, 1
- 168, 20
+ 272, 20
3
@@ -853,7 +1501,7 @@
TxtAddress
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel4
@@ -874,7 +1522,7 @@
1, 1, 1, 1
- 168, 20
+ 272, 20
7
@@ -889,7 +1537,7 @@
TxtEmulator
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel4
@@ -1052,7 +1700,7 @@
- 221, 22
+ 325, 22
1, 1, 1, 1
@@ -1076,7 +1724,7 @@
BtnConnectDisconnect
- LaserGRBL.UserControls.ImageButton, LaserGRBL, Version=3.7.3.0, Culture=neutral, PublicKeyToken=null
+ LaserGRBL.UserControls.ImageButton, LaserGRBL, Version=4.8.1.0, Culture=neutral, PublicKeyToken=null
tableLayoutPanel4
@@ -1094,7 +1742,7 @@
3
- 245, 67
+ 348, 67
0
@@ -1103,7 +1751,7 @@
tableLayoutPanel4
- System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
GBConnection
@@ -1124,7 +1772,7 @@
1, 1, 1, 0
- 245, 67
+ 348, 67
0
@@ -1133,7 +1781,7 @@
GBConnection
- System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel1
@@ -1151,7 +1799,7 @@
3
- 247, 468
+ 350, 468
1
@@ -1160,7 +1808,7 @@
tableLayoutPanel1
- System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
$this
@@ -1171,10 +1819,10 @@
<?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="GBCommands" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="GBFile" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="GBConnection" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="AutoSize,0,AutoSize,0,Percent,100" /></TableLayoutSettings>
-
+
True
-
+
39
@@ -1187,18 +1835,18 @@
4, 4, 4, 4
- 247, 468
+ 350, 468
TT
- System.Windows.Forms.ToolTip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.ToolTip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
ConnectLogForm
- System.Windows.Forms.UserControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
\ No newline at end of file
diff --git a/LaserGRBL/Core/GrblCore.cs b/LaserGRBL/Core/GrblCore.cs
index 68f2b174..44350796 100644
--- a/LaserGRBL/Core/GrblCore.cs
+++ b/LaserGRBL/Core/GrblCore.cs
@@ -65,11 +65,11 @@ public override string ToString()
public override bool Equals(object obj)
{ return obj != null && obj is ThreadingMode && ((ThreadingMode)obj).Name == Name; }
- public override int GetHashCode()
- {
- return base.GetHashCode();
- }
- }
+ public override int GetHashCode()
+ {
+ return base.GetHashCode();
+ }
+ }
public enum DetectedIssue
{
@@ -222,7 +222,7 @@ public object Clone()
public string VendorName
{
- get
+ get
{
if (mVendorInfo != null && mVendorInfo.ToLower().Contains("ortur"))
return "Ortur";
@@ -235,9 +235,9 @@ public string VendorName
}
}
- public int OrturFWVersionNumber
+ public int OrturFWVersionNumber
{
- get
+ get
{
try { return int.Parse(mVendorVersion); }
catch { return -1; }
@@ -248,8 +248,9 @@ public int OrturFWVersionNumber
public delegate void dlgIssueDetector(DetectedIssue issue);
public delegate void dlgOnMachineStatus();
public delegate void dlgOnOverrideChange();
- public delegate void dlgOnLoopCountChange(decimal current);
+ public delegate void dlgOnLoopCountChange(decimal current, int nLayer);
public delegate void dlgJogStateChange(bool jog);
+ public delegate void dlgOnLayerEnabledChange(bool current, int nLayer);
public event dlgIssueDetector IssueDetected;
public event dlgOnMachineStatus MachineStatusChanged;
@@ -258,6 +259,7 @@ public int OrturFWVersionNumber
public event dlgOnOverrideChange OnOverrideChange;
public event dlgOnLoopCountChange OnLoopCountChange;
public event dlgJogStateChange JogStateChange;
+ public event dlgOnLayerEnabledChange OnLayerEnabledChange;
private System.Windows.Forms.Control syncro;
protected ComWrapper.IComWrapper com;
@@ -286,7 +288,7 @@ public int OrturFWVersionNumber
protected TimeProjection mTP = new TimeProjection();
private MacStatus mMachineStatus = MacStatus.Disconnected;
-
+
private float mCurF;
private float mCurS;
@@ -299,7 +301,8 @@ public int OrturFWVersionNumber
private int mTarOvRapids;
private int mTarOvPower;
- private decimal mLoopCount = 1;
+ private int[] mLoopCount = { 1, 1, 1 };
+ private bool[] layerEnabled = { true, true, true };
protected Tools.PeriodicEventTimer QueryTimer;
@@ -321,26 +324,26 @@ public int OrturFWVersionNumber
public GrblCore(System.Windows.Forms.Control syncroObject, PreviewForm cbform, JogForm jogform)
{
- if (Type != Firmware.Grbl) Logger.LogMessage("Program", "Load {0} core", Type);
+ if (Type != Firmware.Grbl) Logger.LogMessage("Program", "Load {0} core", Type);
- SetStatus(MacStatus.Disconnected);
+ SetStatus(MacStatus.Disconnected);
syncro = syncroObject;
com = new ComWrapper.UsbSerial();
debugLastStatusDelay = new Tools.ElapsedFromEvent();
debugLastMoveOrActivityDelay = new Tools.ElapsedFromEvent();
- //with version 4.5.0 default ThreadingMode change from "UltraFast" to "Fast"
- if (!Settings.IsNewFile && Settings.PrevVersion < new Version(4, 5, 0))
- {
- ThreadingMode CurrentMode = Settings.GetObject("Threading Mode", ThreadingMode.Fast);
- if (Equals(CurrentMode, ThreadingMode.Insane) || Equals(CurrentMode, ThreadingMode.UltraFast))
- Settings.SetObject("Threading Mode", ThreadingMode.Fast);
- }
+ //with version 4.5.0 default ThreadingMode change from "UltraFast" to "Fast"
+ if (!Settings.IsNewFile && Settings.PrevVersion < new Version(4, 5, 0))
+ {
+ ThreadingMode CurrentMode = Settings.GetObject("Threading Mode", ThreadingMode.Fast);
+ if (Equals(CurrentMode, ThreadingMode.Insane) || Equals(CurrentMode, ThreadingMode.UltraFast))
+ Settings.SetObject("Threading Mode", ThreadingMode.Fast);
+ }
+
+ mThreadingMode = Settings.GetObject("Threading Mode", ThreadingMode.Fast);
- mThreadingMode = Settings.GetObject("Threading Mode", ThreadingMode.Fast);
-
QueryTimer = new Tools.PeriodicEventTimer(TimeSpan.FromMilliseconds(mThreadingMode.StatusQuery), false);
TX = new Tools.ThreadObject(ThreadTX, 1, true, "Serial TX Thread", StartTX);
@@ -471,21 +474,21 @@ private static bool IsAnyHoldState(MacStatus status)
private void RefreshConfigOnConnect()
{
- try {System.Threading.ThreadPool.QueueUserWorkItem(new System.Threading.WaitCallback(RefreshConfigOnConnect)); }
- catch{ }
+ try { System.Threading.ThreadPool.QueueUserWorkItem(new System.Threading.WaitCallback(RefreshConfigOnConnect)); }
+ catch { }
}
internal virtual void SendHomingCommand()
- {
- EnqueueCommand(new GrblCommand("$H"));
- }
+ {
+ EnqueueCommand(new GrblCommand("$H"));
+ }
- internal virtual void SendUnlockCommand()
- {
- EnqueueCommand(new GrblCommand("$X"));
- }
+ internal virtual void SendUnlockCommand()
+ {
+ EnqueueCommand(new GrblCommand("$X"));
+ }
- public GrblVersionInfo GrblVersion //attenzione! può essere null
+ public GrblVersionInfo GrblVersion //attenzione! può essere null
{
get { return Settings.GetObject("Last GrblVersion known", null); }
set
@@ -558,46 +561,51 @@ void RiseOverrideChanged()
}
}
- void RiseOnFileLoading(long elapsed, string filename)
+ void RiseOnFileLoading(long elapsed, string filename, int nLayer)
{
mTP.Reset(true);
if (OnFileLoaded != null)
- OnFileLoading(elapsed, filename);
+ OnFileLoading(elapsed, filename, nLayer);
}
- void RiseOnFileLoaded(long elapsed, string filename)
+ void RiseOnFileLoaded(long elapsed, string filename, int nLayer)
{
mTP.Reset(true);
if (OnFileLoaded != null)
- OnFileLoaded(elapsed, filename);
+ OnFileLoaded(elapsed, filename, nLayer);
}
public GrblFile LoadedFile
{ get { return file; } }
- public void ReOpenFile(System.Windows.Forms.Form parent)
+ public void ReOpenFile(System.Windows.Forms.Form parent, int nLayer)
{
- if (CanReOpenFile)
- OpenFile(parent, Settings.GetObject("Core.LastOpenFile", null));
+ if (CanReOpenFile(nLayer))
+ {
+ string layerSuffix = nLayer > 0 ? nLayer.ToString() : "";
+ OpenFile(parent, Settings.GetObject("Core.LastOpenFile" + layerSuffix, null), false, nLayer);
+ }
}
public static readonly List ImageExtensions = new List(new string[] { ".jpg", ".jpeg", ".bmp", ".png", ".gif" });
public static readonly List GCodeExtensions = new List(new string[] { ".nc", ".cnc", ".tap", ".gcode", ".ngc" });
public static readonly List ProjectFileExtensions = new List(new string[] { ".lps" });
- public void OpenFile(System.Windows.Forms.Form parent, string filename = null, bool append = false)
+ public void OpenFile(System.Windows.Forms.Form parent, string filename = null, bool append = false, int nLayer = 0)
{
if (!CanLoadNewFile) return;
try
{
+ string layerSuffix = nLayer > 0 ? nLayer.ToString() : "";
+
if (filename == null)
{
using (System.Windows.Forms.OpenFileDialog ofd = new System.Windows.Forms.OpenFileDialog())
{
//pre-select last file if exist
- string lastFN = Settings.GetObject("Core.LastOpenFile", null);
+ string lastFN = Settings.GetObject("Core.LastOpenFile" + layerSuffix, null);
if (lastFN != null && System.IO.File.Exists(lastFN))
ofd.FileName = lastFN;
@@ -624,115 +632,120 @@ public void OpenFile(System.Windows.Forms.Form parent, string filename = null, b
if (filename == null) return;
- Logger.LogMessage("OpenFile", "Open {0}", filename);
- Settings.SetObject("Core.LastOpenFile", filename);
+ Logger.LogMessage("OpenFile", "Open {0} ({1})", filename, layerSuffix);
+ Settings.SetObject("Core.LastOpenFile" + layerSuffix, filename);
- if (ImageExtensions.Contains(System.IO.Path.GetExtension(filename).ToLowerInvariant())) //import raster image
- {
- try
- {
- RasterConverter.RasterToLaserForm.CreateAndShowDialog(this, filename, parent, append);
- UsageCounters.RasterFile++;
- }
- catch (Exception ex)
- { Logger.LogException("RasterImport", ex); }
- }
- else if (System.IO.Path.GetExtension(filename).ToLowerInvariant() == ".svg")
- {
- SvgConverter.SvgModeForm.Mode mode = SvgConverter.SvgModeForm.Mode.Vector;// SvgConverter.SvgModeForm.CreateAndShow(filename);
- if (mode == SvgConverter.SvgModeForm.Mode.Vector)
- {
- try
- {
- SvgConverter.SvgToGCodeForm.CreateAndShowDialog(this, filename, parent, append);
- UsageCounters.SvgFile++;
- }
- catch (Exception ex)
- { Logger.LogException("SvgImport", ex); }
- }
- else if (mode == SvgConverter.SvgModeForm.Mode.Raster)
- {
- string bmpname = filename + ".png";
- string fcontent = System.IO.File.ReadAllText(filename);
- Svg.SvgDocument svg = Svg.SvgDocument.FromSvg(fcontent);
- svg.Ppi = 600;
-
- using (Bitmap bmp = svg.Draw())
- {
- bmp.SetResolution(600, 600);
-
- //codec options not supported in C# png encoder https://efundies.com/c-sharp-save-png/
- //quality always 100%
-
- //ImageCodecInfo codecinfo = GetEncoder(ImageFormat.Png);
- //EncoderParameters paramlist = new EncoderParameters(1);
- //paramlist.Param[0] = new EncoderParameter(Encoder.Quality, 30L);
-
-
- if (System.IO.File.Exists(bmpname))
- System.IO.File.Delete(bmpname);
-
- bmp.Save(bmpname/*, codecinfo, paramlist*/);
- }
-
- try
- {
- RasterConverter.RasterToLaserForm.CreateAndShowDialog(this, bmpname, parent, append);
- UsageCounters.RasterFile++;
- if (System.IO.File.Exists(bmpname))
- System.IO.File.Delete(bmpname);
- }
- catch (Exception ex)
- { Logger.LogException("SvgBmpImport", ex); }
- }
- }
- else if (GCodeExtensions.Contains(System.IO.Path.GetExtension(filename).ToLowerInvariant())) //load GCODE file
- {
- Cursor.Current = Cursors.WaitCursor;
-
- try
- {
- file.LoadFile(filename, append);
- UsageCounters.GCodeFile++;
- }
- catch (Exception ex)
- { Logger.LogException("GCodeImport", ex); }
-
- Cursor.Current = Cursors.Default;
- }
- else if (ProjectFileExtensions.Contains(System.IO.Path.GetExtension(filename).ToLowerInvariant())) //load LaserGRBL project
- {
- var project = Project.LoadProject(filename);
-
- for (var i = 0; i < project.Count; i++)
- {
- var settings = project[i];
-
- // Save image temporary
- var imageFilepath = $"{System.IO.Path.GetTempPath()}\\{settings["ImageName"]}";
- Project.SaveImage(settings["ImageBase64"].ToString(), imageFilepath);
-
- // Restore settings
- foreach (var setting in settings.Where(setting =>
- setting.Key != "ImageName" && setting.Key != "ImageBase64"))
- Settings.SetObject(setting.Key, setting.Value);
-
- // Open file
- Settings.SetObject("Core.LastOpenFile", imageFilepath);
- if (i == 0)
- ReOpenFile(parent);
- else
- OpenFile(parent, imageFilepath, true);
-
- // Delete temporary image file
- System.IO.File.Delete(imageFilepath);
- }
+ if (ImageExtensions.Contains(System.IO.Path.GetExtension(filename).ToLowerInvariant())) //import raster image
+ {
+ try
+ {
+ RasterConverter.RasterToLaserForm.CreateAndShowDialog(this, filename, parent, append, nLayer);
+ UsageCounters.RasterFile++;
+ }
+ catch (Exception ex)
+ { Logger.LogException("RasterImport", ex); }
}
- else
- {
- System.Windows.Forms.MessageBox.Show(Strings.UnsupportedFiletype, "Error", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
- }
- }
+ else if (System.IO.Path.GetExtension(filename).ToLowerInvariant() == ".svg")
+ {
+ SvgConverter.SvgModeForm.Mode mode = SvgConverter.SvgModeForm.Mode.Vector;// SvgConverter.SvgModeForm.CreateAndShow(filename);
+ if (mode == SvgConverter.SvgModeForm.Mode.Vector)
+ {
+ try
+ {
+ SvgConverter.SvgToGCodeForm.CreateAndShowDialog(this, filename, parent, append, nLayer);
+ UsageCounters.SvgFile++;
+ }
+ catch (Exception ex)
+ { Logger.LogException("SvgImport", ex); }
+ }
+ else if (mode == SvgConverter.SvgModeForm.Mode.Raster)
+ {
+ string bmpname = filename + ".png";
+ string fcontent = System.IO.File.ReadAllText(filename);
+ Svg.SvgDocument svg = Svg.SvgDocument.FromSvg(fcontent);
+ svg.Ppi = 600;
+
+ using (Bitmap bmp = svg.Draw())
+ {
+ bmp.SetResolution(600, 600);
+
+ //codec options not supported in C# png encoder https://efundies.com/c-sharp-save-png/
+ //quality always 100%
+
+ //ImageCodecInfo codecinfo = GetEncoder(ImageFormat.Png);
+ //EncoderParameters paramlist = new EncoderParameters(1);
+ //paramlist.Param[0] = new EncoderParameter(Encoder.Quality, 30L);
+
+
+ if (System.IO.File.Exists(bmpname))
+ System.IO.File.Delete(bmpname);
+
+ bmp.Save(bmpname/*, codecinfo, paramlist*/);
+ }
+
+ try
+ {
+ RasterConverter.RasterToLaserForm.CreateAndShowDialog(this, bmpname, parent, append, nLayer);
+ UsageCounters.RasterFile++;
+ if (System.IO.File.Exists(bmpname))
+ System.IO.File.Delete(bmpname);
+ }
+ catch (Exception ex)
+ { Logger.LogException("SvgBmpImport", ex); }
+ }
+ }
+ else if (GCodeExtensions.Contains(System.IO.Path.GetExtension(filename).ToLowerInvariant())) //load GCODE file
+ {
+ Cursor.Current = Cursors.WaitCursor;
+
+ try
+ {
+ file.LoadFile(filename, append, nLayer, this);
+ UsageCounters.GCodeFile++;
+ }
+ catch (Exception ex)
+ { Logger.LogException("GCodeImport", ex); }
+
+ Cursor.Current = Cursors.Default;
+ }
+ else if (ProjectFileExtensions.Contains(System.IO.Path.GetExtension(filename).ToLowerInvariant())) //load LaserGRBL project
+ {
+ var project = Project.LoadProject(filename);
+
+ for (int jLayer = 0; jLayer < 3; jLayer++)
+ {
+ for (var i = 0; i < project[jLayer].Count; i++)
+ {
+ var settings = project[jLayer][i];
+
+ string jSuffix = jLayer > 0 ? jLayer.ToString() : "";
+
+ // Save image temporary
+ var imageFilepath = $"{System.IO.Path.GetTempPath()}\\{settings["ImageName"]}";
+ Project.SaveImage(settings["ImageBase64"].ToString(), imageFilepath);
+
+ // Restore settings
+ foreach (var setting in settings.Where(setting =>
+ setting.Key != "ImageName" && setting.Key != "ImageBase64"))
+ Settings.SetObject(setting.Key, setting.Value);
+
+ // Open file
+ Settings.SetObject("Core.LastOpenFile" + jSuffix, imageFilepath);
+ /*if (i == 0)
+ ReOpenFile(parent);
+ else*/
+ OpenFile(parent, imageFilepath, true, jLayer);
+
+ // Delete temporary image file
+ System.IO.File.Delete(imageFilepath);
+ }
+ }
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show(Strings.UnsupportedFiletype, "Error", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
+ }
+ }
catch (Exception ex)
{
Logger.LogException("OpenFile", ex);
@@ -752,14 +765,19 @@ private ImageCodecInfo GetEncoder(ImageFormat format)
return null;
}
- public void SaveProgram(Form parent, bool header, bool footer, bool between, int cycles)
+ public void SaveProgram(Form parent, bool header, bool footer, bool between)
{
if (HasProgram)
{
string filename = null;
using (SaveFileDialog sfd = new SaveFileDialog())
{
- string lastFN = Settings.GetObject("Core.LastOpenFile", null);
+ string lastFN = null;
+ for (int i = 0; i < 3 && lastFN == null; i++)
+ {
+ string layerSuffix = i > 0 ? i.ToString() : "";
+ lastFN = Settings.GetObject("Core.LastOpenFile" + layerSuffix, null);
+ }
if (lastFN != null)
{
string fn = System.IO.Path.GetFileNameWithoutExtension(lastFN);
@@ -786,8 +804,8 @@ public void SaveProgram(Form parent, bool header, bool footer, bool between, int
filename = sfd.FileName;
}
- if (filename != null)
- file.SaveGCODE(filename, header, footer, between, cycles, this);
+ if (filename != null)
+ file.SaveGCODE(filename, header, footer, between, mLoopCount, this);
}
}
@@ -798,7 +816,12 @@ public void SaveProject(Form parent)
string filename = null;
using (SaveFileDialog sfd = new SaveFileDialog())
{
- string lastFN = Settings.GetObject("Core.LastOpenFile", null);
+ string lastFN = null;
+ for (int i = 0; i < 3 && lastFN == null; i++)
+ {
+ string layerSuffix = i > 0 ? i.ToString() : "";
+ lastFN = Settings.GetObject("Core.LastOpenFile" + layerSuffix, null);
+ }
if (lastFN != null)
{
string fn = System.IO.Path.GetFileNameWithoutExtension(lastFN);
@@ -1184,9 +1207,9 @@ public void RunProgramFromPosition(Form parent)
if (CanSendFile)
{
bool homing = false;
- int position = LaserGRBL.RunFromPositionForm.CreateAndShowDialog(parent, LoadedFile.Count, Configuration.HomingEnabled, out homing);
+ int position = LaserGRBL.RunFromPositionForm.CreateAndShowDialog(parent, LoadedFile.Count(this), Configuration.HomingEnabled, out homing);
if (position >= 0)
- ContinueProgramFromKnown(position, homing, false);
+ ContinueProgramFromKnown(position, homing, false, this);
}
}
@@ -1199,7 +1222,7 @@ private void UserWantToContinue(Form parent)
if (position == 0)
RunProgramFromStart(homing);
if (position > 0)
- ContinueProgramFromKnown(position, homing, setwco);
+ ContinueProgramFromKnown(position, homing, setwco, this);
}
private void RunProgramFromStart(bool homing, bool first = false, bool pass = false)
@@ -1223,12 +1246,12 @@ private void RunProgramFromStart(bool homing, bool first = false, bool pass = fa
OnJobCycle();
- Logger.LogMessage("EnqueueProgram", "Push File, {0} lines", file.Count);
- foreach (GrblCommand cmd in file)
+ Logger.LogMessage("EnqueueProgram", "Push File, {0} lines", file.Count(this));
+ foreach (GrblCommand cmd in file.GetList(this))
mQueuePtr.Enqueue(cmd.Clone() as GrblCommand);
mTP.JobStart(LoadedFile, mQueuePtr, first);
- Logger.LogMessage("EnqueueProgram", "Running program, {0} lines", file.Count);
+ Logger.LogMessage("EnqueueProgram", "Running program, {0} lines", file.Count(this));
}
}
@@ -1250,7 +1273,7 @@ protected virtual void OnJobEnd()
ExecuteCustombutton(Settings.GetObject("GCode.CustomFooter", GrblCore.GCODE_STD_FOOTER));
}
- private void ContinueProgramFromKnown(int position, bool homing, bool setwco)
+ private void ContinueProgramFromKnown(int position, bool homing, bool setwco, GrblCore core)
{
lock (this)
{
@@ -1273,20 +1296,20 @@ private void ContinueProgramFromKnown(int position, bool homing, bool setwco)
mQueue.Enqueue(new GrblCommand(String.Format("G92 X{0} Y{1} Z{2}", cur.X.ToString(System.Globalization.CultureInfo.InvariantCulture), cur.Y.ToString(System.Globalization.CultureInfo.InvariantCulture), cur.Z.ToString(System.Globalization.CultureInfo.InvariantCulture))));
}
- for (int i = 0; i < position && i < file.Count; i++) //analizza fino alla posizione
- spb.AnalyzeCommand(file[i], false);
+ for (int i = 0; i < position && i < file.Count(this); i++) //analizza fino alla posizione
+ spb.AnalyzeCommand(file.GetList(this)[i], false);
mQueuePtr.Enqueue(new GrblCommand("G90")); //absolute coordinate
mQueuePtr.Enqueue(new GrblCommand(string.Format("M5 G0 {0} {1} {2} {3} {4}", spb.X, spb.Y, spb.Z, spb.F, spb.S))); //fast go to the computed position with laser off and set speed and power
mQueuePtr.Enqueue(new GrblCommand(spb.GetSettledModals()));
- mTP.JobContinue(LoadedFile, position, mQueuePtr.Count);
+ mTP.JobContinue(core, LoadedFile, position, mQueuePtr.Count);
- for (int i = position; i < file.Count; i++) //enqueue remaining commands
+ for (int i = position; i < file.Count(this); i++) //enqueue remaining commands
{
if (spb != null) //check the very first movement command and ensure modal MotionMode is settled
{
- GrblCommand cmd = file[i].Clone() as GrblCommand;
+ GrblCommand cmd = file.GetList(this)[i].Clone() as GrblCommand;
cmd.BuildHelper();
if (cmd.IsMovement && cmd.G == null)
mQueuePtr.Enqueue(new GrblCommand(spb.MotionMode, cmd));
@@ -1297,14 +1320,14 @@ private void ContinueProgramFromKnown(int position, bool homing, bool setwco)
}
else
{
- mQueuePtr.Enqueue(file[i].Clone() as GrblCommand);
+ mQueuePtr.Enqueue(file.GetList(this)[i].Clone() as GrblCommand);
}
}
}
}
public bool HasProgram
- { get { return file != null && file.Count > 0; } }
+ { get { return file != null && file.Count(this) > 0; } }
public void EnqueueCommand(GrblCommand cmd)
{
@@ -1350,7 +1373,7 @@ public void OpenCom()
Logger.LogMessage("OpenCom", "Error: {0}", ex.Message);
SetStatus(MacStatus.Disconnected);
com.Close(true);
- System.Windows.Forms.MessageBox.Show(ex.Message, Strings.BoxConnectErrorTitle, System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
+ System.Windows.Forms.MessageBox.Show(ex.Message, Strings.BoxConnectErrorTitle, System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
}
}
@@ -1374,7 +1397,7 @@ public void CloseCom(bool user)
{ ClearQueue(false); } //non resettare l'elenco delle cose mandate così da non sbiancare la lista
SetStatus(MacStatus.Disconnected);
- }
+ }
catch (Exception ex)
{
Logger.LogException("CloseCom", ex);
@@ -1437,12 +1460,12 @@ private void InternalReset(bool device)
RiseOverrideChanged();
}
- protected virtual void SendBoardResetCommand()
- {
- SendImmediate(24);
+ protected virtual void SendBoardResetCommand()
+ {
+ SendImmediate(24);
}
- public virtual void SendImmediate(byte b, bool mute = false)
+ public virtual void SendImmediate(byte b, bool mute = false)
{
try
{
@@ -1521,12 +1544,12 @@ public bool SupportCSV
public bool SupportOverride
{ get { return GrblVersion != null && GrblVersion >= new GrblVersionInfo(1, 1); } }
- public bool SupportLaserMode
- { get { return GrblVersion != null && GrblVersion >= new GrblVersionInfo(1, 1); } }
+ public bool SupportLaserMode
+ { get { return GrblVersion != null && GrblVersion >= new GrblVersionInfo(1, 1); } }
- #endregion
+ #endregion
- public bool JogEnabled
+ public bool JogEnabled
{
get
{
@@ -1537,18 +1560,18 @@ public bool JogEnabled
}
}
- internal void EnqueueZJog(JogDirection dir, decimal step, bool fast)
- {
- if (JogEnabled)
- {
+ internal void EnqueueZJog(JogDirection dir, decimal step, bool fast)
+ {
+ if (JogEnabled)
+ {
mPrenotedJogSpeed = (fast ? 100000 : JogSpeed);
if (SupportTrueJogging)
- DoJogV11(dir, step);
- else
- EmulateJogV09(dir, step); //immediato
- }
- }
+ DoJogV11(dir, step);
+ else
+ EmulateJogV09(dir, step); //immediato
+ }
+ }
public void BeginJog(PointF target, bool fast)
{
@@ -1572,7 +1595,7 @@ private PointF LimitToBound(PointF target)
PointF rv = new PointF(Math.Min(Math.Max(target.X, -mWCO.X), (float)Configuration.TableWidth - mWCO.X), Math.Min(Math.Max(target.Y, -mWCO.Y), (float)Configuration.TableHeight - mWCO.Y));
return rv;
}
-
+
return target;
}
@@ -1593,8 +1616,8 @@ public void BeginJog(JogDirection dir, bool fast) //da chiamare su ButtonDown
{
if (dir == JogDirection.Home)
{
- EnqueueCommand(new GrblCommand(string.Format("G90")));
- EnqueueCommand(new GrblCommand(string.Format("G0X0Y0F{0}", mPrenotedJogSpeed)));
+ EnqueueCommand(new GrblCommand(string.Format("G90")));
+ EnqueueCommand(new GrblCommand(string.Format("G0X0Y0F{0}", mPrenotedJogSpeed)));
}
else
{
@@ -1608,12 +1631,12 @@ public void BeginJog(JogDirection dir, bool fast) //da chiamare su ButtonDown
cmd += $"Y{step.ToString("0.0", NumberFormatInfo.InvariantInfo)}";
if (dir == JogDirection.SW || dir == JogDirection.S || dir == JogDirection.SE)
cmd += $"Y-{step.ToString("0.0", NumberFormatInfo.InvariantInfo)}";
- if (dir == JogDirection.Zdown)
- cmd += $"Z-{step.ToString("0.0", NumberFormatInfo.InvariantInfo)}";
- if (dir == JogDirection.Zup)
- cmd += $"Z{step.ToString("0.0", NumberFormatInfo.InvariantInfo)}";
+ if (dir == JogDirection.Zdown)
+ cmd += $"Z-{step.ToString("0.0", NumberFormatInfo.InvariantInfo)}";
+ if (dir == JogDirection.Zup)
+ cmd += $"Z{step.ToString("0.0", NumberFormatInfo.InvariantInfo)}";
- cmd += $"F{mPrenotedJogSpeed}";
+ cmd += $"F{mPrenotedJogSpeed}";
EnqueueCommand(new GrblCommand("G91"));
EnqueueCommand(new GrblCommand(cmd));
@@ -1636,18 +1659,18 @@ public void BeginJog(JogDirection dir, bool fast) //da chiamare su ButtonDown
private void DoJogV11(JogDirection dir, decimal step)
{
if (ContinuosJogEnabled && dir != JogDirection.Zdown && dir != JogDirection.Zup) //se C.J. e non Z => prenotato
- {
- mPrenotedJogDirection = dir;
+ {
+ mPrenotedJogDirection = dir;
//lo step è quello configurato
}
- else //non è CJ o non è Z => immediate enqueue jog command
- {
- mPrenotedJogDirection = JogDirection.None;
+ else //non è CJ o non è Z => immediate enqueue jog command
+ {
+ mPrenotedJogDirection = JogDirection.None;
if (dir == JogDirection.Home)
- EnqueueCommand(new GrblCommand(string.Format("$J=G90X0Y0F{0}", mPrenotedJogSpeed)));
- else
- EnqueueCommand(GetRelativeJogCommandv11(dir, step));
- }
+ EnqueueCommand(new GrblCommand(string.Format("$J=G90X0Y0F{0}", mPrenotedJogSpeed)));
+ else
+ EnqueueCommand(GetRelativeJogCommandv11(dir, step));
+ }
}
private void DoJogV11(PointF target)
@@ -1668,12 +1691,12 @@ private GrblCommand GetRelativeJogCommandv11(JogDirection dir, decimal step)
cmd += $"Y{step.ToString("0.0", NumberFormatInfo.InvariantInfo)}";
if (dir == JogDirection.SW || dir == JogDirection.S || dir == JogDirection.SE)
cmd += $"Y-{step.ToString("0.0", NumberFormatInfo.InvariantInfo)}";
- if (dir == JogDirection.Zdown)
- cmd += $"Z-{step.ToString("0.0", NumberFormatInfo.InvariantInfo)}";
- if (dir == JogDirection.Zup)
- cmd += $"Z{step.ToString("0.0", NumberFormatInfo.InvariantInfo)}";
+ if (dir == JogDirection.Zdown)
+ cmd += $"Z-{step.ToString("0.0", NumberFormatInfo.InvariantInfo)}";
+ if (dir == JogDirection.Zup)
+ cmd += $"Z{step.ToString("0.0", NumberFormatInfo.InvariantInfo)}";
- cmd += $"F{mPrenotedJogSpeed}";
+ cmd += $"F{mPrenotedJogSpeed}";
return new GrblCommand(cmd);
}
@@ -1694,7 +1717,7 @@ private GrblCommand GetContinuosJogCommandv11(JogDirection dir)
public void EndJogV11() //da chiamare su ButtonUp
{
- mPrenotedJogDirection = JogDirection.Abort;
+ mPrenotedJogDirection = JogDirection.Abort;
}
private void PushJogCommand()
@@ -1708,7 +1731,7 @@ private void PushJogCommand()
}
else if (mPrenotedJogDirection == JogDirection.Home)
{
- EnqueueCommand(new GrblCommand(string.Format("$J=G90X0Y0F{0}", mPrenotedJogSpeed)));
+ EnqueueCommand(new GrblCommand(string.Format("$J=G90X0Y0F{0}", mPrenotedJogSpeed)));
}
else
{
@@ -1788,10 +1811,10 @@ protected virtual void DetectHang()
//}
bool noQueryResponse = debugLastStatusDelay.ElapsedTime > TimeSpan.FromTicks(QueryTimer.Period.Ticks * 10) && debugLastStatusDelay.ElapsedTime > TimeSpan.FromSeconds(5);
- //bool noMovement = !executingM4 && debugLastMoveDelay.ElapsedTime > TimeSpan.FromSeconds(10);
+ //bool noMovement = !executingM4 && debugLastMoveDelay.ElapsedTime > TimeSpan.FromSeconds(10);
- if (noQueryResponse)
- SetIssue(DetectedIssue.StopResponding);
+ if (noQueryResponse)
+ SetIssue(DetectedIssue.StopResponding);
//else if (noMovement)
// SetIssue(DetectedIssue.StopMoving);
@@ -1805,7 +1828,7 @@ private void OnConnectTimeout()
{
Logger.LogMessage("OpenCom", "Connection timeout!");
com.Close(true); //this cause disconnection from RX thread ("ReadLineOrDisconnect")
- }
+ }
}
private bool CanSend()
@@ -2127,7 +2150,7 @@ private void ManageOrturFirmwareMessage(string rline)
{
mVersionSeen = rline;
mVersionSeen = mVersionSeen.Replace("OLF", "");
- mVersionSeen = mVersionSeen.Trim(new char[] { '.', ' ', ':' } );
+ mVersionSeen = mVersionSeen.Trim(new char[] { '.', ' ', ':' });
Logger.LogMessage("OrturInfo", "Detected OLF {0}", mVersionSeen);
}
catch (Exception ex)
@@ -2235,21 +2258,21 @@ private void ParseWCO(string p)
{
string wco = p.Substring(4, p.Length - 4);
string[] xyz = wco.Split(",".ToCharArray());
- SetWCO(new GPoint(ParseFloat(xyz,0), ParseFloat(xyz,1), ParseFloat(xyz,2)));
+ SetWCO(new GPoint(ParseFloat(xyz, 0), ParseFloat(xyz, 1), ParseFloat(xyz, 2)));
}
private void ParseWPos(string p)
{
string wpos = p.Substring(5, p.Length - 5);
string[] xyz = wpos.Split(",".ToCharArray());
- SetMPosition(mWCO + new GPoint(ParseFloat(xyz,0), ParseFloat(xyz,1), ParseFloat(xyz,2)));
+ SetMPosition(mWCO + new GPoint(ParseFloat(xyz, 0), ParseFloat(xyz, 1), ParseFloat(xyz, 2)));
}
private void ParseMPos(string p)
{
string mpos = p.Substring(5, p.Length - 5);
string[] xyz = mpos.Split(",".ToCharArray());
- SetMPosition(new GPoint(ParseFloat(xyz,0), ParseFloat(xyz,1), ParseFloat(xyz,2)));
+ SetMPosition(new GPoint(ParseFloat(xyz, 0), ParseFloat(xyz, 1), ParseFloat(xyz, 2)));
}
protected static float ParseFloat(string value)
@@ -2257,7 +2280,7 @@ protected static float ParseFloat(string value)
return float.Parse(value, NumberFormatInfo.InvariantInfo);
}
- protected static float ParseFloat(string [] arr, int idx, float defval = 0.0f)
+ protected static float ParseFloat(string[] arr, int idx, float defval = 0.0f)
{
if (arr == null || idx < 0 || idx >= arr.Length) return defval;
return float.Parse(arr[idx], NumberFormatInfo.InvariantInfo);
@@ -2308,7 +2331,7 @@ private void ParseFS(string p)
{
string sfs = p.Substring(3, p.Length - 3);
string[] fs = sfs.Split(",".ToCharArray());
- SetFS(ParseFloat(fs,0), ParseFloat(fs,1));
+ SetFS(ParseFloat(fs, 0), ParseFloat(fs, 1));
}
protected virtual void ParseF(string p)
@@ -2516,12 +2539,13 @@ protected virtual void ParseMachineStatus(string data)
SetStatus(var);
}
-
- protected virtual void ForceStatusIdle() {} // Used by Marlin to update status to Idle (As Marlin has no immediate message)
+
+ protected virtual void ForceStatusIdle() { } // Used by Marlin to update status to Idle (As Marlin has no immediate message)
private void OnProgramEnd()
{
- if (mTP.JobEnd(mLoopCount == 1) && mLoopCount > 1 && mMachineStatus != MacStatus.Check)
+ /* commentato perché tutti i loop vengono generati direttamente da GrblFile
+ if (mTP.JobEnd(LoopCount == 1) && LoopCount > 1 && mMachineStatus != MacStatus.Check)
{
Logger.LogMessage("CycleEnd", "Cycle Executed: {0} lines, {1} errors, {2}", file.Count, mTP.ErrorCount, Tools.Utils.TimeSpanToString(ProgramTime, Tools.Utils.TimePrecision.Second, Tools.Utils.TimePrecision.Second, ",", true));
mSentPtr.Add(new GrblMessage(string.Format("[{0} lines, {1} errors, {2}]", file.Count, mTP.ErrorCount, Tools.Utils.TimeSpanToString(ProgramTime, Tools.Utils.TimePrecision.Second, Tools.Utils.TimePrecision.Second, ",", true)), false));
@@ -2530,19 +2554,21 @@ private void OnProgramEnd()
RunProgramFromStart(false, false, true);
}
else
- {
- Logger.LogMessage("ProgramEnd", "Job Executed: {0} lines, {1} errors, {2}", file.Count, mTP.ErrorCount, Tools.Utils.TimeSpanToString(ProgramTime, Tools.Utils.TimePrecision.Second, Tools.Utils.TimePrecision.Second, ",", true));
- mSentPtr.Add(new GrblMessage(string.Format("[{0} lines, {1} errors, {2}]", file.Count, mTP.ErrorCount, Tools.Utils.TimeSpanToString(ProgramTime, Tools.Utils.TimePrecision.Second, Tools.Utils.TimePrecision.Second, ",", true)), false));
+ {*/
+ mTP.JobEnd(file.Count(this) == 1);
+ Logger.LogMessage("ProgramEnd", "Job Executed: {0} lines, {1} errors, {2}", file.Count(this), mTP.ErrorCount, Tools.Utils.TimeSpanToString(ProgramTime, Tools.Utils.TimePrecision.Second, Tools.Utils.TimePrecision.Second, ",", true));
+ mSentPtr.Add(new GrblMessage(string.Format("[{0} lines, {1} errors, {2}]", file.Count(this), mTP.ErrorCount, Tools.Utils.TimeSpanToString(ProgramTime, Tools.Utils.TimePrecision.Second, Tools.Utils.TimePrecision.Second, ",", true)), false));
OnJobEnd();
+ Console.Out.WriteLine("*********");
SoundEvent.PlaySound(SoundEvent.EventId.Success);
if (ProgramGlobalTime.TotalMinutes >= (int)Settings.GetObject("TelegramNotification.Threshold", 1))
- Telegram.NotifyEvent(String.Format("Job Executed\n{0} lines, {1} errors\nTime: {2}", file.Count, mTP.ErrorCount, Tools.Utils.TimeSpanToString(ProgramGlobalTime, Tools.Utils.TimePrecision.Second, Tools.Utils.TimePrecision.Second, ",", true)));
+ Telegram.NotifyEvent(String.Format("Job Executed\n{0} lines, {1} errors\nTime: {2}", file.Count(this), mTP.ErrorCount, Tools.Utils.TimeSpanToString(ProgramGlobalTime, Tools.Utils.TimePrecision.Second, Tools.Utils.TimePrecision.Second, ",", true)));
ForceStatusIdle();
- }
+ //}
}
private bool InPause
@@ -2556,13 +2582,11 @@ private void ClearQueue(bool sent)
mRetryQueue = null;
}
- public bool CanReOpenFile
+ public bool CanReOpenFile(int nLayer)
{
- get
- {
- string lastFile = Settings.GetObject("Core.LastOpenFile", null);
- return CanLoadNewFile && lastFile != null && System.IO.File.Exists(lastFile);
- }
+ string layerSuffix = nLayer > 0 ? nLayer.ToString() : "";
+ string lastFile = Settings.GetObject("Core.LastOpenFile" + layerSuffix, null);
+ return CanLoadNewFile && lastFile != null && System.IO.File.Exists(lastFile);
}
public bool CanLoadNewFile
@@ -2601,8 +2625,39 @@ public bool CanResumeHold
public bool CanReadWriteConfig
{ get { return IsConnected && !InProgram && (MachineStatus == MacStatus.Idle || MachineStatus == MacStatus.Alarm); } }
- public decimal LoopCount
- { get { return mLoopCount; } set { mLoopCount = value; if (OnLoopCountChange != null) OnLoopCountChange(mLoopCount); } }
+ public int LoopCount(int nLayer)
+ {
+ return mLoopCount[nLayer];
+ }
+ public void LoopCount(int nLayer, int value)
+ {
+ mLoopCount[nLayer] = value;
+ if (OnLoopCountChange != null)
+ {
+ OnLoopCountChange(mLoopCount[nLayer], nLayer);
+ }
+ file.Analyze(this);
+ }
+
+ public bool[] LayerEnabled()
+ {
+ return layerEnabled;
+ }
+
+ public bool LayerEnabled(int nLayer)
+ {
+ return layerEnabled[nLayer];
+ }
+
+ public void LayerEnabled(int nLayer, bool value)
+ {
+ layerEnabled[nLayer] = value;
+ if (OnLayerEnabledChange != null)
+ {
+ OnLayerEnabledChange(layerEnabled[nLayer], nLayer);
+ }
+ file.Analyze(this);
+ }
private ThreadingMode CurrentThreadingMode
{ get { return Settings.GetObject("Threading Mode", ThreadingMode.UltraFast); } }
@@ -3080,12 +3135,12 @@ public void JobStart(GrblFile file, Queue mQueuePtr, bool global)
}
}
- public void JobContinue(GrblFile file, int position, int added)
+ public void JobContinue(GrblCore core, GrblFile file, int position, int added)
{
if (!mStarted)
{
if (mETarget == TimeSpan.Zero) mETarget = file.EstimatedTime;
- if (mTargetCount == 0) mTargetCount = file.Count;
+ if (mTargetCount == 0) mTargetCount = file.Count(core);
//mEProgress = TimeSpan.Zero;
if (mStart == 0)
mGlobalStart = mStart = Tools.HiResTimer.TotalMilliseconds;
diff --git a/LaserGRBL/GrblFile.cs b/LaserGRBL/GrblFile.cs
index fdb69f35..17eb5bcf 100644
--- a/LaserGRBL/GrblFile.cs
+++ b/LaserGRBL/GrblFile.cs
@@ -18,15 +18,15 @@
namespace LaserGRBL
{
- public class GrblFile : IEnumerable
+ public class GrblFile
{
public enum CartesianQuadrant { I, II, III, IV, Mix, Unknown }
- public delegate void OnFileLoadedDlg(long elapsed, string filename);
+ public delegate void OnFileLoadedDlg(long elapsed, string filename, int nLayer);
public event OnFileLoadedDlg OnFileLoading;
public event OnFileLoadedDlg OnFileLoaded;
- private List list = new List();
+ private List[] list = { new List(), new List(), new List() };
private ProgramRange mRange = new ProgramRange();
private TimeSpan mEstimatedTotalTime;
@@ -41,7 +41,7 @@ public GrblFile(decimal x, decimal y, decimal x1, decimal y1)
mRange.UpdateXYRange(new GrblCommand.Element('X', x1), new GrblCommand.Element('Y', y1), false);
}
- public void SaveGCODE(string filename, bool header, bool footer, bool between, int cycles, GrblCore core)
+ public void SaveGCODE(string filename, bool header, bool footer, bool between, int[] cycles, GrblCore core)
{
try
{
@@ -50,14 +50,16 @@ public void SaveGCODE(string filename, bool header, bool footer, bool between, i
if (header)
EvaluateAddLines(core, sw, Settings.GetObject("GCode.CustomHeader", GrblCore.GCODE_STD_HEADER));
- for (int i = 0; i < cycles; i++)
+ for (int j = 0; j < 3; j++)
{
- foreach (GrblCommand cmd in list)
- sw.WriteLine(cmd.Command);
-
+ for (int i = 0; i < cycles[j]; i++)
+ {
+ if (between && i > 0)
+ EvaluateAddLines(core, sw, Settings.GetObject("GCode.CustomPasses", GrblCore.GCODE_STD_PASSES));
- if (between && i < cycles - 1)
- EvaluateAddLines(core, sw, Settings.GetObject("GCode.CustomPasses", GrblCore.GCODE_STD_PASSES));
+ foreach (GrblCommand cmd in list[j])
+ sw.WriteLine(cmd.Command);
+ }
}
if (footer)
@@ -83,14 +85,14 @@ private static void EvaluateAddLines(GrblCore core, System.IO.StreamWriter sw, s
}
}
- public void LoadFile(string filename, bool append)
+ public void LoadFile(string filename, bool append, int nLayer, GrblCore core)
{
- RiseOnFileLoading(filename);
+ RiseOnFileLoading(filename, nLayer);
long start = Tools.HiResTimer.TotalMilliseconds;
if (!append)
- list.Clear();
+ list[nLayer].Clear();
mRange.ResetRange();
if (System.IO.File.Exists(filename))
@@ -103,24 +105,24 @@ public void LoadFile(string filename, bool append)
{
GrblCommand cmd = new GrblCommand(line);
if (!cmd.IsEmpty)
- list.Add(cmd);
+ list[nLayer].Add(cmd);
}
}
}
- Analyze();
+ Analyze(core);
long elapsed = Tools.HiResTimer.TotalMilliseconds - start;
- RiseOnFileLoaded(filename, elapsed);
+ RiseOnFileLoaded(filename, elapsed, nLayer);
}
- public void LoadImportedSVG(string filename, bool append, GrblCore core)
+ public void LoadImportedSVG(string filename, bool append, GrblCore core, int nLayer)
{
- RiseOnFileLoading(filename);
+ RiseOnFileLoading(filename, nLayer);
long start = Tools.HiResTimer.TotalMilliseconds;
if (!append)
- list.Clear();
+ list[nLayer].Clear();
mRange.ResetRange();
@@ -137,14 +139,14 @@ public void LoadImportedSVG(string filename, bool append, GrblCore core)
{
GrblCommand cmd = new GrblCommand(line);
if (!cmd.IsEmpty)
- list.Add(cmd);
+ list[nLayer].Add(cmd);
}
}
- Analyze();
+ Analyze(core);
long elapsed = Tools.HiResTimer.TotalMilliseconds - start;
- RiseOnFileLoaded(filename, elapsed);
+ RiseOnFileLoaded(filename, elapsed, nLayer);
}
@@ -296,17 +298,17 @@ public static bool TimeConsumingFilling(RasterConverter.ImageProcessor.Direction
dir == RasterConverter.ImageProcessor.Direction.NewSquares;
}
- public void LoadImagePotrace(Bitmap bmp, string filename, bool UseSpotRemoval, int SpotRemoval, bool UseSmoothing, decimal Smoothing, bool UseOptimize, decimal Optimize, bool useOptimizeFast, L2LConf c, bool append, GrblCore core)
+ public void LoadImagePotrace(Bitmap bmp, string filename, bool UseSpotRemoval, int SpotRemoval, bool UseSmoothing, decimal Smoothing, bool UseOptimize, decimal Optimize, bool useOptimizeFast, L2LConf c, bool append, GrblCore core, int nLayer)
{
skipcmd = Settings.GetObject("Disable G0 fast skip", false) ? "G1" : "G0";
- RiseOnFileLoading(filename);
+ RiseOnFileLoading(filename, nLayer);
bmp.RotateFlip(RotateFlipType.RotateNoneFlipY);
long start = Tools.HiResTimer.TotalMilliseconds;
if (!append)
- list.Clear();
+ list[nLayer].Clear();
//list.Add(new GrblCommand("G90")); //absolute (Moved to custom Header)
@@ -339,20 +341,20 @@ public void LoadImagePotrace(Bitmap bmp, string filename, bool UseSpotRemoval, i
using (Bitmap resampled = RasterConverter.ImageTransform.ResizeImage(ptb, new Size((int)(bmp.Width * c.fres / c.res) + 1, (int)(bmp.Height * c.fres / c.res) + 1), true, InterpolationMode.HighQualityBicubic))
{
if (c.pwm)
- list.Add(new GrblCommand(String.Format("{0} S0", c.lOn))); //laser on and power to zero
+ list[nLayer].Add(new GrblCommand(String.Format("{0} S0", c.lOn))); //laser on and power to zero
else
- list.Add(new GrblCommand(String.Format($"{c.lOff} S{GrblCore.Configuration.MaxPWM}"))); //laser off and power to max power
+ list[nLayer].Add(new GrblCommand(String.Format($"{c.lOff} S{GrblCore.Configuration.MaxPWM}"))); //laser off and power to max power
//set speed to markspeed
// For marlin, need to specify G1 each time :
// list.Add(new GrblCommand(String.Format("G1 F{0}", c.markSpeed)));
- list.Add(new GrblCommand(String.Format("F{0}", c.markSpeed)));
+ list[nLayer].Add(new GrblCommand(String.Format("F{0}", c.markSpeed)));
c.vectorfilling = true;
- ImageLine2Line(resampled, c);
+ ImageLine2Line(resampled, c, nLayer);
//laser off
- list.Add(new GrblCommand(c.lOff));
+ list[nLayer].Add(new GrblCommand(c.lOff));
}
}
}
@@ -362,9 +364,9 @@ public void LoadImagePotrace(Bitmap bmp, string filename, bool UseSpotRemoval, i
if (supportPWM)
- list.Add(new GrblCommand($"{c.lOn} S0")); //laser on and power to 0
+ list[nLayer].Add(new GrblCommand($"{c.lOn} S0")); //laser on and power to 0
else
- list.Add(new GrblCommand($"{c.lOff} S{GrblCore.Configuration.MaxPWM}")); //laser off and power to maxPower
+ list[nLayer].Add(new GrblCommand($"{c.lOff} S{GrblCore.Configuration.MaxPWM}")); //laser off and power to maxPower
//trace raster filling
if (flist != null)
@@ -375,9 +377,9 @@ public void LoadImagePotrace(Bitmap bmp, string filename, bool UseSpotRemoval, i
else
gc.AddRange(Potrace.Export2GCode(flist, c.oX, c.oY, c.res, c.lOn, c.lOff, bmp.Size, skipcmd));
- list.Add(new GrblCommand(String.Format("F{0}", c.markSpeed)));
+ list[nLayer].Add(new GrblCommand(String.Format("F{0}", c.markSpeed)));
foreach (string code in gc)
- list.Add(new GrblCommand(code));
+ list[nLayer].Add(new GrblCommand(code));
}
@@ -398,9 +400,9 @@ public void LoadImagePotrace(Bitmap bmp, string filename, bool UseSpotRemoval, i
// For marlin, need to specify G1 each time :
//list.Add(new GrblCommand(String.Format("G1 F{0}", c.borderSpeed)));
- list.Add(new GrblCommand(String.Format("F{0}", c.borderSpeed)));
+ list[nLayer].Add(new GrblCommand(String.Format("F{0}", c.borderSpeed)));
foreach (string code in gc)
- list.Add(new GrblCommand(code));
+ list[nLayer].Add(new GrblCommand(code));
}
//if (supportPWM)
@@ -414,24 +416,24 @@ public void LoadImagePotrace(Bitmap bmp, string filename, bool UseSpotRemoval, i
//laser off (superflua??)
if (supportPWM)
- list.Add(new GrblCommand(c.lOff)); //necessaria perché finisce con solo S0
+ list[nLayer].Add(new GrblCommand(c.lOff)); //necessaria perché finisce con solo S0
- Analyze();
+ Analyze(core);
long elapsed = Tools.HiResTimer.TotalMilliseconds - start;
- RiseOnFileLoaded(filename, elapsed);
+ RiseOnFileLoaded(filename, elapsed, nLayer);
}
- private void RiseOnFileLoaded(string filename, long elapsed)
+ private void RiseOnFileLoaded(string filename, long elapsed, int nLayer)
{
if (OnFileLoaded != null)
- OnFileLoaded(elapsed, filename);
+ OnFileLoaded(elapsed, filename, nLayer);
}
- private void RiseOnFileLoading(string filename)
+ private void RiseOnFileLoading(string filename, int nLayer)
{
if (OnFileLoading != null)
- OnFileLoading(0, filename);
+ OnFileLoading(0, filename, nLayer);
}
public class L2LConf
@@ -453,19 +455,19 @@ public class L2LConf
}
private string skipcmd = "G0";
- public void LoadImageL2L(Bitmap bmp, string filename, L2LConf c, bool append, GrblCore core)
+ public void LoadImageL2L(Bitmap bmp, string filename, L2LConf c, bool append, GrblCore core, int nLayer)
{
skipcmd = Settings.GetObject("Disable G0 fast skip", false) ? "G1" : "G0";
- RiseOnFileLoading(filename);
+ RiseOnFileLoading(filename, nLayer);
bmp.RotateFlip(RotateFlipType.RotateNoneFlipY);
long start = Tools.HiResTimer.TotalMilliseconds;
if (!append)
- list.Clear();
+ list[nLayer].Clear();
mRange.ResetRange();
@@ -473,34 +475,34 @@ public void LoadImageL2L(Bitmap bmp, string filename, L2LConf c, bool append, Gr
//list.Add(new GrblCommand("G90")); //(Moved to custom Header)
//move fast to offset (or slow if disable G0) and set mark speed
- list.Add(new GrblCommand(String.Format("{0} X{1} Y{2} F{3}", skipcmd, formatnumber(c.oX), formatnumber(c.oY), c.markSpeed)));
+ list[nLayer].Add(new GrblCommand(String.Format("{0} X{1} Y{2} F{3}", skipcmd, formatnumber(c.oX), formatnumber(c.oY), c.markSpeed)));
if (c.pwm)
- list.Add(new GrblCommand(String.Format("{0} S0", c.lOn))); //laser on and power to zero
+ list[nLayer].Add(new GrblCommand(String.Format("{0} S0", c.lOn))); //laser on and power to zero
else
- list.Add(new GrblCommand($"{c.lOff} S{GrblCore.Configuration.MaxPWM}")); //laser off and power to maxpower
+ list[nLayer].Add(new GrblCommand($"{c.lOff} S{GrblCore.Configuration.MaxPWM}")); //laser off and power to maxpower
//set speed to markspeed
// For marlin, need to specify G1 each time :
//list.Add(new GrblCommand(String.Format("G1 F{0}", c.markSpeed)));
//list.Add(new GrblCommand(String.Format("F{0}", c.markSpeed))); //replaced by the first move to offset and set speed
- ImageLine2Line(bmp, c);
+ ImageLine2Line(bmp, c, nLayer);
//laser off
- list.Add(new GrblCommand(c.lOff));
+ list[nLayer].Add(new GrblCommand(c.lOff));
//move fast to origin
//list.Add(new GrblCommand("G0 X0 Y0")); //moved to custom footer
- Analyze();
+ Analyze(core);
long elapsed = Tools.HiResTimer.TotalMilliseconds - start;
- RiseOnFileLoaded(filename, elapsed);
+ RiseOnFileLoaded(filename, elapsed, nLayer);
}
// For Marlin, as we sen M106 command, we need to know last color send
//private int lastColorSend = 0;
- private void ImageLine2Line(Bitmap bmp, L2LConf c)
+ private void ImageLine2Line(Bitmap bmp, L2LConf c, int nLayer)
{
bool fast = true;
List segments = GetSegments(bmp, c);
@@ -545,7 +547,7 @@ private void ImageLine2Line(Bitmap bmp, L2LConf c)
}
temp = OptimizeLine2Line(temp, c);
- list.AddRange(temp);
+ list[nLayer].AddRange(temp);
}
@@ -924,8 +926,10 @@ public string formatnumber(double number)
private static bool IsEven(int value)
{ return value % 2 == 0; }
- public int Count
- { get { return list.Count; } }
+ public int Count(GrblCore core)
+ {
+ return GetList(core).Count;
+ }
public TimeSpan EstimatedTime { get { return mEstimatedTotalTime; } }
@@ -952,7 +956,7 @@ public CartesianQuadrant Quadrant
}
}
- internal void DrawOnGraphics(Graphics g, Size size)
+ internal void DrawOnGraphics(Graphics g, Size size, int nLayer, bool[] enabled)
{
if (!mRange.MovingRange.ValidRange) return;
@@ -964,15 +968,15 @@ internal void DrawOnGraphics(Graphics g, Size size)
ScaleAndPosition(g, size, scaleRange, zoom);
- DrawJobPreview(g, spb, zoom);
+ if (enabled[nLayer]) DrawJobPreview(g, spb, zoom, nLayer);
DrawJobRange(g, size, zoom);
}
- private void DrawJobPreview(Graphics g, GrblCommand.StatePositionBuilder spb, float zoom)
+ private void DrawJobPreview(Graphics g, GrblCommand.StatePositionBuilder spb, float zoom, int nLayer)
{
bool firstline = true; //used to draw the first line in a different color
- foreach (GrblCommand cmd in list)
+ foreach (GrblCommand cmd in list[nLayer])
{
try
{
@@ -982,11 +986,13 @@ private void DrawJobPreview(Graphics g, GrblCommand.StatePositionBuilder spb, fl
if (spb.TrueMovement())
{
- Color linecolor = Color.FromArgb(spb.GetCurrentAlpha(mRange.SpindleRange), firstline ? ColorScheme.PreviewFirstMovement : spb.LaserBurning ? ColorScheme.PreviewLaserPower : ColorScheme.PreviewOtherMovement);
+ Color linecolor = Color.FromArgb(spb.GetCurrentAlpha(mRange.SpindleRange), firstline ? ColorScheme.PreviewFirstMovement : spb.LaserBurning ? ColorScheme.PreviewLaserPower[nLayer] : ColorScheme.PreviewOtherMovement);
using (Pen pen = GetPen(linecolor))
{
pen.ScaleTransform(1 / zoom, 1 / zoom);
+ if (nLayer == 2 && !firstline) pen.Width = 2;
+
if (!spb.LaserBurning)
{
pen.DashStyle = DashStyle.Dash;
@@ -1007,7 +1013,6 @@ private void DrawJobPreview(Graphics g, GrblCommand.StatePositionBuilder spb, fl
catch { System.Diagnostics.Debug.WriteLine(String.Format("Ex drwing arc: W{0} H{1}", ah.RectW, ah.RectH)); }
}
}
-
}
firstline = false;
@@ -1018,15 +1023,15 @@ private void DrawJobPreview(Graphics g, GrblCommand.StatePositionBuilder spb, fl
}
}
- internal void LoadImageCenterline(Bitmap bmp, string filename, bool useCornerThreshold, int cornerThreshold, bool useLineThreshold, int lineThreshold, L2LConf conf, bool append, GrblCore core)
+ internal void LoadImageCenterline(Bitmap bmp, string filename, bool useCornerThreshold, int cornerThreshold, bool useLineThreshold, int lineThreshold, L2LConf conf, bool append, GrblCore core, int nLayer)
{
- RiseOnFileLoading(filename);
+ RiseOnFileLoading(filename, nLayer);
long start = Tools.HiResTimer.TotalMilliseconds;
if (!append)
- list.Clear();
+ list[nLayer].Clear();
mRange.ResetRange();
@@ -1055,18 +1060,18 @@ internal void LoadImageCenterline(Bitmap bmp, string filename, bool useCornerThr
{
GrblCommand cmd = new GrblCommand(line);
if (!cmd.IsEmpty)
- list.Add(cmd);
+ list[nLayer].Add(cmd);
}
}
- Analyze();
+ Analyze(core);
long elapsed = Tools.HiResTimer.TotalMilliseconds - start;
- RiseOnFileLoaded(filename, elapsed);
+ RiseOnFileLoaded(filename, elapsed, nLayer);
}
- private void Analyze() //analyze the file and build global range and timing for each command
+ public void Analyze(GrblCore core) //analyze the file and build global range and timing for each command
{
GrblCommand.StatePositionBuilder spb = new GrblCommand.StatePositionBuilder();
@@ -1074,25 +1079,29 @@ internal void LoadImageCenterline(Bitmap bmp, string filename, bool useCornerThr
mRange.UpdateXYRange("X0", "Y0", false);
mEstimatedTotalTime = TimeSpan.Zero;
- foreach (GrblCommand cmd in list)
+ for (int jLayer = 0; jLayer < 3; jLayer++)
{
- try
+ if (!core.LayerEnabled(jLayer)) continue;
+ foreach (GrblCommand cmd in list[jLayer])
{
- GrblConfST conf = GrblCore.Configuration;
- TimeSpan delay = spb.AnalyzeCommand(cmd, true, conf);
+ try
+ {
+ GrblConfST conf = GrblCore.Configuration;
+ TimeSpan delay = spb.AnalyzeCommand(cmd, true, conf);
- mRange.UpdateSRange(spb.S);
+ mRange.UpdateSRange(spb.S);
- if (spb.LastArcHelperResult != null)
- mRange.UpdateXYRange(spb.LastArcHelperResult.BBox.X, spb.LastArcHelperResult.BBox.Y, spb.LastArcHelperResult.BBox.Width, spb.LastArcHelperResult.BBox.Height, spb.LaserBurning);
- else
- mRange.UpdateXYRange(spb.X, spb.Y, spb.LaserBurning);
+ if (spb.LastArcHelperResult != null)
+ mRange.UpdateXYRange(spb.LastArcHelperResult.BBox.X, spb.LastArcHelperResult.BBox.Y, spb.LastArcHelperResult.BBox.Width, spb.LastArcHelperResult.BBox.Height, spb.LaserBurning);
+ else
+ mRange.UpdateXYRange(spb.X, spb.Y, spb.LaserBurning);
- mEstimatedTotalTime += delay;
- cmd.SetOffset(mEstimatedTotalTime);
+ mEstimatedTotalTime += TimeSpan.FromTicks(delay.Ticks * core.LoopCount(jLayer));
+ cmd.SetOffset(mEstimatedTotalTime);
+ }
+ catch (Exception ex) { throw ex; }
+ finally { cmd.DeleteHelper(); }
}
- catch (Exception ex) { throw ex; }
- finally { cmd.DeleteHelper(); }
}
}
@@ -1280,20 +1289,27 @@ private static void DrawRotatedTextAt(Graphics g, float a, string text, Font f,
g.Restore(state); // Restore the graphics state.
}
-
-
- System.Collections.Generic.IEnumerator IEnumerable.GetEnumerator()
- { return list.GetEnumerator(); }
-
-
- public System.Collections.IEnumerator GetEnumerator()
- { return list.GetEnumerator(); }
+ public List GetList(GrblCore core)
+ {
+ List l = new List();
+ for (int i = 0; i < 3; i++)
+ {
+ if (core.LayerEnabled(i))
+ for (int j = 0; j < core.LoopCount(i); j++)
+ {
+ IEnumerator e = list[i].GetEnumerator();
+ while (e.MoveNext())
+ {
+ GrblCommand cmd = e.Current;
+ l.Add(cmd);
+ }
+ }
+ }
+ return l;
+ }
public ProgramRange Range { get { return mRange; } }
- public GrblCommand this[int index]
- { get { return list[index]; } }
-
}
diff --git a/LaserGRBL/HotKeysManager.cs b/LaserGRBL/HotKeysManager.cs
index e5491423..d479c09d 100644
--- a/LaserGRBL/HotKeysManager.cs
+++ b/LaserGRBL/HotKeysManager.cs
@@ -231,9 +231,9 @@ private bool PerformAction(Form parent, HotKey.Actions action)
case HotKey.Actions.OpenFile:
mCore.OpenFile(Application.OpenForms[0]); break;
case HotKey.Actions.ReopenLastFile:
- mCore.ReOpenFile(Application.OpenForms[0]); break;
+ mCore.ReOpenFile(Application.OpenForms[0], 0); break;
case HotKey.Actions.SaveFile:
- mCore.SaveProgram(parent, false, false, false, 1); break;
+ mCore.SaveProgram(parent, false, false, false); break;
case HotKey.Actions.ExecuteFile:
mCore.RunProgram(parent); break;
case HotKey.Actions.AbortFile:
diff --git a/LaserGRBL/LaserGRBL.csproj b/LaserGRBL/LaserGRBL.csproj
index a24c24ec..99ba611b 100644
--- a/LaserGRBL/LaserGRBL.csproj
+++ b/LaserGRBL/LaserGRBL.csproj
@@ -1,5 +1,5 @@
-
+
Debug
@@ -36,9 +36,10 @@
false
false
true
- 0
+ 1
1.0.0.%2a
false
+ true
true
@@ -54,6 +55,7 @@
false
MinimumRecommendedRules.ruleset
false
+ false
AnyCPU
@@ -66,6 +68,7 @@
true
false
Off
+ false
False
@@ -86,6 +89,42 @@
LaserGRBL.Program
+
+ true
+ bin\x86\Debug\
+ DEBUG;TRACE
+ true
+ Full
+ x86
+ false
+ 7.3
+ prompt
+ false
+ MinimumRecommendedRules.ruleset
+
+
+ bin\x86\Release\
+ TRACE
+ true
+ true
+ PdbOnly
+ x86
+ false
+ 7.3
+ prompt
+
+
+ 8B428C6A03EDEE10B26DA36832B096675C63C73C
+
+
+ LaserGRBL_TemporaryKey.pfx
+
+
+ true
+
+
+ false
+
@@ -108,11 +147,15 @@
Form
+ PreserveNewest
AutotraceTest.cs
+ PreserveNewest
+
+
+ PreserveNewest
-
@@ -970,6 +1013,7 @@
AutotraceTest.cs
+ PreserveNewest
NewVersionForm.cs
diff --git a/LaserGRBL/MainForm.cs b/LaserGRBL/MainForm.cs
index 70087a4c..6200b228 100644
--- a/LaserGRBL/MainForm.cs
+++ b/LaserGRBL/MainForm.cs
@@ -207,17 +207,17 @@ private void ManageMessage()
catch (Exception ex){ System.Diagnostics.Debug.WriteLine(ex); }
}
- void OnFileLoaded(long elapsed, string filename)
+ void OnFileLoaded(long elapsed, string filename, int nLayer)
{
if (InvokeRequired)
{
- Invoke(new GrblFile.OnFileLoadedDlg(OnFileLoaded), elapsed, filename);
+ Invoke(new GrblFile.OnFileLoadedDlg(OnFileLoaded), elapsed, filename, nLayer);
}
else
{
TimerUpdate();
//TTTFile.Text = System.IO.Path.GetFileName(filename);
- TTTLines.Text = Core.LoadedFile.Count.ToString();
+ TTTLines.Text = Core.LoadedFile.Count(Core).ToString();
//TTTLoadedIn.Text = elapsed.ToString() + " ms";
TTTEstimated.Text = Tools.Utils.TimeSpanToString(Core.LoadedFile.EstimatedTime, Tools.Utils.TimePrecision.Second, Tools.Utils.TimePrecision.Second, " ,", true);
}
@@ -296,7 +296,7 @@ private void ShowWiFiConfig()
}
}
- private void TimerUpdate()
+ public void TimerUpdate()
{
SuspendLayout();
TTTStatus.Text = GrblCore.TranslateEnum(Core.MachineStatus);
@@ -411,7 +411,7 @@ void ExitToolStripMenuItemClick(object sender, EventArgs e)
private void MnFileOpen_Click(object sender, EventArgs e)
{
- Project.ClearSettings();
+ Project.ClearSettings(0);
Core.OpenFile(this);
}
@@ -493,7 +493,7 @@ private void MnDisconnect_Click(object sender, EventArgs e)
}
void MnSaveProgramClick(object sender, EventArgs e)
{
- Core.SaveProgram(this, false, false, false, 1);
+ Core.SaveProgram(this, false, false, false);
}
private void MnAdvancedSave_Click(object sender, EventArgs e)
@@ -670,14 +670,14 @@ protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
private void MnReOpenFile_Click(object sender, EventArgs e)
{
- Project.ClearSettings();
- Core.ReOpenFile(this);
+ Project.ClearSettings(0);
+ Core.ReOpenFile(this, 0);
}
private void fileToolStripMenuItem_DropDownOpening(object sender, EventArgs e)
{
- MnReOpenFile.Enabled = Core.CanReOpenFile;
+ MnReOpenFile.Enabled = Core.CanReOpenFile(0);
}
private void MnHotkeys_Click(object sender, EventArgs e)
diff --git a/LaserGRBL/MainForm.resx b/LaserGRBL/MainForm.resx
index a0cdfdab..98dc8f24 100644
--- a/LaserGRBL/MainForm.resx
+++ b/LaserGRBL/MainForm.resx
@@ -446,7 +446,7 @@
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
- xAAADsQBlSsOGwAABZ1JREFUWEfN1llTFFcUB/D5AKlKHlKVPOQT5FFUXCIokgRlG2EGmBlkBtxwFAYV
+ wQAADsEBuJFr7QAABZ1JREFUWEfN1llTFFcUB/D5AKlKHlKVPOQT5FFUXCIokgRlG2EGmBlkBtxwFAYV
FAFpVEAkwEUFFzSIgCsIAgISYMBhBxmIoLhUYtQqt5SpJKWxEpWTc7tvT3fPAviUnKrz2r9/33tP31b9
b8qY/+Dz2Lw7Sabc25wpd5IzZU9yMdk3hd43zkXzbeeis+ycPusGp88c5jsqYxC7n4tIo93LaVJt2N2c
Zmc3F5Zsxe7g1Nt/wL7GhSRd44KTWhKCNjZ+ylih1ufd+yL2wNTz2AO3ITb3Nphyb4EpZxKM2ROAASBm
@@ -526,7 +526,7 @@
8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WPlR7X/aj3Y+uI5ciZUdfRvidB
Tx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+lf65+ofviu18cf+mbWTUz/pL/
cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeKj3ofuz55f3q4kLyw8Bv3hPP7
- LAE+RQAAAAlwSFlzAAALEwAACxMBAJqcGAAAA1lJREFUOE9lUmlsy2EYf9//1X+7tjt1B1tW6472b223
+ LAE+RQAAAAlwSFlzAAALEAAACxABrSO9dQAAA1lJREFUOE9lUmlsy2EYf9//1X+7tjt1B1tW6472b223
dp0NE3NMyBgLNjN3bAibxtwxs4khiNFI3OKDUSyORF0RIbFGWCdbMHYYX8xmFTHX5vW8c4X9kufL8/x+
z43MZvM/ZjT9NFuCWUyxJalTU4b7gqmsFgtvNBoH8AdgEIMis/zQ6tII9vIB+9I7hxxVN0o3rD2ckz11
RVRkhBFjxPyi/gue42TJ1oSMQznjHzxMZL6/TMbkbc1x8vHLV9Ld3d3X2NDw9shBh2vk8KRMjP5LIsoE
@@ -580,7 +580,7 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1
- MAAA6mAAADqYAAAXb5JfxUYAAAAJcEhZcwAACxMAAAsTAQCanBgAAAKJSURBVDhPpVPZTxpBHFYDGg9Q
+ MAAA6mAAADqYAAAXb5JfxUYAAAAJcEhZcwAACxAAAAsQAa0jvXUAAAKJSURBVDhPpVPZTxpBHFYDGg9Q
IRrEq54YEQMaj2iMDeAR9MUzEB9M9P+BJ/8KbJs+qLi2olVrNWITkWoUqPewBqWJfcAa/PrbtbB9bif5
dmb2O+Y3M7tpAP4L4mPTbHZdT03FeIeDjzgcTACz20VE/iA5v7Xb+RvSblgsrlQAm5gAHA48jY4iQcDI
CJ4nJ8VxYnz8BWNjeKb+iTjY7bgRPMmAy+HhyK+hIdwPDiJG/YXJhKhej582G+4FDAwgJnCEaH8/BO2l
@@ -650,7 +650,7 @@
XTesb3QPLh88M+QwdP6m681Lt7xuXbu94vbgcOjwnZHokdE77DtTd1PuvriXeW/h/sYH6AdFD6UeVjxS
fNTws+7PbaOWo6fHXMf6Hwc/vj/OGn/2S8Yv7ycKnpCfVEyqTDZPmU2dmnafvvF05dOJZ+nPFmYKf5X+
tfa5zvMffnP8rX82YnbiBf/Fp99LXsq/PPRq2aueuYC5R69TXy/MF72Rf3P4LeNt37vwd5MLWe+x7ys/
- 6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAALEwAACxMBAJqcGAAABZdJREFUWEfFl1tMVFcU
+ 6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAALEAAACxABrSO9dQAABZdJREFUWEfFl1tMVFcU
hkfTpkkfGpOmbRpN06R960Of25f20bRNGp9aQKltrDVWQAEZkIuAl6IiKjrAADOMdYR6qVipiKAVuViq
4oVG6zAzaLhVYGYYhmHu079r7TNnAD0O8yKS/GzOPmev/e1/r3XORgXghUqxczE170J3qm1Z7cnWPdRO
1p5oddfMyqOtb/7niOFs+V6N8UOVSrWUtITHVB5r+qDS+PsBvs/PyWN4PMVyUn+purjsjciYpXPnY0X/
@@ -1897,7 +1897,7 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
- wwAADsMBx2+oZAAAArJJREFUOE9jIBYYR9YL6wbW7NMPbTyvF9pwXieo5pheYL0oVBoV6EROE4Ay4UA3
+ wAAADsABataJCQAAArJJREFUOE9jIBYYR9YL6wbW7NMPbTyvF9pwXieo5pheYL0oVBoV6EROE4Ay4UA3
sDpEN6h6p25gha8WEAP5m4AGBkOlIQCowFYvuH6/fmjTAb2Qun3awdWWUCkGvaC6GEWP0sOiNpndIKzo
XnJAJ6QuCirNwKAdUK2kG1RzSze41kPNt5RHL6jRB2jLTc2gajmQvIZfxdTYxpX/c3rW/MzuXvMzoWXV
fy3/qqlgzSCgG1RbDdTQDeWCAdDAiUBXlYLYiu5FMzZffPP/6d///x///v9/7+3P/9W8SmeCFYIAUGE7
@@ -1924,7 +1924,7 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAJxAIA3kywAAACBjSFJNAABu
- lQAAdA4AAPGBAACFRgAAZO0AAPeGAABJ4gAAHljF0QxvAAAACXBIWXMAAAsTAAALEwEAmpwYAAADm0lE
+ lQAAdA4AAPGBAACFRgAAZO0AAPeGAABJ4gAAHljF0QxvAAAACXBIWXMAAAsQAAALEAGtI711AAADm0lE
QVQ4T1VTa0yTZxh9d5OfbkRI8FLKpbrEZWJLS102Ycl+zVlk082pGSOGZXHZRYNLxprQIdTS2lLaMqBQ
CqmDQkIKSAxS+WihtqXlIqjYdhUoLbeKwv4si8s8e7+yZdmP53u+H9855znPdx6SnZFJTn18mnzz3SUi
FonJ5bLLImtnp5xhmJtuj9c1PMzcqjfo1aXnS9/OP1pAMtO5CQyPFtsTjw8/OkUufPX1zo7r1/WB+aXf
@@ -1979,7 +1979,7 @@
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
- xAAADsQBlSsOGwAABZ1JREFUWEfN1llTFFcUB/D5AKlKHlKVPOQT5FFUXCIokgRlG2EGmBlkBtxwFAYV
+ wQAADsEBuJFr7QAABZ1JREFUWEfN1llTFFcUB/D5AKlKHlKVPOQT5FFUXCIokgRlG2EGmBlkBtxwFAYV
FAFpVEAkwEUFFzSIgCsIAgISYMBhBxmIoLhUYtQqt5SpJKWxEpWTc7tvT3fPAviUnKrz2r9/33tP31b9
b8qY/+Dz2Lw7Sabc25wpd5IzZU9yMdk3hd43zkXzbeeis+ycPusGp88c5jsqYxC7n4tIo93LaVJt2N2c
Zmc3F5Zsxe7g1Nt/wL7GhSRd44KTWhKCNjZ+ylih1ufd+yL2wNTz2AO3ITb3Nphyb4EpZxKM2ROAASBm
@@ -2018,7 +2018,7 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAG
- tgAABrYB8zSmegAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAGESURBVDhPY0AG
+ swAABrMB3o7DjAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAGESURBVDhPY0AG
2toNbCrWDX4qNo2hKNiy0V3DpkENqgw3AClWtW74jxPbNNxSsmtWhSrHBEBFTRia0LCaTcMlqHJMAHT+
NlQN9WgYaIB1w2+ockygalV/H6ZZxbzqv5JuKhpO/69iUvBCYs5NM6gWZNDABDT9F9wAkyIsBqT+V7Qu
+y8+8+onlUm32aEaIQDoNyWYZhBWNszBaoBM7qr/4rOv/xedc1UFqhUCgLZ7IRugpJuGoVk+oAesGYyn
@@ -2037,7 +2037,7 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAK
- 8AAACvABQqw0mAAAAAd0SU1FB9MDBhERIE/mK7IAAAI8SURBVDhPrZFNbxJRFIZv/PgNykbd6c7Elf4B
+ 7QAACu0BAohJwQAAAAd0SU1FB9MDBhERIE/mK7IAAAI8SURBVDhPrZFNbxJRFIZv/PgNykbd6c7Elf4B
N41xrcatiV20CqSBKhObkNCFoU1LTRzaNMQSsLGh1kKDhEgNDQVrCqQGkS+ZDB+1lRRKylBgXu/AddHo
gkXf5GbunDnPe+acQ05VHPflnNcrPHC5Up5AIF/Z2MjLgUBaXl2NV+bmfO7paff99fWPZ1n6SaVSuBYM
/o6J4hH+p3od2Noqguc/RB2OT1cZ1lM4fHRlc7Oyy3Ihy0BD6oDcmge5OY9KBdjfB4pFoFAAZmffly0W
diff --git a/LaserGRBL/RasterConverter/ImageProcessor.cs b/LaserGRBL/RasterConverter/ImageProcessor.cs
index bf944675..e8e44042 100644
--- a/LaserGRBL/RasterConverter/ImageProcessor.cs
+++ b/LaserGRBL/RasterConverter/ImageProcessor.cs
@@ -80,6 +80,7 @@ public class ImageProcessor : ICloneable
public int MaxPower;
private string mFileName;
+ private int nLayer;
private bool mAppend;
GrblCore mCore;
@@ -110,10 +111,11 @@ public enum Direction
NewInsetFilling,
}
- public ImageProcessor(GrblCore core, string fileName, Size boxSize, bool append)
+ public ImageProcessor(GrblCore core, string fileName, Size boxSize, bool append, int nLayer)
{
mCore = core;
mFileName = fileName;
+ this.nLayer = nLayer;
mAppend = append;
mSuspended = true;
//mOriginal = new Bitmap(fileName);
@@ -1068,11 +1070,11 @@ void DoTrueWork()
conf.firmwareType = Settings.GetObject("Firmware Type", Firmware.Grbl);
if (SelectedTool == Tool.Line2Line || SelectedTool == Tool.Dithering || SelectedTool == Tool.NoProcessing)
- mCore.LoadedFile.LoadImageL2L(bmp, mFileName, conf, mAppend, mCore);
+ mCore.LoadedFile.LoadImageL2L(bmp, mFileName, conf, mAppend, mCore, nLayer);
else if (SelectedTool == Tool.Vectorize)
- mCore.LoadedFile.LoadImagePotrace(bmp, mFileName, UseSpotRemoval, (int)SpotRemoval, UseSmoothing, Smoothing, UseOptimize, Optimize, OptimizeFast, conf, mAppend, mCore);
+ mCore.LoadedFile.LoadImagePotrace(bmp, mFileName, UseSpotRemoval, (int)SpotRemoval, UseSmoothing, Smoothing, UseOptimize, Optimize, OptimizeFast, conf, mAppend, mCore, nLayer);
else if (SelectedTool == Tool.Centerline)
- mCore.LoadedFile.LoadImageCenterline(bmp, mFileName, UseCornerThreshold, CornerThreshold, UseLineThreshold, LineThreshold, conf, mAppend, mCore);
+ mCore.LoadedFile.LoadImageCenterline(bmp, mFileName, UseCornerThreshold, CornerThreshold, UseLineThreshold, LineThreshold, conf, mAppend, mCore, nLayer);
}
if (GenerationComplete != null)
diff --git a/LaserGRBL/RasterConverter/RasterToLaserForm.cs b/LaserGRBL/RasterConverter/RasterToLaserForm.cs
index eeee0ba5..a77ac197 100644
--- a/LaserGRBL/RasterConverter/RasterToLaserForm.cs
+++ b/LaserGRBL/RasterConverter/RasterToLaserForm.cs
@@ -20,14 +20,16 @@ namespace LaserGRBL.RasterConverter
public partial class RasterToLaserForm : Form
{
GrblCore mCore;
- ImageProcessor IP;
+ ImageProcessor IP;
bool preventClose;
bool supportPWM = Settings.GetObject("Support Hardware PWM", true);
+ private int nLayer;
- private RasterToLaserForm(GrblCore core, string filename, bool append)
+ private RasterToLaserForm(GrblCore core, string filename, bool append, int nLayer)
{
InitializeComponent();
mCore = core;
+ this.nLayer = nLayer;
UDQuality.Maximum = UDFillingQuality.Maximum = GetMaxQuality();
@@ -35,7 +37,7 @@ private RasterToLaserForm(GrblCore core, string filename, bool append)
GbCenterlineOptions.ForeColor = GbConversionTool.ForeColor = GbLineToLineOptions.ForeColor = GbParameters.ForeColor = GbVectorizeOptions.ForeColor = ForeColor = ColorScheme.FormForeColor;
BtnCancel.BackColor = BtnCreate.BackColor = ColorScheme.FormButtonsColor;
- IP = new ImageProcessor(core, filename, GetImageSize(), append);
+ IP = new ImageProcessor(core, filename, GetImageSize(), append, nLayer);
//PbOriginal.Image = IP.Original;
ImageProcessor.PreviewReady += OnPreviewReady;
ImageProcessor.PreviewBegin += OnPreviewBegin;
@@ -139,16 +141,23 @@ void OnPreviewReady(Image img)
private static Image CreatePaper(Image img)
{
- Image newimage = new Bitmap(img.Width + 6, img.Height + 6);
- using (Graphics g = Graphics.FromImage(newimage))
+ try
+ {
+ Image newimage = new Bitmap(img.Width + 6, img.Height + 6);
+ using (Graphics g = Graphics.FromImage(newimage))
+ {
+ g.Clear(Color.Transparent);
+ g.FillRectangle(Brushes.Gray, 6, 6, img.Width + 2, img.Height + 2); //ombra
+ g.FillRectangle(Brushes.White, 0, 0, img.Width + 2, img.Height + 2); //pagina
+ g.DrawRectangle(Pens.LightGray, 0, 0, img.Width + 1, img.Height + 1); //bordo
+ g.DrawImage(img, 1, 1); //disegno
+ }
+ return newimage;
+ }
+ catch (Exception ex)
{
- g.Clear(Color.Transparent);
- g.FillRectangle(Brushes.Gray, 6, 6, img.Width + 2, img.Height + 2); //ombra
- g.FillRectangle(Brushes.White, 0, 0, img.Width + 2, img.Height + 2); //pagina
- g.DrawRectangle(Pens.LightGray, 0, 0, img.Width + 1, img.Height + 1); //bordo
- g.DrawImage(img, 1, 1); //disegno
+ return null;
}
- return newimage;
}
void WTTick(object sender, EventArgs e)
@@ -158,9 +167,9 @@ void WTTick(object sender, EventArgs e)
WB.Running = true;
}
- internal static void CreateAndShowDialog(GrblCore core, string filename, Form parent, bool append)
+ internal static void CreateAndShowDialog(GrblCore core, string filename, Form parent, bool append, int nLayer)
{
- using (RasterToLaserForm f = new RasterToLaserForm(core, filename, append))
+ using (RasterToLaserForm f = new RasterToLaserForm(core, filename, append, nLayer))
f.ShowDialog(parent);
}
@@ -195,7 +204,7 @@ void BtnCreateClick(object sender, EventArgs e)
ResumeLayout();
StoreSettings();
- Project.AddSettings(GetActualSettings()); // Store project settings
+ Project.AddSettings(GetActualSettings(), nLayer); // Store project settings
IP.GenerateGCode(); //processo asincrono che ritorna con l'evento "OnGenerationComplete"
}
@@ -250,51 +259,53 @@ private void StoreSettings()
private void LoadSettings()
{
- if ((IP.SelectedTool = Settings.GetObject("GrayScaleConversion.RasterConversionTool", ImageProcessor.Tool.Line2Line)) == ImageProcessor.Tool.Line2Line)
+ string layerPrefix = nLayer > 0 ? nLayer.ToString() + "." : "";
+
+ if ((IP.SelectedTool = Settings.GetObject(layerPrefix+"GrayScaleConversion.RasterConversionTool", ImageProcessor.Tool.Line2Line)) == ImageProcessor.Tool.Line2Line)
RbLineToLineTracing.Checked = true;
- else if ((IP.SelectedTool = Settings.GetObject("GrayScaleConversion.RasterConversionTool", ImageProcessor.Tool.Line2Line)) == ImageProcessor.Tool.Dithering)
+ else if ((IP.SelectedTool = Settings.GetObject(layerPrefix+"GrayScaleConversion.RasterConversionTool", ImageProcessor.Tool.Line2Line)) == ImageProcessor.Tool.Dithering)
RbDithering.Checked = true;
- else if ((IP.SelectedTool = Settings.GetObject("GrayScaleConversion.RasterConversionTool", ImageProcessor.Tool.Line2Line)) == ImageProcessor.Tool.Centerline)
+ else if ((IP.SelectedTool = Settings.GetObject(layerPrefix+"GrayScaleConversion.RasterConversionTool", ImageProcessor.Tool.Line2Line)) == ImageProcessor.Tool.Centerline)
RbCenterline.Checked = true;
else
RbVectorize.Checked = true;
- CbDirections.SelectedItem = IP.LineDirection = Settings.GetObject("GrayScaleConversion.Line2LineOptions.Direction", ImageProcessor.Direction.Horizontal);
- UDQuality.Value = IP.Quality = Math.Min(UDQuality.Maximum, Settings.GetObject("GrayScaleConversion.Line2LineOptions.Quality", 3.0m));
- CbLinePreview.Checked = IP.LinePreview = Settings.GetObject("GrayScaleConversion.Line2LineOptions.Preview", false);
-
- CbSpotRemoval.Checked = IP.UseSpotRemoval = Settings.GetObject("GrayScaleConversion.VectorizeOptions.SpotRemoval.Enabled", false);
- UDSpotRemoval.Value = IP.SpotRemoval = Settings.GetObject("GrayScaleConversion.VectorizeOptions.SpotRemoval.Value", 2.0m);
- CbSmoothing.Checked = IP.UseSmoothing = Settings.GetObject("GrayScaleConversion.VectorizeOptions.Smooting.Enabled", false);
- UDSmoothing.Value = IP.Smoothing = Settings.GetObject("GrayScaleConversion.VectorizeOptions.Smooting.Value", 1.0m);
- CbOptimize.Checked = IP.UseOptimize = Settings.GetObject("GrayScaleConversion.VectorizeOptions.Optimize.Enabled", false);
- CbAdaptiveQuality.Checked = IP.UseAdaptiveQuality = Settings.GetObject("GrayScaleConversion.VectorizeOptions.UseAdaptiveQuality.Enabled", false);
- UDOptimize.Value = IP.Optimize = Settings.GetObject("GrayScaleConversion.VectorizeOptions.Optimize.Value", 0.2m);
- CbDownSample.Checked = IP.UseDownSampling = Settings.GetObject("GrayScaleConversion.VectorizeOptions.DownSample.Enabled", false);
- UDDownSample.Value = IP.DownSampling = Settings.GetObject("GrayScaleConversion.VectorizeOptions.DownSample.Value", 2.0m);
- CbOptimizeFast.Checked = IP.OptimizeFast = Settings.GetObject("GrayScaleConversion.VectorizeOptions.OptimizeFast.Enabled", false);
-
- CbFillingDirection.SelectedItem = IP.FillingDirection = Settings.GetObject("GrayScaleConversion.VectorizeOptions.FillingDirection", ImageProcessor.Direction.None);
- UDFillingQuality.Value = IP.FillingQuality = Math.Min(UDFillingQuality.Maximum, Settings.GetObject("GrayScaleConversion.VectorizeOptions.FillingQuality", 3.0m));
-
- CbResize.SelectedItem = IP.Interpolation = Settings.GetObject("GrayScaleConversion.Parameters.Interpolation", InterpolationMode.HighQualityBicubic);
- CbMode.SelectedItem = IP.Formula = Settings.GetObject("GrayScaleConversion.Parameters.Mode", ImageTransform.Formula.SimpleAverage);
- TBRed.Value = IP.Red = Settings.GetObject("GrayScaleConversion.Parameters.R", 100);
- TBGreen.Value = IP.Green = Settings.GetObject("GrayScaleConversion.Parameters.G", 100);
- TBBlue.Value = IP.Blue = Settings.GetObject("GrayScaleConversion.Parameters.B", 100);
- TbBright.Value = IP.Brightness = Settings.GetObject("GrayScaleConversion.Parameters.Brightness", 100);
- TbContrast.Value = IP.Contrast = Settings.GetObject("GrayScaleConversion.Parameters.Contrast", 100);
- CbThreshold.Checked = IP.UseThreshold = Settings.GetObject("GrayScaleConversion.Parameters.Threshold.Enabled", false);
- TbThreshold.Value = IP.Threshold = Settings.GetObject("GrayScaleConversion.Parameters.Threshold.Value", 50);
- TBWhiteClip.Value = IP.WhiteClip = Settings.GetObject("GrayScaleConversion.Parameters.WhiteClip", 5);
-
- CbDither.SelectedItem = Settings.GetObject("GrayScaleConversion.DitheringOptions.DitheringMode", ImageTransform.DitheringMode.FloydSteinberg);
-
- CbLineThreshold.Checked = IP.UseLineThreshold = Settings.GetObject("GrayScaleConversion.VectorizeOptions.LineThreshold.Enabled", true);
- TBLineThreshold.Value = IP.LineThreshold = Settings.GetObject("GrayScaleConversion.VectorizeOptions.LineThreshold.Value", 10);
-
- CbCornerThreshold.Checked = IP.UseCornerThreshold = Settings.GetObject("GrayScaleConversion.VectorizeOptions.CornerThreshold.Enabled", true);
- TBCornerThreshold.Value = IP.CornerThreshold = Settings.GetObject("GrayScaleConversion.VectorizeOptions.CornerThreshold.Value", 110);
+ CbDirections.SelectedItem = IP.LineDirection = Settings.GetObject(layerPrefix+"GrayScaleConversion.Line2LineOptions.Direction", ImageProcessor.Direction.Horizontal);
+ UDQuality.Value = IP.Quality = Math.Min(UDQuality.Maximum, Settings.GetObject(layerPrefix+"GrayScaleConversion.Line2LineOptions.Quality", 3.0m));
+ CbLinePreview.Checked = IP.LinePreview = Settings.GetObject(layerPrefix+"GrayScaleConversion.Line2LineOptions.Preview", false);
+
+ CbSpotRemoval.Checked = IP.UseSpotRemoval = Settings.GetObject(layerPrefix+"GrayScaleConversion.VectorizeOptions.SpotRemoval.Enabled", false);
+ UDSpotRemoval.Value = IP.SpotRemoval = Settings.GetObject(layerPrefix+"GrayScaleConversion.VectorizeOptions.SpotRemoval.Value", 2.0m);
+ CbSmoothing.Checked = IP.UseSmoothing = Settings.GetObject(layerPrefix+"GrayScaleConversion.VectorizeOptions.Smooting.Enabled", false);
+ UDSmoothing.Value = IP.Smoothing = Settings.GetObject(layerPrefix+"GrayScaleConversion.VectorizeOptions.Smooting.Value", 1.0m);
+ CbOptimize.Checked = IP.UseOptimize = Settings.GetObject(layerPrefix+"GrayScaleConversion.VectorizeOptions.Optimize.Enabled", false);
+ CbAdaptiveQuality.Checked = IP.UseAdaptiveQuality = Settings.GetObject(layerPrefix+"GrayScaleConversion.VectorizeOptions.UseAdaptiveQuality.Enabled", false);
+ UDOptimize.Value = IP.Optimize = Settings.GetObject(layerPrefix+"GrayScaleConversion.VectorizeOptions.Optimize.Value", 0.2m);
+ CbDownSample.Checked = IP.UseDownSampling = Settings.GetObject(layerPrefix+"GrayScaleConversion.VectorizeOptions.DownSample.Enabled", false);
+ UDDownSample.Value = IP.DownSampling = Settings.GetObject(layerPrefix+"GrayScaleConversion.VectorizeOptions.DownSample.Value", 2.0m);
+ CbOptimizeFast.Checked = IP.OptimizeFast = Settings.GetObject(layerPrefix+"GrayScaleConversion.VectorizeOptions.OptimizeFast.Enabled", false);
+
+ CbFillingDirection.SelectedItem = IP.FillingDirection = Settings.GetObject(layerPrefix+"GrayScaleConversion.VectorizeOptions.FillingDirection", ImageProcessor.Direction.None);
+ UDFillingQuality.Value = IP.FillingQuality = Math.Min(UDFillingQuality.Maximum, Settings.GetObject(layerPrefix+"GrayScaleConversion.VectorizeOptions.FillingQuality", 3.0m));
+
+ CbResize.SelectedItem = IP.Interpolation = Settings.GetObject(layerPrefix+"GrayScaleConversion.Parameters.Interpolation", InterpolationMode.HighQualityBicubic);
+ CbMode.SelectedItem = IP.Formula = Settings.GetObject(layerPrefix+"GrayScaleConversion.Parameters.Mode", ImageTransform.Formula.SimpleAverage);
+ TBRed.Value = IP.Red = Settings.GetObject(layerPrefix+"GrayScaleConversion.Parameters.R", 100);
+ TBGreen.Value = IP.Green = Settings.GetObject(layerPrefix+"GrayScaleConversion.Parameters.G", 100);
+ TBBlue.Value = IP.Blue = Settings.GetObject(layerPrefix+"GrayScaleConversion.Parameters.B", 100);
+ TbBright.Value = IP.Brightness = Settings.GetObject(layerPrefix+"GrayScaleConversion.Parameters.Brightness", 100);
+ TbContrast.Value = IP.Contrast = Settings.GetObject(layerPrefix+"GrayScaleConversion.Parameters.Contrast", 100);
+ CbThreshold.Checked = IP.UseThreshold = Settings.GetObject(layerPrefix+"GrayScaleConversion.Parameters.Threshold.Enabled", false);
+ TbThreshold.Value = IP.Threshold = Settings.GetObject(layerPrefix+"GrayScaleConversion.Parameters.Threshold.Value", 50);
+ TBWhiteClip.Value = IP.WhiteClip = Settings.GetObject(layerPrefix+"GrayScaleConversion.Parameters.WhiteClip", 5);
+
+ CbDither.SelectedItem = Settings.GetObject(layerPrefix+"GrayScaleConversion.DitheringOptions.DitheringMode", ImageTransform.DitheringMode.FloydSteinberg);
+
+ CbLineThreshold.Checked = IP.UseLineThreshold = Settings.GetObject(layerPrefix+"GrayScaleConversion.VectorizeOptions.LineThreshold.Enabled", true);
+ TBLineThreshold.Value = IP.LineThreshold = Settings.GetObject(layerPrefix+"GrayScaleConversion.VectorizeOptions.LineThreshold.Value", 10);
+
+ CbCornerThreshold.Checked = IP.UseCornerThreshold = Settings.GetObject(layerPrefix+"GrayScaleConversion.VectorizeOptions.CornerThreshold.Enabled", true);
+ TBCornerThreshold.Value = IP.CornerThreshold = Settings.GetObject(layerPrefix+"GrayScaleConversion.VectorizeOptions.CornerThreshold.Value", 110);
if (RbLineToLineTracing.Checked && !supportPWM)
RbDithering.Checked = true;
@@ -302,57 +313,58 @@ private void LoadSettings()
private Dictionary GetActualSettings()
{
- var settings = new Dictionary (StringComparer.OrdinalIgnoreCase)
+ string layerPrefix = nLayer > 0 ? nLayer.ToString() + "." : "";
+ var settings = new Dictionary (StringComparer.OrdinalIgnoreCase)
{
{
- "GrayScaleConversion.RasterConversionTool",
+ layerPrefix+"GrayScaleConversion.RasterConversionTool",
RbLineToLineTracing.Checked ? ImageProcessor.Tool.Line2Line :
RbDithering.Checked ? ImageProcessor.Tool.Dithering :
RbCenterline.Checked ? ImageProcessor.Tool.Centerline : ImageProcessor.Tool.Vectorize
},
{
- "GrayScaleConversion.Line2LineOptions.Direction",
+ layerPrefix+"GrayScaleConversion.Line2LineOptions.Direction",
(ImageProcessor.Direction)CbDirections.SelectedItem
},
- { "GrayScaleConversion.Line2LineOptions.Quality", UDQuality.Value },
- { "GrayScaleConversion.Line2LineOptions.Preview", CbLinePreview.Checked },
- { "GrayScaleConversion.VectorizeOptions.SpotRemoval.Enabled", CbSpotRemoval.Checked },
- { "GrayScaleConversion.VectorizeOptions.SpotRemoval.Value", UDSpotRemoval.Value },
- { "GrayScaleConversion.VectorizeOptions.Smooting.Enabled", CbSmoothing.Checked },
- { "GrayScaleConversion.VectorizeOptions.Smooting.Value", UDSmoothing.Value },
- { "GrayScaleConversion.VectorizeOptions.Optimize.Enabled", CbOptimize.Checked },
- { "GrayScaleConversion.VectorizeOptions.UseAdaptiveQuality.Enabled", CbAdaptiveQuality.Checked },
- { "GrayScaleConversion.VectorizeOptions.Optimize.Value", UDOptimize.Value },
- { "GrayScaleConversion.VectorizeOptions.DownSample.Enabled", CbDownSample.Checked },
- { "GrayScaleConversion.VectorizeOptions.DownSample.Value", UDDownSample.Value },
- { "GrayScaleConversion.VectorizeOptions.FillingDirection", (ImageProcessor.Direction)CbFillingDirection.SelectedItem },
- { "GrayScaleConversion.VectorizeOptions.FillingQuality", UDFillingQuality.Value },
- { "GrayScaleConversion.VectorizeOptions.OptimizeFast.Enabled", CbOptimizeFast.Checked },
- { "GrayScaleConversion.DitheringOptions.DitheringMode", (ImageTransform.DitheringMode)CbDither.SelectedItem },
- { "GrayScaleConversion.Parameters.Interpolation", (InterpolationMode)CbResize.SelectedItem },
- { "GrayScaleConversion.Parameters.Mode", (ImageTransform.Formula)CbMode.SelectedItem },
- { "GrayScaleConversion.Parameters.R", TBRed.Value },
- { "GrayScaleConversion.Parameters.G", TBGreen.Value },
- { "GrayScaleConversion.Parameters.B", TBBlue.Value },
- { "GrayScaleConversion.Parameters.Brightness", TbBright.Value },
- { "GrayScaleConversion.Parameters.Contrast", TbContrast.Value },
- { "GrayScaleConversion.Parameters.Threshold.Enabled", CbThreshold.Checked },
- { "GrayScaleConversion.Parameters.Threshold.Value", TbThreshold.Value },
- { "GrayScaleConversion.Parameters.WhiteClip", TBWhiteClip.Value },
- { "GrayScaleConversion.VectorizeOptions.BorderSpeed", IP.BorderSpeed },
- { "GrayScaleConversion.Gcode.Speed.Mark", IP.MarkSpeed },
- { "GrayScaleConversion.Gcode.LaserOptions.LaserOn", IP.LaserOn },
- { "GrayScaleConversion.Gcode.LaserOptions.LaserOff", IP.LaserOff },
- { "GrayScaleConversion.Gcode.LaserOptions.PowerMin", IP.MinPower },
- { "GrayScaleConversion.Gcode.LaserOptions.PowerMax", IP.MaxPower },
- { "GrayScaleConversion.Gcode.Offset.X", IP.TargetOffset.X },
- { "GrayScaleConversion.Gcode.Offset.Y", IP.TargetOffset.Y },
- { "GrayScaleConversion.Gcode.ImageSize.W", IP.TargetSize.Width },
- { "GrayScaleConversion.Gcode.ImageSize.H", IP.TargetSize.Height },
- { "GrayScaleConversion.VectorizeOptions.LineThreshold.Enabled", IP.UseLineThreshold },
- { "GrayScaleConversion.VectorizeOptions.LineThreshold.Value", IP.LineThreshold },
- { "GrayScaleConversion.VectorizeOptions.CornerThreshold.Enabled", IP.UseCornerThreshold },
- { "GrayScaleConversion.VectorizeOptions.CornerThreshold.Value", IP.CornerThreshold }
+ { layerPrefix+"GrayScaleConversion.Line2LineOptions.Quality", UDQuality.Value },
+ { layerPrefix+"GrayScaleConversion.Line2LineOptions.Preview", CbLinePreview.Checked },
+ { layerPrefix+"GrayScaleConversion.VectorizeOptions.SpotRemoval.Enabled", CbSpotRemoval.Checked },
+ { layerPrefix+"GrayScaleConversion.VectorizeOptions.SpotRemoval.Value", UDSpotRemoval.Value },
+ { layerPrefix+"GrayScaleConversion.VectorizeOptions.Smooting.Enabled", CbSmoothing.Checked },
+ { layerPrefix+"GrayScaleConversion.VectorizeOptions.Smooting.Value", UDSmoothing.Value },
+ { layerPrefix+"GrayScaleConversion.VectorizeOptions.Optimize.Enabled", CbOptimize.Checked },
+ { layerPrefix+"GrayScaleConversion.VectorizeOptions.UseAdaptiveQuality.Enabled", CbAdaptiveQuality.Checked },
+ { layerPrefix+"GrayScaleConversion.VectorizeOptions.Optimize.Value", UDOptimize.Value },
+ { layerPrefix+"GrayScaleConversion.VectorizeOptions.DownSample.Enabled", CbDownSample.Checked },
+ { layerPrefix+"GrayScaleConversion.VectorizeOptions.DownSample.Value", UDDownSample.Value },
+ { layerPrefix+"GrayScaleConversion.VectorizeOptions.FillingDirection", (ImageProcessor.Direction)CbFillingDirection.SelectedItem },
+ { layerPrefix+"GrayScaleConversion.VectorizeOptions.FillingQuality", UDFillingQuality.Value },
+ { layerPrefix+"GrayScaleConversion.VectorizeOptions.OptimizeFast.Enabled", CbOptimizeFast.Checked },
+ { layerPrefix+"GrayScaleConversion.DitheringOptions.DitheringMode", (ImageTransform.DitheringMode)CbDither.SelectedItem },
+ { layerPrefix+"GrayScaleConversion.Parameters.Interpolation", (InterpolationMode)CbResize.SelectedItem },
+ { layerPrefix+"GrayScaleConversion.Parameters.Mode", (ImageTransform.Formula)CbMode.SelectedItem },
+ { layerPrefix+"GrayScaleConversion.Parameters.R", TBRed.Value },
+ { layerPrefix+"GrayScaleConversion.Parameters.G", TBGreen.Value },
+ { layerPrefix+"GrayScaleConversion.Parameters.B", TBBlue.Value },
+ { layerPrefix+"GrayScaleConversion.Parameters.Brightness", TbBright.Value },
+ { layerPrefix+"GrayScaleConversion.Parameters.Contrast", TbContrast.Value },
+ { layerPrefix+"GrayScaleConversion.Parameters.Threshold.Enabled", CbThreshold.Checked },
+ { layerPrefix+"GrayScaleConversion.Parameters.Threshold.Value", TbThreshold.Value },
+ { layerPrefix+"GrayScaleConversion.Parameters.WhiteClip", TBWhiteClip.Value },
+ { layerPrefix+"GrayScaleConversion.VectorizeOptions.BorderSpeed", IP.BorderSpeed },
+ { layerPrefix+"GrayScaleConversion.Gcode.Speed.Mark", IP.MarkSpeed },
+ { layerPrefix+"GrayScaleConversion.Gcode.LaserOptions.LaserOn", IP.LaserOn },
+ { layerPrefix+"GrayScaleConversion.Gcode.LaserOptions.LaserOff", IP.LaserOff },
+ { layerPrefix+"GrayScaleConversion.Gcode.LaserOptions.PowerMin", IP.MinPower },
+ { layerPrefix+"GrayScaleConversion.Gcode.LaserOptions.PowerMax", IP.MaxPower },
+ { layerPrefix+"GrayScaleConversion.Gcode.Offset.X", IP.TargetOffset.X },
+ { layerPrefix+"GrayScaleConversion.Gcode.Offset.Y", IP.TargetOffset.Y },
+ { layerPrefix+"GrayScaleConversion.Gcode.ImageSize.W", IP.TargetSize.Width },
+ { layerPrefix+"GrayScaleConversion.Gcode.ImageSize.H", IP.TargetSize.Height },
+ { layerPrefix+"GrayScaleConversion.VectorizeOptions.LineThreshold.Enabled", IP.UseLineThreshold },
+ { layerPrefix+"GrayScaleConversion.VectorizeOptions.LineThreshold.Value", IP.LineThreshold },
+ { layerPrefix+"GrayScaleConversion.VectorizeOptions.CornerThreshold.Enabled", IP.UseCornerThreshold },
+ { layerPrefix+"GrayScaleConversion.VectorizeOptions.CornerThreshold.Value", IP.CornerThreshold }
};
return settings;
diff --git a/LaserGRBL/SaveOptionForm.Designer.cs b/LaserGRBL/SaveOptionForm.Designer.cs
index 710eec59..fc50624c 100644
--- a/LaserGRBL/SaveOptionForm.Designer.cs
+++ b/LaserGRBL/SaveOptionForm.Designer.cs
@@ -28,132 +28,104 @@ protected override void Dispose(bool disposing)
///
private void InitializeComponent()
{
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SaveOptionForm));
- this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
- this.label2 = new System.Windows.Forms.Label();
- this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel();
- this.BtnSave = new System.Windows.Forms.Button();
- this.groupBox1 = new System.Windows.Forms.GroupBox();
- this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
- this.CBHeader = new System.Windows.Forms.CheckBox();
- this.CBFooter = new System.Windows.Forms.CheckBox();
- this.UDCount = new System.Windows.Forms.NumericUpDown();
- this.label1 = new System.Windows.Forms.Label();
- this.CBBetween = new System.Windows.Forms.CheckBox();
- this.tableLayoutPanel1.SuspendLayout();
- this.tableLayoutPanel3.SuspendLayout();
- this.groupBox1.SuspendLayout();
- this.tableLayoutPanel2.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.UDCount)).BeginInit();
- this.SuspendLayout();
- //
- // tableLayoutPanel1
- //
- resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
- this.tableLayoutPanel1.Controls.Add(this.groupBox1, 0, 0);
- this.tableLayoutPanel1.Controls.Add(this.label2, 0, 1);
- this.tableLayoutPanel1.Controls.Add(this.tableLayoutPanel3, 0, 2);
- this.tableLayoutPanel1.Name = "tableLayoutPanel1";
- //
- // label2
- //
- resources.ApplyResources(this.label2, "label2");
- this.label2.Name = "label2";
- //
- // tableLayoutPanel3
- //
- resources.ApplyResources(this.tableLayoutPanel3, "tableLayoutPanel3");
- this.tableLayoutPanel3.Controls.Add(this.BtnSave, 1, 0);
- this.tableLayoutPanel3.Name = "tableLayoutPanel3";
- //
- // BtnSave
- //
- this.BtnSave.DialogResult = System.Windows.Forms.DialogResult.OK;
- resources.ApplyResources(this.BtnSave, "BtnSave");
- this.BtnSave.Name = "BtnSave";
- this.BtnSave.UseVisualStyleBackColor = true;
- //
- // groupBox1
- //
- resources.ApplyResources(this.groupBox1, "groupBox1");
- this.groupBox1.Controls.Add(this.tableLayoutPanel2);
- this.groupBox1.Name = "groupBox1";
- this.groupBox1.TabStop = false;
- //
- // tableLayoutPanel2
- //
- resources.ApplyResources(this.tableLayoutPanel2, "tableLayoutPanel2");
- this.tableLayoutPanel2.Controls.Add(this.CBHeader, 0, 0);
- this.tableLayoutPanel2.Controls.Add(this.CBFooter, 0, 2);
- this.tableLayoutPanel2.Controls.Add(this.UDCount, 1, 1);
- this.tableLayoutPanel2.Controls.Add(this.label1, 0, 1);
- this.tableLayoutPanel2.Controls.Add(this.CBBetween, 2, 1);
- this.tableLayoutPanel2.Name = "tableLayoutPanel2";
- //
- // CBHeader
- //
- resources.ApplyResources(this.CBHeader, "CBHeader");
- this.CBHeader.Checked = true;
- this.CBHeader.CheckState = System.Windows.Forms.CheckState.Checked;
- this.tableLayoutPanel2.SetColumnSpan(this.CBHeader, 2);
- this.CBHeader.Name = "CBHeader";
- this.CBHeader.UseVisualStyleBackColor = true;
- //
- // CBFooter
- //
- resources.ApplyResources(this.CBFooter, "CBFooter");
- this.CBFooter.Checked = true;
- this.CBFooter.CheckState = System.Windows.Forms.CheckState.Checked;
- this.tableLayoutPanel2.SetColumnSpan(this.CBFooter, 2);
- this.CBFooter.Name = "CBFooter";
- this.CBFooter.UseVisualStyleBackColor = true;
- //
- // UDCount
- //
- resources.ApplyResources(this.UDCount, "UDCount");
- this.UDCount.Minimum = new decimal(new int[] {
- 1,
- 0,
- 0,
- 0});
- this.UDCount.Name = "UDCount";
- this.UDCount.Value = new decimal(new int[] {
- 1,
- 0,
- 0,
- 0});
- //
- // label1
- //
- resources.ApplyResources(this.label1, "label1");
- this.label1.Name = "label1";
- //
- // CBBetween
- //
- resources.ApplyResources(this.CBBetween, "CBBetween");
- this.CBBetween.Checked = true;
- this.CBBetween.CheckState = System.Windows.Forms.CheckState.Checked;
- this.CBBetween.Name = "CBBetween";
- this.CBBetween.UseVisualStyleBackColor = true;
- //
- // SaveOptionForm
- //
- resources.ApplyResources(this, "$this");
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.Controls.Add(this.tableLayoutPanel1);
- this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
- this.MaximizeBox = false;
- this.MinimizeBox = false;
- this.Name = "SaveOptionForm";
- this.tableLayoutPanel1.ResumeLayout(false);
- this.tableLayoutPanel1.PerformLayout();
- this.tableLayoutPanel3.ResumeLayout(false);
- this.groupBox1.ResumeLayout(false);
- this.groupBox1.PerformLayout();
- this.tableLayoutPanel2.ResumeLayout(false);
- this.tableLayoutPanel2.PerformLayout();
- ((System.ComponentModel.ISupportInitialize)(this.UDCount)).EndInit();
- this.ResumeLayout(false);
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SaveOptionForm));
+ this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
+ this.CBHeader = new System.Windows.Forms.CheckBox();
+ this.CBFooter = new System.Windows.Forms.CheckBox();
+ this.CBBetween = new System.Windows.Forms.CheckBox();
+ this.label2 = new System.Windows.Forms.Label();
+ this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel();
+ this.BtnSave = new System.Windows.Forms.Button();
+ this.tableLayoutPanel1.SuspendLayout();
+ this.groupBox1.SuspendLayout();
+ this.tableLayoutPanel2.SuspendLayout();
+ this.tableLayoutPanel3.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // tableLayoutPanel1
+ //
+ resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
+ this.tableLayoutPanel1.Controls.Add(this.groupBox1, 0, 0);
+ this.tableLayoutPanel1.Controls.Add(this.label2, 0, 1);
+ this.tableLayoutPanel1.Controls.Add(this.tableLayoutPanel3, 0, 2);
+ this.tableLayoutPanel1.Name = "tableLayoutPanel1";
+ //
+ // groupBox1
+ //
+ resources.ApplyResources(this.groupBox1, "groupBox1");
+ this.groupBox1.Controls.Add(this.tableLayoutPanel2);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.TabStop = false;
+ //
+ // tableLayoutPanel2
+ //
+ resources.ApplyResources(this.tableLayoutPanel2, "tableLayoutPanel2");
+ this.tableLayoutPanel2.Controls.Add(this.CBHeader, 0, 0);
+ this.tableLayoutPanel2.Controls.Add(this.CBFooter, 0, 2);
+ this.tableLayoutPanel2.Controls.Add(this.CBBetween, 0, 1);
+ this.tableLayoutPanel2.Name = "tableLayoutPanel2";
+ //
+ // CBHeader
+ //
+ resources.ApplyResources(this.CBHeader, "CBHeader");
+ this.CBHeader.Checked = true;
+ this.CBHeader.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.CBHeader.Name = "CBHeader";
+ this.CBHeader.UseVisualStyleBackColor = true;
+ //
+ // CBFooter
+ //
+ resources.ApplyResources(this.CBFooter, "CBFooter");
+ this.CBFooter.Checked = true;
+ this.CBFooter.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.CBFooter.Name = "CBFooter";
+ this.CBFooter.UseVisualStyleBackColor = true;
+ //
+ // CBBetween
+ //
+ resources.ApplyResources(this.CBBetween, "CBBetween");
+ this.CBBetween.Checked = true;
+ this.CBBetween.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.CBBetween.Name = "CBBetween";
+ this.CBBetween.UseVisualStyleBackColor = true;
+ //
+ // label2
+ //
+ resources.ApplyResources(this.label2, "label2");
+ this.label2.Name = "label2";
+ //
+ // tableLayoutPanel3
+ //
+ resources.ApplyResources(this.tableLayoutPanel3, "tableLayoutPanel3");
+ this.tableLayoutPanel3.Controls.Add(this.BtnSave, 1, 0);
+ this.tableLayoutPanel3.Name = "tableLayoutPanel3";
+ //
+ // BtnSave
+ //
+ this.BtnSave.DialogResult = System.Windows.Forms.DialogResult.OK;
+ resources.ApplyResources(this.BtnSave, "BtnSave");
+ this.BtnSave.Name = "BtnSave";
+ this.BtnSave.UseVisualStyleBackColor = true;
+ //
+ // SaveOptionForm
+ //
+ resources.ApplyResources(this, "$this");
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.tableLayoutPanel1);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
+ this.MaximizeBox = false;
+ this.MinimizeBox = false;
+ this.Name = "SaveOptionForm";
+ this.tableLayoutPanel1.ResumeLayout(false);
+ this.tableLayoutPanel1.PerformLayout();
+ this.groupBox1.ResumeLayout(false);
+ this.groupBox1.PerformLayout();
+ this.tableLayoutPanel2.ResumeLayout(false);
+ this.tableLayoutPanel2.PerformLayout();
+ this.tableLayoutPanel3.ResumeLayout(false);
+ this.ResumeLayout(false);
}
@@ -167,8 +139,6 @@ private void InitializeComponent()
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
private System.Windows.Forms.CheckBox CBHeader;
private System.Windows.Forms.CheckBox CBFooter;
- private System.Windows.Forms.NumericUpDown UDCount;
- private System.Windows.Forms.Label label1;
private System.Windows.Forms.CheckBox CBBetween;
}
}
\ No newline at end of file
diff --git a/LaserGRBL/SaveOptionForm.cs b/LaserGRBL/SaveOptionForm.cs
index 4487dc46..c94763b8 100644
--- a/LaserGRBL/SaveOptionForm.cs
+++ b/LaserGRBL/SaveOptionForm.cs
@@ -21,9 +21,8 @@ internal static void CreateAndShowDialog(Form parent, GrblCore core)
using (SaveOptionForm f = new SaveOptionForm())
{
if (f.ShowDialog(parent) == DialogResult.OK)
- core.SaveProgram(parent, f.CBHeader.Checked, f.CBFooter.Checked, f.CBBetween.Checked, (int)f.UDCount.Value);
+ core.SaveProgram(parent, f.CBHeader.Checked, f.CBFooter.Checked, f.CBBetween.Checked);
}
}
-
- }
+ }
}
diff --git a/LaserGRBL/SaveOptionForm.resx b/LaserGRBL/SaveOptionForm.resx
index a1407ed3..eeca1e2b 100644
--- a/LaserGRBL/SaveOptionForm.resx
+++ b/LaserGRBL/SaveOptionForm.resx
@@ -112,19 +112,19 @@
2.0
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
+
1
True
-
+
GrowAndShrink
@@ -132,7 +132,7 @@
True
- 3
+ 1
Left
@@ -143,7 +143,7 @@
NoControl
-
+
3, 3
@@ -160,7 +160,7 @@
CBHeader
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel2
@@ -193,7 +193,7 @@
CBFooter
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel2
@@ -201,63 +201,6 @@
1
-
- Left
-
-
- 50, 26
-
-
- 61, 20
-
-
- 3
-
-
- UDCount
-
-
- System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tableLayoutPanel2
-
-
- 2
-
-
- Left
-
-
- True
-
-
- NoControl
-
-
- 3, 29
-
-
- 41, 13
-
-
- 4
-
-
- Passes
-
-
- label1
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tableLayoutPanel2
-
-
- 3
-
Left
@@ -268,7 +211,7 @@
NoControl
- 117, 27
+ 3, 27
174, 17
@@ -283,13 +226,13 @@
CBBetween
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel2
- 4
+ 2
Fill
@@ -310,7 +253,7 @@
tableLayoutPanel2
- System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
groupBox1
@@ -319,7 +262,7 @@
0
- <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="CBHeader" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /><Control Name="CBFooter" Row="2" RowSpan="1" Column="0" ColumnSpan="2" /><Control Name="UDCount" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="label1" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="CBBetween" Row="1" RowSpan="1" Column="2" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,50,AutoSize,50,Absolute,436" /><Rows Styles="AutoSize,0,Absolute,26,AutoSize,0" /></TableLayoutSettings>
+ <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="CBHeader" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="CBFooter" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="CBBetween" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,Absolute,20,Absolute,20" /><Rows Styles="AutoSize,0,Absolute,26,AutoSize,0,Absolute,20,Absolute,20" /></TableLayoutSettings>
Fill
@@ -340,7 +283,7 @@
groupBox1
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel1
@@ -375,7 +318,7 @@ NOTE: If you export gcode to re-load inside LaserGRBL it is better to use quick
label2
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel1
@@ -447,7 +390,7 @@ NOTE: If you export gcode to re-load inside LaserGRBL it is better to use quick
BtnSave
- System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel3
@@ -474,7 +417,7 @@ NOTE: If you export gcode to re-load inside LaserGRBL it is better to use quick
tableLayoutPanel3
- System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
tableLayoutPanel1
@@ -504,7 +447,7 @@ NOTE: If you export gcode to re-load inside LaserGRBL it is better to use quick
tableLayoutPanel1
- System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
$this
@@ -515,7 +458,7 @@ NOTE: If you export gcode to re-load inside LaserGRBL it is better to use quick
<?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="groupBox1" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="label2" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="tableLayoutPanel3" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="AutoSize,0,Percent,100,AutoSize,0" /></TableLayoutSettings>
-
+
True
@@ -534,6 +477,6 @@ NOTE: If you export gcode to re-load inside LaserGRBL it is better to use quick
SaveOptionForm
- System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
\ No newline at end of file
diff --git a/LaserGRBL/SvgConverter/ConvertSizeAndOptionForm.Designer.cs b/LaserGRBL/SvgConverter/ConvertSizeAndOptionForm.Designer.cs
index 240e033e..61e4b35a 100644
--- a/LaserGRBL/SvgConverter/ConvertSizeAndOptionForm.Designer.cs
+++ b/LaserGRBL/SvgConverter/ConvertSizeAndOptionForm.Designer.cs
@@ -51,254 +51,254 @@ protected override void Dispose(bool disposing)
///
private void InitializeComponent()
{
- this.components = new System.ComponentModel.Container();
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SvgToGCodeForm));
- this.tableLayoutPanel9 = new System.Windows.Forms.TableLayoutPanel();
- this.GbSpeed = new System.Windows.Forms.GroupBox();
- this.tableLayoutPanel6 = new System.Windows.Forms.TableLayoutPanel();
- this.LblBorderTracing = new System.Windows.Forms.Label();
- this.LblBorderTracingmm = new System.Windows.Forms.Label();
- this.IIBorderTracing = new LaserGRBL.UserControls.NumericInput.IntegerInputRanged();
- this.BtnPSHelper = new LaserGRBL.UserControls.ImageButton();
- this.GbLaser = new System.Windows.Forms.GroupBox();
- this.tableLayoutPanel7 = new System.Windows.Forms.TableLayoutPanel();
- this.BtnModulationInfo = new LaserGRBL.UserControls.ImageButton();
- this.LblSmin = new System.Windows.Forms.Label();
- this.IIMinPower = new LaserGRBL.UserControls.NumericInput.IntegerInputRanged();
- this.label18 = new System.Windows.Forms.Label();
- this.BtnOnOffInfo = new LaserGRBL.UserControls.ImageButton();
- this.CBLaserON = new System.Windows.Forms.ComboBox();
- this.LblSmax = new System.Windows.Forms.Label();
- this.IIMaxPower = new LaserGRBL.UserControls.NumericInput.IntegerInputRanged();
- this.LblMinPerc = new System.Windows.Forms.Label();
- this.LblMaxPerc = new System.Windows.Forms.Label();
- this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
- this.BtnCancel = new System.Windows.Forms.Button();
- this.BtnCreate = new System.Windows.Forms.Button();
- this.TT = new System.Windows.Forms.ToolTip(this.components);
- this.tableLayoutPanel9.SuspendLayout();
- this.GbSpeed.SuspendLayout();
- this.tableLayoutPanel6.SuspendLayout();
- this.GbLaser.SuspendLayout();
- this.tableLayoutPanel7.SuspendLayout();
- this.tableLayoutPanel1.SuspendLayout();
- this.SuspendLayout();
- //
- // tableLayoutPanel9
- //
- resources.ApplyResources(this.tableLayoutPanel9, "tableLayoutPanel9");
- this.tableLayoutPanel9.Controls.Add(this.GbSpeed, 0, 0);
- this.tableLayoutPanel9.Controls.Add(this.GbLaser, 0, 1);
- this.tableLayoutPanel9.Controls.Add(this.tableLayoutPanel1, 0, 3);
- this.tableLayoutPanel9.Name = "tableLayoutPanel9";
- //
- // GbSpeed
- //
- resources.ApplyResources(this.GbSpeed, "GbSpeed");
- this.GbSpeed.Controls.Add(this.tableLayoutPanel6);
- this.GbSpeed.Name = "GbSpeed";
- this.GbSpeed.TabStop = false;
- //
- // tableLayoutPanel6
- //
- resources.ApplyResources(this.tableLayoutPanel6, "tableLayoutPanel6");
- this.tableLayoutPanel6.Controls.Add(this.LblBorderTracing, 0, 0);
- this.tableLayoutPanel6.Controls.Add(this.LblBorderTracingmm, 2, 0);
- this.tableLayoutPanel6.Controls.Add(this.IIBorderTracing, 1, 0);
- this.tableLayoutPanel6.Controls.Add(this.BtnPSHelper, 3, 0);
- this.tableLayoutPanel6.Name = "tableLayoutPanel6";
- //
- // LblBorderTracing
- //
- resources.ApplyResources(this.LblBorderTracing, "LblBorderTracing");
- this.LblBorderTracing.Name = "LblBorderTracing";
- //
- // LblBorderTracingmm
- //
- resources.ApplyResources(this.LblBorderTracingmm, "LblBorderTracingmm");
- this.LblBorderTracingmm.Name = "LblBorderTracingmm";
- //
- // IIBorderTracing
- //
- resources.ApplyResources(this.IIBorderTracing, "IIBorderTracing");
- this.IIBorderTracing.CurrentValue = 1000;
- this.IIBorderTracing.ForcedText = null;
- this.IIBorderTracing.ForceMinMax = false;
- this.IIBorderTracing.MaxValue = 4000;
- this.IIBorderTracing.MinValue = 1;
- this.IIBorderTracing.Name = "IIBorderTracing";
- this.IIBorderTracing.NormalBorderColor = System.Drawing.SystemColors.ActiveBorder;
- this.IIBorderTracing.CurrentValueChanged += new LaserGRBL.UserControls.NumericInput.IntegerInputBase.CurrentValueChangedEventHandler(this.IIBorderTracingCurrentValueChanged);
- //
- // BtnPSHelper
- //
- this.BtnPSHelper.AltImage = null;
- resources.ApplyResources(this.BtnPSHelper, "BtnPSHelper");
- this.BtnPSHelper.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
- this.BtnPSHelper.Caption = null;
- this.BtnPSHelper.Coloration = System.Drawing.Color.Empty;
- this.BtnPSHelper.Image = ((System.Drawing.Image)(resources.GetObject("BtnPSHelper.Image")));
- this.BtnPSHelper.Name = "BtnPSHelper";
- this.BtnPSHelper.SizingMode = LaserGRBL.UserControls.ImageButton.SizingModes.FixedSize;
- this.TT.SetToolTip(this.BtnPSHelper, resources.GetString("BtnPSHelper.ToolTip"));
- this.BtnPSHelper.UseAltImage = false;
- this.BtnPSHelper.Click += new System.EventHandler(this.BtnPSHelper_Click);
- //
- // GbLaser
- //
- resources.ApplyResources(this.GbLaser, "GbLaser");
- this.GbLaser.Controls.Add(this.tableLayoutPanel7);
- this.GbLaser.Name = "GbLaser";
- this.GbLaser.TabStop = false;
- //
- // tableLayoutPanel7
- //
- resources.ApplyResources(this.tableLayoutPanel7, "tableLayoutPanel7");
- this.tableLayoutPanel7.Controls.Add(this.BtnModulationInfo, 3, 1);
- this.tableLayoutPanel7.Controls.Add(this.LblSmin, 0, 1);
- this.tableLayoutPanel7.Controls.Add(this.IIMinPower, 1, 1);
- this.tableLayoutPanel7.Controls.Add(this.label18, 0, 0);
- this.tableLayoutPanel7.Controls.Add(this.BtnOnOffInfo, 3, 0);
- this.tableLayoutPanel7.Controls.Add(this.CBLaserON, 1, 0);
- this.tableLayoutPanel7.Controls.Add(this.LblSmax, 0, 2);
- this.tableLayoutPanel7.Controls.Add(this.IIMaxPower, 1, 2);
- this.tableLayoutPanel7.Controls.Add(this.LblMinPerc, 2, 1);
- this.tableLayoutPanel7.Controls.Add(this.LblMaxPerc, 2, 2);
- this.tableLayoutPanel7.Name = "tableLayoutPanel7";
- //
- // BtnModulationInfo
- //
- this.BtnModulationInfo.AltImage = null;
- resources.ApplyResources(this.BtnModulationInfo, "BtnModulationInfo");
- this.BtnModulationInfo.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
- this.BtnModulationInfo.Caption = null;
- this.BtnModulationInfo.Coloration = System.Drawing.Color.Empty;
- this.BtnModulationInfo.Image = ((System.Drawing.Image)(resources.GetObject("BtnModulationInfo.Image")));
- this.BtnModulationInfo.Name = "BtnModulationInfo";
- this.tableLayoutPanel7.SetRowSpan(this.BtnModulationInfo, 2);
- this.BtnModulationInfo.SizingMode = LaserGRBL.UserControls.ImageButton.SizingModes.FixedSize;
- this.TT.SetToolTip(this.BtnModulationInfo, resources.GetString("BtnModulationInfo.ToolTip"));
- this.BtnModulationInfo.UseAltImage = false;
- this.BtnModulationInfo.Click += new System.EventHandler(this.BtnModulationInfo_Click);
- //
- // LblSmin
- //
- resources.ApplyResources(this.LblSmin, "LblSmin");
- this.LblSmin.Name = "LblSmin";
- //
- // IIMinPower
- //
- resources.ApplyResources(this.IIMinPower, "IIMinPower");
- this.IIMinPower.ForcedText = null;
- this.IIMinPower.ForceMinMax = false;
- this.IIMinPower.MaxValue = 999;
- this.IIMinPower.MinValue = 0;
- this.IIMinPower.Name = "IIMinPower";
- this.IIMinPower.NormalBorderColor = System.Drawing.SystemColors.ActiveBorder;
- this.IIMinPower.CurrentValueChanged += new LaserGRBL.UserControls.NumericInput.IntegerInputBase.CurrentValueChangedEventHandler(this.IIMinPowerCurrentValueChanged);
- //
- // label18
- //
- resources.ApplyResources(this.label18, "label18");
- this.label18.Name = "label18";
- //
- // BtnOnOffInfo
- //
- this.BtnOnOffInfo.AltImage = null;
- resources.ApplyResources(this.BtnOnOffInfo, "BtnOnOffInfo");
- this.BtnOnOffInfo.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
- this.BtnOnOffInfo.Caption = null;
- this.BtnOnOffInfo.Coloration = System.Drawing.Color.Empty;
- this.BtnOnOffInfo.Image = ((System.Drawing.Image)(resources.GetObject("BtnOnOffInfo.Image")));
- this.BtnOnOffInfo.Name = "BtnOnOffInfo";
- this.BtnOnOffInfo.SizingMode = LaserGRBL.UserControls.ImageButton.SizingModes.FixedSize;
- this.TT.SetToolTip(this.BtnOnOffInfo, resources.GetString("BtnOnOffInfo.ToolTip"));
- this.BtnOnOffInfo.UseAltImage = false;
- this.BtnOnOffInfo.Click += new System.EventHandler(this.BtnOnOffInfo_Click);
- //
- // CBLaserON
- //
- this.tableLayoutPanel7.SetColumnSpan(this.CBLaserON, 2);
- resources.ApplyResources(this.CBLaserON, "CBLaserON");
- this.CBLaserON.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.CBLaserON.FormattingEnabled = true;
- this.CBLaserON.Name = "CBLaserON";
- this.CBLaserON.SelectedIndexChanged += new System.EventHandler(this.CBLaserON_SelectedIndexChanged);
- //
- // LblSmax
- //
- resources.ApplyResources(this.LblSmax, "LblSmax");
- this.LblSmax.Name = "LblSmax";
- //
- // IIMaxPower
- //
- resources.ApplyResources(this.IIMaxPower, "IIMaxPower");
- this.IIMaxPower.CurrentValue = 1000;
- this.IIMaxPower.ForcedText = null;
- this.IIMaxPower.ForceMinMax = false;
- this.IIMaxPower.MaxValue = 1000;
- this.IIMaxPower.MinValue = 1;
- this.IIMaxPower.Name = "IIMaxPower";
- this.IIMaxPower.NormalBorderColor = System.Drawing.SystemColors.ActiveBorder;
- this.IIMaxPower.CurrentValueChanged += new LaserGRBL.UserControls.NumericInput.IntegerInputBase.CurrentValueChangedEventHandler(this.IIMaxPowerCurrentValueChanged);
- //
- // LblMinPerc
- //
- resources.ApplyResources(this.LblMinPerc, "LblMinPerc");
- this.LblMinPerc.Name = "LblMinPerc";
- //
- // LblMaxPerc
- //
- resources.ApplyResources(this.LblMaxPerc, "LblMaxPerc");
- this.LblMaxPerc.Name = "LblMaxPerc";
- //
- // tableLayoutPanel1
- //
- resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
- this.tableLayoutPanel1.Controls.Add(this.BtnCancel, 1, 0);
- this.tableLayoutPanel1.Controls.Add(this.BtnCreate, 2, 0);
- this.tableLayoutPanel1.Name = "tableLayoutPanel1";
- //
- // BtnCancel
- //
- this.BtnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
- resources.ApplyResources(this.BtnCancel, "BtnCancel");
- this.BtnCancel.Name = "BtnCancel";
- this.BtnCancel.UseVisualStyleBackColor = true;
- //
- // BtnCreate
- //
- this.BtnCreate.DialogResult = System.Windows.Forms.DialogResult.OK;
- resources.ApplyResources(this.BtnCreate, "BtnCreate");
- this.BtnCreate.Name = "BtnCreate";
- this.BtnCreate.UseVisualStyleBackColor = true;
- //
- // TT
- //
- this.TT.AutoPopDelay = 10000;
- this.TT.InitialDelay = 500;
- this.TT.ReshowDelay = 100;
- //
- // SvgToGCodeForm
- //
- resources.ApplyResources(this, "$this");
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.Controls.Add(this.tableLayoutPanel9);
- this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
- this.Name = "SvgToGCodeForm";
- this.tableLayoutPanel9.ResumeLayout(false);
- this.tableLayoutPanel9.PerformLayout();
- this.GbSpeed.ResumeLayout(false);
- this.GbSpeed.PerformLayout();
- this.tableLayoutPanel6.ResumeLayout(false);
- this.tableLayoutPanel6.PerformLayout();
- this.GbLaser.ResumeLayout(false);
- this.GbLaser.PerformLayout();
- this.tableLayoutPanel7.ResumeLayout(false);
- this.tableLayoutPanel7.PerformLayout();
- this.tableLayoutPanel1.ResumeLayout(false);
- this.ResumeLayout(false);
- this.PerformLayout();
+ this.components = new System.ComponentModel.Container();
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SvgToGCodeForm));
+ this.tableLayoutPanel9 = new System.Windows.Forms.TableLayoutPanel();
+ this.GbSpeed = new System.Windows.Forms.GroupBox();
+ this.tableLayoutPanel6 = new System.Windows.Forms.TableLayoutPanel();
+ this.LblBorderTracing = new System.Windows.Forms.Label();
+ this.LblBorderTracingmm = new System.Windows.Forms.Label();
+ this.IIBorderTracing = new LaserGRBL.UserControls.NumericInput.IntegerInputRanged();
+ this.BtnPSHelper = new LaserGRBL.UserControls.ImageButton();
+ this.GbLaser = new System.Windows.Forms.GroupBox();
+ this.tableLayoutPanel7 = new System.Windows.Forms.TableLayoutPanel();
+ this.BtnModulationInfo = new LaserGRBL.UserControls.ImageButton();
+ this.LblSmin = new System.Windows.Forms.Label();
+ this.IIMinPower = new LaserGRBL.UserControls.NumericInput.IntegerInputRanged();
+ this.label18 = new System.Windows.Forms.Label();
+ this.BtnOnOffInfo = new LaserGRBL.UserControls.ImageButton();
+ this.CBLaserON = new System.Windows.Forms.ComboBox();
+ this.LblSmax = new System.Windows.Forms.Label();
+ this.IIMaxPower = new LaserGRBL.UserControls.NumericInput.IntegerInputRanged();
+ this.LblMinPerc = new System.Windows.Forms.Label();
+ this.LblMaxPerc = new System.Windows.Forms.Label();
+ this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
+ this.BtnCancel = new System.Windows.Forms.Button();
+ this.BtnCreate = new System.Windows.Forms.Button();
+ this.TT = new System.Windows.Forms.ToolTip(this.components);
+ this.tableLayoutPanel9.SuspendLayout();
+ this.GbSpeed.SuspendLayout();
+ this.tableLayoutPanel6.SuspendLayout();
+ this.GbLaser.SuspendLayout();
+ this.tableLayoutPanel7.SuspendLayout();
+ this.tableLayoutPanel1.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // tableLayoutPanel9
+ //
+ resources.ApplyResources(this.tableLayoutPanel9, "tableLayoutPanel9");
+ this.tableLayoutPanel9.Controls.Add(this.GbSpeed, 0, 0);
+ this.tableLayoutPanel9.Controls.Add(this.GbLaser, 0, 1);
+ this.tableLayoutPanel9.Controls.Add(this.tableLayoutPanel1, 0, 3);
+ this.tableLayoutPanel9.Name = "tableLayoutPanel9";
+ //
+ // GbSpeed
+ //
+ resources.ApplyResources(this.GbSpeed, "GbSpeed");
+ this.GbSpeed.Controls.Add(this.tableLayoutPanel6);
+ this.GbSpeed.Name = "GbSpeed";
+ this.GbSpeed.TabStop = false;
+ //
+ // tableLayoutPanel6
+ //
+ resources.ApplyResources(this.tableLayoutPanel6, "tableLayoutPanel6");
+ this.tableLayoutPanel6.Controls.Add(this.LblBorderTracing, 0, 0);
+ this.tableLayoutPanel6.Controls.Add(this.LblBorderTracingmm, 2, 0);
+ this.tableLayoutPanel6.Controls.Add(this.IIBorderTracing, 1, 0);
+ this.tableLayoutPanel6.Controls.Add(this.BtnPSHelper, 3, 0);
+ this.tableLayoutPanel6.Name = "tableLayoutPanel6";
+ //
+ // LblBorderTracing
+ //
+ resources.ApplyResources(this.LblBorderTracing, "LblBorderTracing");
+ this.LblBorderTracing.Name = "LblBorderTracing";
+ //
+ // LblBorderTracingmm
+ //
+ resources.ApplyResources(this.LblBorderTracingmm, "LblBorderTracingmm");
+ this.LblBorderTracingmm.Name = "LblBorderTracingmm";
+ //
+ // IIBorderTracing
+ //
+ resources.ApplyResources(this.IIBorderTracing, "IIBorderTracing");
+ this.IIBorderTracing.CurrentValue = 1000;
+ this.IIBorderTracing.ForcedText = null;
+ this.IIBorderTracing.ForceMinMax = false;
+ this.IIBorderTracing.MaxValue = 4000;
+ this.IIBorderTracing.MinValue = 1;
+ this.IIBorderTracing.Name = "IIBorderTracing";
+ this.IIBorderTracing.NormalBorderColor = System.Drawing.SystemColors.ActiveBorder;
+ this.IIBorderTracing.CurrentValueChanged += new LaserGRBL.UserControls.NumericInput.IntegerInputBase.CurrentValueChangedEventHandler(this.IIBorderTracingCurrentValueChanged);
+ //
+ // BtnPSHelper
+ //
+ this.BtnPSHelper.AltImage = null;
+ resources.ApplyResources(this.BtnPSHelper, "BtnPSHelper");
+ this.BtnPSHelper.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
+ this.BtnPSHelper.Caption = null;
+ this.BtnPSHelper.Coloration = System.Drawing.Color.Empty;
+ this.BtnPSHelper.Image = ((System.Drawing.Image)(resources.GetObject("BtnPSHelper.Image")));
+ this.BtnPSHelper.Name = "BtnPSHelper";
+ this.BtnPSHelper.SizingMode = LaserGRBL.UserControls.ImageButton.SizingModes.FixedSize;
+ this.TT.SetToolTip(this.BtnPSHelper, resources.GetString("BtnPSHelper.ToolTip"));
+ this.BtnPSHelper.UseAltImage = false;
+ this.BtnPSHelper.Click += new System.EventHandler(this.BtnPSHelper_Click);
+ //
+ // GbLaser
+ //
+ resources.ApplyResources(this.GbLaser, "GbLaser");
+ this.GbLaser.Controls.Add(this.tableLayoutPanel7);
+ this.GbLaser.Name = "GbLaser";
+ this.GbLaser.TabStop = false;
+ //
+ // tableLayoutPanel7
+ //
+ resources.ApplyResources(this.tableLayoutPanel7, "tableLayoutPanel7");
+ this.tableLayoutPanel7.Controls.Add(this.BtnModulationInfo, 3, 1);
+ this.tableLayoutPanel7.Controls.Add(this.LblSmin, 0, 1);
+ this.tableLayoutPanel7.Controls.Add(this.IIMinPower, 1, 1);
+ this.tableLayoutPanel7.Controls.Add(this.label18, 0, 0);
+ this.tableLayoutPanel7.Controls.Add(this.BtnOnOffInfo, 3, 0);
+ this.tableLayoutPanel7.Controls.Add(this.CBLaserON, 1, 0);
+ this.tableLayoutPanel7.Controls.Add(this.LblSmax, 0, 2);
+ this.tableLayoutPanel7.Controls.Add(this.IIMaxPower, 1, 2);
+ this.tableLayoutPanel7.Controls.Add(this.LblMinPerc, 2, 1);
+ this.tableLayoutPanel7.Controls.Add(this.LblMaxPerc, 2, 2);
+ this.tableLayoutPanel7.Name = "tableLayoutPanel7";
+ //
+ // BtnModulationInfo
+ //
+ this.BtnModulationInfo.AltImage = null;
+ resources.ApplyResources(this.BtnModulationInfo, "BtnModulationInfo");
+ this.BtnModulationInfo.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
+ this.BtnModulationInfo.Caption = null;
+ this.BtnModulationInfo.Coloration = System.Drawing.Color.Empty;
+ this.BtnModulationInfo.Image = ((System.Drawing.Image)(resources.GetObject("BtnModulationInfo.Image")));
+ this.BtnModulationInfo.Name = "BtnModulationInfo";
+ this.tableLayoutPanel7.SetRowSpan(this.BtnModulationInfo, 2);
+ this.BtnModulationInfo.SizingMode = LaserGRBL.UserControls.ImageButton.SizingModes.FixedSize;
+ this.TT.SetToolTip(this.BtnModulationInfo, resources.GetString("BtnModulationInfo.ToolTip"));
+ this.BtnModulationInfo.UseAltImage = false;
+ this.BtnModulationInfo.Click += new System.EventHandler(this.BtnModulationInfo_Click);
+ //
+ // LblSmin
+ //
+ resources.ApplyResources(this.LblSmin, "LblSmin");
+ this.LblSmin.Name = "LblSmin";
+ //
+ // IIMinPower
+ //
+ resources.ApplyResources(this.IIMinPower, "IIMinPower");
+ this.IIMinPower.ForcedText = null;
+ this.IIMinPower.ForceMinMax = false;
+ this.IIMinPower.MaxValue = 999;
+ this.IIMinPower.MinValue = 0;
+ this.IIMinPower.Name = "IIMinPower";
+ this.IIMinPower.NormalBorderColor = System.Drawing.SystemColors.ActiveBorder;
+ this.IIMinPower.CurrentValueChanged += new LaserGRBL.UserControls.NumericInput.IntegerInputBase.CurrentValueChangedEventHandler(this.IIMinPowerCurrentValueChanged);
+ //
+ // label18
+ //
+ resources.ApplyResources(this.label18, "label18");
+ this.label18.Name = "label18";
+ //
+ // BtnOnOffInfo
+ //
+ this.BtnOnOffInfo.AltImage = null;
+ resources.ApplyResources(this.BtnOnOffInfo, "BtnOnOffInfo");
+ this.BtnOnOffInfo.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
+ this.BtnOnOffInfo.Caption = null;
+ this.BtnOnOffInfo.Coloration = System.Drawing.Color.Empty;
+ this.BtnOnOffInfo.Image = ((System.Drawing.Image)(resources.GetObject("BtnOnOffInfo.Image")));
+ this.BtnOnOffInfo.Name = "BtnOnOffInfo";
+ this.BtnOnOffInfo.SizingMode = LaserGRBL.UserControls.ImageButton.SizingModes.FixedSize;
+ this.TT.SetToolTip(this.BtnOnOffInfo, resources.GetString("BtnOnOffInfo.ToolTip"));
+ this.BtnOnOffInfo.UseAltImage = false;
+ this.BtnOnOffInfo.Click += new System.EventHandler(this.BtnOnOffInfo_Click);
+ //
+ // CBLaserON
+ //
+ this.tableLayoutPanel7.SetColumnSpan(this.CBLaserON, 2);
+ resources.ApplyResources(this.CBLaserON, "CBLaserON");
+ this.CBLaserON.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.CBLaserON.FormattingEnabled = true;
+ this.CBLaserON.Name = "CBLaserON";
+ this.CBLaserON.SelectedIndexChanged += new System.EventHandler(this.CBLaserON_SelectedIndexChanged);
+ //
+ // LblSmax
+ //
+ resources.ApplyResources(this.LblSmax, "LblSmax");
+ this.LblSmax.Name = "LblSmax";
+ //
+ // IIMaxPower
+ //
+ resources.ApplyResources(this.IIMaxPower, "IIMaxPower");
+ this.IIMaxPower.CurrentValue = 1000;
+ this.IIMaxPower.ForcedText = null;
+ this.IIMaxPower.ForceMinMax = false;
+ this.IIMaxPower.MaxValue = 1000;
+ this.IIMaxPower.MinValue = 1;
+ this.IIMaxPower.Name = "IIMaxPower";
+ this.IIMaxPower.NormalBorderColor = System.Drawing.SystemColors.ActiveBorder;
+ this.IIMaxPower.CurrentValueChanged += new LaserGRBL.UserControls.NumericInput.IntegerInputBase.CurrentValueChangedEventHandler(this.IIMaxPowerCurrentValueChanged);
+ //
+ // LblMinPerc
+ //
+ resources.ApplyResources(this.LblMinPerc, "LblMinPerc");
+ this.LblMinPerc.Name = "LblMinPerc";
+ //
+ // LblMaxPerc
+ //
+ resources.ApplyResources(this.LblMaxPerc, "LblMaxPerc");
+ this.LblMaxPerc.Name = "LblMaxPerc";
+ //
+ // tableLayoutPanel1
+ //
+ resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
+ this.tableLayoutPanel1.Controls.Add(this.BtnCancel, 1, 0);
+ this.tableLayoutPanel1.Controls.Add(this.BtnCreate, 2, 0);
+ this.tableLayoutPanel1.Name = "tableLayoutPanel1";
+ //
+ // BtnCancel
+ //
+ this.BtnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+ resources.ApplyResources(this.BtnCancel, "BtnCancel");
+ this.BtnCancel.Name = "BtnCancel";
+ this.BtnCancel.UseVisualStyleBackColor = true;
+ //
+ // BtnCreate
+ //
+ this.BtnCreate.DialogResult = System.Windows.Forms.DialogResult.OK;
+ resources.ApplyResources(this.BtnCreate, "BtnCreate");
+ this.BtnCreate.Name = "BtnCreate";
+ this.BtnCreate.UseVisualStyleBackColor = true;
+ //
+ // TT
+ //
+ this.TT.AutoPopDelay = 10000;
+ this.TT.InitialDelay = 500;
+ this.TT.ReshowDelay = 100;
+ //
+ // SvgToGCodeForm
+ //
+ resources.ApplyResources(this, "$this");
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.tableLayoutPanel9);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
+ this.Name = "SvgToGCodeForm";
+ this.tableLayoutPanel9.ResumeLayout(false);
+ this.tableLayoutPanel9.PerformLayout();
+ this.GbSpeed.ResumeLayout(false);
+ this.GbSpeed.PerformLayout();
+ this.tableLayoutPanel6.ResumeLayout(false);
+ this.tableLayoutPanel6.PerformLayout();
+ this.GbLaser.ResumeLayout(false);
+ this.GbLaser.PerformLayout();
+ this.tableLayoutPanel7.ResumeLayout(false);
+ this.tableLayoutPanel7.PerformLayout();
+ this.tableLayoutPanel1.ResumeLayout(false);
+ this.ResumeLayout(false);
+ this.PerformLayout();
}
diff --git a/LaserGRBL/SvgConverter/ConvertSizeAndOptionForm.cs b/LaserGRBL/SvgConverter/ConvertSizeAndOptionForm.cs
index f296516a..fad39378 100644
--- a/LaserGRBL/SvgConverter/ConvertSizeAndOptionForm.cs
+++ b/LaserGRBL/SvgConverter/ConvertSizeAndOptionForm.cs
@@ -34,7 +34,7 @@ public override string ToString()
}
}
- internal static void CreateAndShowDialog(GrblCore core, string filename, Form parent, bool append)
+ internal static void CreateAndShowDialog(GrblCore core, string filename, Form parent, bool append, int nLayer)
{
using (SvgToGCodeForm f = new SvgToGCodeForm(core, filename, append))
{
@@ -46,7 +46,7 @@ internal static void CreateAndShowDialog(GrblCore core, string filename, Form pa
Settings.SetObject("GrayScaleConversion.Gcode.LaserOptions.PowerMin", f.IIMinPower.CurrentValue);
Settings.SetObject("GrayScaleConversion.Gcode.LaserOptions.LaserOn", (f.CBLaserON.SelectedItem as ComboboxItem).Value);
- core.LoadedFile.LoadImportedSVG(filename, append, core);
+ core.LoadedFile.LoadImportedSVG(filename, append, core, nLayer);
}
}
}
diff --git a/LaserGRBL/SvgConverter/ConvertSizeAndOptionForm.resx b/LaserGRBL/SvgConverter/ConvertSizeAndOptionForm.resx
index 62731b9a..da4686d9 100644
--- a/LaserGRBL/SvgConverter/ConvertSizeAndOptionForm.resx
+++ b/LaserGRBL/SvgConverter/ConvertSizeAndOptionForm.resx
@@ -229,7 +229,7 @@
IIBorderTracing
- LaserGRBL.UserControls.NumericInput.IntegerInputRanged, LaserGRBL, Version=4.5.1.0, Culture=neutral, PublicKeyToken=null
+ LaserGRBL.UserControls.NumericInput.IntegerInputRanged, LaserGRBL, Version=4.8.1.0, Culture=neutral, PublicKeyToken=null
tableLayoutPanel6
@@ -243,7 +243,7 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6
- JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAACXBIWXMAAAsTAAALEwEAmpwYAAACrUlE
+ JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAACXBIWXMAAAsQAAALEAGtI711AAACrUlE
QVQ4T6WO60uTYRjG3/+kz0F9iMjEMnClhZonEMdi1WxoHoZzMzE3DTwhKttCN0MqZROdluiMSkQdw8OG
ZjrJaZ42Z21NrWnbxJ2eq/d1JH7wQ+ED1/PcXPf1/O6bAnAmnWr+j44LaftaWNFnDzf22OZrOtevngw1
dC6zZL3rqzKtJVys+ERbJwClrfPDtCDtWGEa+OkDGTS5iWpwc1emnoqVa5dGjF8PyYoTGJ07gFRpQE1z
@@ -277,7 +277,7 @@
BtnPSHelper
- LaserGRBL.UserControls.ImageButton, LaserGRBL, Version=4.5.1.0, Culture=neutral, PublicKeyToken=null
+ LaserGRBL.UserControls.ImageButton, LaserGRBL, Version=4.8.1.0, Culture=neutral, PublicKeyToken=null
tableLayoutPanel6
@@ -394,7 +394,7 @@ Click for more information...
BtnModulationInfo
- LaserGRBL.UserControls.ImageButton, LaserGRBL, Version=4.5.1.0, Culture=neutral, PublicKeyToken=null
+ LaserGRBL.UserControls.ImageButton, LaserGRBL, Version=4.8.1.0, Culture=neutral, PublicKeyToken=null
tableLayoutPanel7
@@ -451,7 +451,7 @@ Click for more information...
IIMinPower
- LaserGRBL.UserControls.NumericInput.IntegerInputRanged, LaserGRBL, Version=4.5.1.0, Culture=neutral, PublicKeyToken=null
+ LaserGRBL.UserControls.NumericInput.IntegerInputRanged, LaserGRBL, Version=4.8.1.0, Culture=neutral, PublicKeyToken=null
tableLayoutPanel7
@@ -530,7 +530,7 @@ Click for more information...
BtnOnOffInfo
- LaserGRBL.UserControls.ImageButton, LaserGRBL, Version=4.5.1.0, Culture=neutral, PublicKeyToken=null
+ LaserGRBL.UserControls.ImageButton, LaserGRBL, Version=4.8.1.0, Culture=neutral, PublicKeyToken=null
tableLayoutPanel7
@@ -611,7 +611,7 @@ Click for more information...
IIMaxPower
- LaserGRBL.UserControls.NumericInput.IntegerInputRanged, LaserGRBL, Version=4.5.1.0, Culture=neutral, PublicKeyToken=null
+ LaserGRBL.UserControls.NumericInput.IntegerInputRanged, LaserGRBL, Version=4.8.1.0, Culture=neutral, PublicKeyToken=null
tableLayoutPanel7
diff --git a/LaserGRBL/Tools/Project.cs b/LaserGRBL/Tools/Project.cs
index cef6541f..73662249 100644
--- a/LaserGRBL/Tools/Project.cs
+++ b/LaserGRBL/Tools/Project.cs
@@ -23,7 +23,7 @@ public static class Project
///
/// Holds the actual project settings
///
- public static List> ProjectSettings = new List>();
+ public static List>[] ProjectSettings = new List>[] { new List>(), new List>(),new List>() };
#endregion
@@ -33,23 +33,29 @@ public static class Project
/// Add new settings
///
/// Dictionary holding the new settings
- public static void AddSettings(Dictionary settings)
+ public static void AddSettings(Dictionary settings, int nLayer)
{
if (settings == null) return;
// Add image to dictionary
- settings.Add("ImageName", Path.GetFileName(Settings.GetObject("Core.LastOpenFile", null)));
- settings.Add("ImageBase64", ConvertImageToBase64(Settings.GetObject("Core.LastOpenFile", null)));
+ string layerSuffix = nLayer > 0 ? nLayer.ToString() : "";
+ string lastOpenFile = Settings.GetObject("Core.LastOpenFile" + layerSuffix, null);
+ string lastOpenFileName = Path.GetFileName(lastOpenFile);
+ if (lastOpenFileName != null)
+ {
+ settings.Add("ImageName", lastOpenFileName);
+ settings.Add("ImageBase64", ConvertImageToBase64(lastOpenFile));
+ }
- ProjectSettings.Add(settings);
+ ProjectSettings[nLayer].Add(settings);
}
///
/// Clear all project settings (has to be done if file new file is opened or last file is reloaded)
///
- public static void ClearSettings()
+ public static void ClearSettings(int nLayer)
{
- ProjectSettings.Clear();
+ ProjectSettings[nLayer].Clear();
}
///
@@ -72,16 +78,17 @@ public static void StoreSettings(string filename)
///
/// Filepath to the project
/// Settings of the project
- public static List> LoadProject(string filename)
+ public static List>[] LoadProject(string filename)
{
- if (string.IsNullOrEmpty(filename)) return new List>();
- if (!File.Exists(filename)) return new List>();
+ List>[] _new = new List>[] { new List>(), new List>(), new List>() };
+ if (string.IsNullOrEmpty(filename)) return _new;
+ if (!File.Exists(filename)) return _new;
- List> project;
+ List>[] project;
using (var fs = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.None))
{
- project = (List>)Formatter.Deserialize(fs);
+ project = (List>[])Formatter.Deserialize(fs);
fs.Close();
}
@@ -95,6 +102,7 @@ public static List> LoadProject(string filename)
///
private static string ConvertImageToBase64(string imagePath)
{
+ if (imagePath == null) return "";
using (var image = Image.FromFile(imagePath))
{
using (var m = new MemoryStream())
diff --git a/LaserGRBL/UserControls/GrblPanel.cs b/LaserGRBL/UserControls/GrblPanel.cs
index 4c874035..672c8a23 100644
--- a/LaserGRBL/UserControls/GrblPanel.cs
+++ b/LaserGRBL/UserControls/GrblPanel.cs
@@ -132,14 +132,20 @@ public void SetComProgram(GrblCore core)
Core = core;
Core.OnFileLoading += OnFileLoading;
Core.OnFileLoaded += OnFileLoaded;
+ Core.OnLayerEnabledChange += OnMultiEnabledChange;
}
- void OnFileLoading(long elapsed, string filename)
+ void OnFileLoading(long elapsed, string filename, int nLayer)
{
AbortCreation();
}
- void OnFileLoaded(long elapsed, string filename)
+ void OnFileLoaded(long elapsed, string filename, int nLayer)
+ {
+ RecreateBMP();
+ }
+
+ void OnMultiEnabledChange(Boolean current, int nLayer)
{
RecreateBMP();
}
@@ -186,7 +192,12 @@ private void DoTheWork()
g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAliasGridFit;
if (Core != null /*&& Core.HasProgram*/)
- Core.LoadedFile.DrawOnGraphics(g, wSize);
+ {
+ for (int jLayer = 0; jLayer < 3; jLayer++)
+ {
+ Core.LoadedFile.DrawOnGraphics(g, wSize, jLayer, Core.LayerEnabled());
+ }
+ }
mLastMatrix = g.Transform;
}