版本-v1.2.2 & v1.2.3
This commit is contained in:
parent
e6bd2d06ce
commit
2d8f0488c8
Binary file not shown.
@ -61,6 +61,7 @@ namespace AssistClient
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
//WarningEvent( WarningEnum.Normal, "启动1");
|
||||||
devAxis = new AxisDev();
|
devAxis = new AxisDev();
|
||||||
devAxis.WarningEvent = WarningEvent;
|
devAxis.WarningEvent = WarningEvent;
|
||||||
devAxis.axisPosEvent = axisPosEvent;//位置POS
|
devAxis.axisPosEvent = axisPosEvent;//位置POS
|
||||||
@ -77,11 +78,14 @@ namespace AssistClient
|
|||||||
devLight = new LightDev();
|
devLight = new LightDev();
|
||||||
devLight.WarningEvent = WarningEvent;
|
devLight.WarningEvent = WarningEvent;
|
||||||
devScannerCC = new ScannerDev(ScannerDev.ScannerType.CC);
|
devScannerCC = new ScannerDev(ScannerDev.ScannerType.CC);
|
||||||
devScannerCC.WarningEvent = WarningEvent;
|
devScannerCC.WarningEvent = WarningEvent;
|
||||||
|
//WarningEvent(WarningEnum.Normal, "启动2");
|
||||||
libSize = new SizeLib();
|
libSize = new SizeLib();
|
||||||
|
//WarningEvent(WarningEnum.Normal, "启动2.5");
|
||||||
libSize.WarningEvent = WarningEvent;
|
libSize.WarningEvent = WarningEvent;
|
||||||
libFor = new ForLib();
|
libFor = new ForLib();
|
||||||
libIF = new IFLib();
|
libIF = new IFLib();
|
||||||
|
//WarningEvent(WarningEnum.Normal, "启动3");
|
||||||
//启动
|
//启动
|
||||||
if (!devAxis.start(Config.Axis_PulseOutMode)) throw new Exception("运动板卡初始化失败!");
|
if (!devAxis.start(Config.Axis_PulseOutMode)) throw new Exception("运动板卡初始化失败!");
|
||||||
//if (!devCodeScanner.start()) throw new Exception("扫码枪初始化失败!");
|
//if (!devCodeScanner.start()) throw new Exception("扫码枪初始化失败!");
|
||||||
@ -91,8 +95,9 @@ namespace AssistClient
|
|||||||
if (!Config.SkipScannerCC && !devScannerCC.open()) throw new Exception("相机初始化失败!");
|
if (!Config.SkipScannerCC && !devScannerCC.open()) throw new Exception("相机初始化失败!");
|
||||||
if (!Config.SkipScannerCC && !devScannerCC.start(this.preView2, Config.SizeBmp_Path)) throw new Exception("相机打开失败!");
|
if (!Config.SkipScannerCC && !devScannerCC.start(this.preView2, Config.SizeBmp_Path)) throw new Exception("相机打开失败!");
|
||||||
|
|
||||||
|
//WarningEvent(WarningEnum.Normal, "启动4");
|
||||||
if (!libSize.start(Config.SizeEnginePath)) throw new Exception("尺寸库初始化失败!");
|
if (!libSize.start(Config.SizeEnginePath)) throw new Exception("尺寸库初始化失败!");
|
||||||
|
//WarningEvent(WarningEnum.Normal, "启动5");
|
||||||
//
|
//
|
||||||
state = true;
|
state = true;
|
||||||
StateChange?.Invoke(true, "成功");
|
StateChange?.Invoke(true, "成功");
|
||||||
|
@ -106,7 +106,8 @@ namespace AssistClient
|
|||||||
}
|
}
|
||||||
private void FrmMain_Load(object sender, EventArgs e)
|
private void FrmMain_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
this.tsbtnPause.Left = this.tsbtnGoDownPT.Left = this.gpbZAxis.Right + 10;
|
this.tsbtnPause.Left = this.tsbtnGoDownPT.Left = this.gpbZAxis.Right + 10;
|
||||||
|
|
||||||
}
|
}
|
||||||
private void FrmMain_FormClosing(object sender, FormClosingEventArgs e)
|
private void FrmMain_FormClosing(object sender, FormClosingEventArgs e)
|
||||||
{
|
{
|
||||||
@ -200,9 +201,10 @@ namespace AssistClient
|
|||||||
this.pictureBox1.Image = bmp;//del
|
this.pictureBox1.Image = bmp;//del
|
||||||
|
|
||||||
pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||||
pictureBox1.MouseWheel += new MouseEventHandler(pictureBox1_MouseWheel);
|
//2023-12-22 之前工程师写的,存在bug,屏蔽
|
||||||
pictureBox1.MouseMove += pictureBox1_MouseMove;
|
//pictureBox1.MouseWheel += new MouseEventHandler(pictureBox1_MouseWheel);
|
||||||
pictureBox1.MouseDown += pictureBox1_MouseDown;
|
//pictureBox1.MouseMove += pictureBox1_MouseMove;
|
||||||
|
//pictureBox1.MouseDown += pictureBox1_MouseDown;
|
||||||
this.ActiveControl = this.pictureBox1; // 设置焦点
|
this.ActiveControl = this.pictureBox1; // 设置焦点
|
||||||
|
|
||||||
pic_size = this.pnlPic.ClientSize;
|
pic_size = this.pnlPic.ClientSize;
|
||||||
@ -243,8 +245,8 @@ namespace AssistClient
|
|||||||
private void changePictureBoxSize(Point location, double ratio)
|
private void changePictureBoxSize(Point location, double ratio)
|
||||||
{
|
{
|
||||||
var picSize = pictureBox1.Size;
|
var picSize = pictureBox1.Size;
|
||||||
picSize.Width = Convert.ToInt32(pic_size.Width * ratio);
|
picSize.Width = Convert.ToInt32(picSize.Width * ratio);
|
||||||
picSize.Height = Convert.ToInt32(pic_size.Height * ratio);
|
picSize.Height = Convert.ToInt32(picSize.Height * ratio);
|
||||||
pictureBox1.Size = picSize;
|
pictureBox1.Size = picSize;
|
||||||
|
|
||||||
if (location.X > 0) location.X = 0;
|
if (location.X > 0) location.X = 0;
|
||||||
@ -1844,6 +1846,7 @@ namespace AssistClient
|
|||||||
if (level == WarningEnum.High)
|
if (level == WarningEnum.High)
|
||||||
warning(level, true);
|
warning(level, true);
|
||||||
};
|
};
|
||||||
|
AddTextEvent("设备启动", "启动");
|
||||||
devContainer.start(IntPtr.Zero, IntPtr.Zero);
|
devContainer.start(IntPtr.Zero, IntPtr.Zero);
|
||||||
}
|
}
|
||||||
private void Timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
|
private void Timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
|
||||||
|
@ -6,6 +6,7 @@ using System.Linq;
|
|||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using ProductionControl.Utils;
|
using ProductionControl.Utils;
|
||||||
|
|
||||||
@ -27,6 +28,9 @@ namespace ProductionControl
|
|||||||
public static bool OpenMarkErrorStop;
|
public static bool OpenMarkErrorStop;
|
||||||
//启用缺陷分布功能
|
//启用缺陷分布功能
|
||||||
public static bool OpenFlawDistribution;
|
public static bool OpenFlawDistribution;
|
||||||
|
//启用X轴校准 2023-12-20
|
||||||
|
public static bool OpenAxisXCalibration;
|
||||||
|
|
||||||
//DEV
|
//DEV
|
||||||
public static int[] Axis_PulseOutMode=new int[4];
|
public static int[] Axis_PulseOutMode=new int[4];
|
||||||
public static int[] Axis_MM2PulseNum = new int[4] { 5000, 5000, 5000, 1000};//1mm对应脉冲数
|
public static int[] Axis_MM2PulseNum = new int[4] { 5000, 5000, 5000, 1000};//1mm对应脉冲数
|
||||||
@ -106,19 +110,19 @@ namespace ProductionControl
|
|||||||
|
|
||||||
//
|
//
|
||||||
if (Defect_SavePath_AutoClear >= 0)
|
if (Defect_SavePath_AutoClear >= 0)
|
||||||
DeleteFiles(Config.Defect_SavePath, Defect_SavePath_AutoClear, false);
|
DeleteFiles(Config.Defect_SavePath, Defect_SavePath_AutoClear, true);
|
||||||
if (Defect_Compress_SavePath_AutoClear >= 0)
|
if (Defect_Compress_SavePath_AutoClear >= 0)
|
||||||
DeleteFiles(Config.Defect_Compress_SavePath, Defect_Compress_SavePath_AutoClear, false);
|
DeleteFiles(Config.Defect_Compress_SavePath, Defect_Compress_SavePath_AutoClear, true);
|
||||||
if (Defect_Small_SavePath_AutoClear >= 0)
|
if (Defect_Small_SavePath_AutoClear >= 0)
|
||||||
DeleteFiles(Config.Defect_Small_SavePath, Defect_Small_SavePath_AutoClear, false);
|
DeleteFiles(Config.Defect_Small_SavePath, Defect_Small_SavePath_AutoClear, true);
|
||||||
|
|
||||||
//
|
//
|
||||||
if (SizeBmp_SavePath_AutoClear >= 0)
|
if (SizeBmp_SavePath_AutoClear >= 0)
|
||||||
DeleteFiles(Config.SizeBmp_SavePath, SizeBmp_SavePath_AutoClear, false);
|
DeleteFiles(Config.SizeBmp_SavePath, SizeBmp_SavePath_AutoClear, true);
|
||||||
if (SizeBmp_Compare_SavePath_AutoClear >= 0)
|
if (SizeBmp_Compare_SavePath_AutoClear >= 0)
|
||||||
DeleteFiles(Config.SizeBmp_Compare_SavePath, SizeBmp_Compare_SavePath_AutoClear, false);
|
DeleteFiles(Config.SizeBmp_Compare_SavePath, SizeBmp_Compare_SavePath_AutoClear, true);
|
||||||
if (SizeBmp_Zoom_Image_SavePath_AutoClear >= 0)
|
if (SizeBmp_Zoom_Image_SavePath_AutoClear >= 0)
|
||||||
DeleteFiles(Config.SizeBmp_Zoom_Image_SavePath, SizeBmp_Zoom_Image_SavePath_AutoClear, false);
|
DeleteFiles(Config.SizeBmp_Zoom_Image_SavePath, SizeBmp_Zoom_Image_SavePath_AutoClear, true);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -198,6 +202,7 @@ namespace ProductionControl
|
|||||||
|
|
||||||
OpenMarkErrorStop = Util.ReadIniValue(configPath, "SKIP", "MarkErrorStop") == "1";
|
OpenMarkErrorStop = Util.ReadIniValue(configPath, "SKIP", "MarkErrorStop") == "1";
|
||||||
OpenFlawDistribution = Util.ReadIniValue(configPath, "SKIP", "OpenFlawDistribution") == "1";
|
OpenFlawDistribution = Util.ReadIniValue(configPath, "SKIP", "OpenFlawDistribution") == "1";
|
||||||
|
OpenAxisXCalibration = Util.ReadIniValue(configPath, "SKIP", "OpenAxisXCalibration") == "1";
|
||||||
//DEV
|
//DEV
|
||||||
lsTmp = Util.ReadIniValue(configPath, "DEV", "Axis0_PulseOutMode");
|
lsTmp = Util.ReadIniValue(configPath, "DEV", "Axis0_PulseOutMode");
|
||||||
if (Util.IsNumber(lsTmp)) Config.Axis_PulseOutMode[0] = Convert.ToInt32(lsTmp);
|
if (Util.IsNumber(lsTmp)) Config.Axis_PulseOutMode[0] = Convert.ToInt32(lsTmp);
|
||||||
@ -343,32 +348,62 @@ namespace ProductionControl
|
|||||||
/// <param name="dirPath"></param>
|
/// <param name="dirPath"></param>
|
||||||
/// <param name="days"></param>
|
/// <param name="days"></param>
|
||||||
/// <param name="delDir">把日期文件夹也按days进行删除,格式:yyyyMMdd</param>
|
/// <param name="delDir">把日期文件夹也按days进行删除,格式:yyyyMMdd</param>
|
||||||
private static void DeleteFiles(string dirPath,double days=0,bool delDir=false)
|
private static void DeleteFiles(string dirPath, double days = 0, bool delDir = false)
|
||||||
{
|
{
|
||||||
if (!Directory.Exists(dirPath)) return;
|
if (!Directory.Exists(dirPath)) return;
|
||||||
DateTime delDate = DateTime.Now.AddDays(-days);
|
DateTime delDate = DateTime.Now.AddDays(-days);
|
||||||
API.OutputDebugString($"清除{delDate.ToString("yyyyMMdd")}前记录:{dirPath}。");
|
API.OutputDebugString($"清除{delDate.ToString("yyyyMMdd")}前记录:{dirPath}。");
|
||||||
string[] file_list = Directory.GetFiles(dirPath);
|
|
||||||
if(days>0)
|
//删除dirPath中的过期文件
|
||||||
file_list = file_list.Select(file => new FileInfo(file))
|
string[] files_list = Directory.GetFiles(dirPath);
|
||||||
.Where(f=>f.CreationTime<= delDate)
|
if (days > 0)
|
||||||
|
files_list = files_list.Select(file => new FileInfo(file))
|
||||||
|
.Where(f => f.CreationTime <= delDate)
|
||||||
.Select(x => x.FullName)
|
.Select(x => x.FullName)
|
||||||
.ToArray();
|
.ToArray();
|
||||||
|
|
||||||
foreach (string file in file_list)
|
foreach (string file in files_list)
|
||||||
{
|
{
|
||||||
try {
|
try
|
||||||
|
{
|
||||||
API.OutputDebugString($"清除文件:{file}...");
|
API.OutputDebugString($"清除文件:{file}...");
|
||||||
File.Delete(file);
|
File.Delete(file);
|
||||||
} catch(Exception ex) {
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
API.OutputDebugString($"Ex1:{ex.Message}");
|
API.OutputDebugString($"Ex1:{ex.Message}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
string[] dirsList = Directory.GetDirectories(dirPath, "20*");
|
||||||
|
foreach (string dir in dirsList)
|
||||||
|
{
|
||||||
|
string[] file_list = Directory.GetFiles(dir);
|
||||||
|
if (days > 0)
|
||||||
|
file_list = file_list.Select(file => new FileInfo(file))
|
||||||
|
.Where(f => f.CreationTime <= delDate)
|
||||||
|
.Select(x => x.FullName)
|
||||||
|
.ToArray();
|
||||||
|
|
||||||
|
foreach (string file in file_list)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
API.OutputDebugString($"清除文件:{file}...");
|
||||||
|
File.Delete(file);
|
||||||
|
} catch (Exception ex) {
|
||||||
|
API.OutputDebugString($"Ex1:{ex.Message}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
//
|
//
|
||||||
if (delDir)
|
if (delDir)
|
||||||
{
|
{
|
||||||
int dateNum = Convert.ToInt32(delDate.ToString("yyyyMMdd"));
|
int dateNum = 0;
|
||||||
|
if (days > 1)
|
||||||
|
dateNum = Convert.ToInt32(delDate.ToString("yyyyMMdd"));
|
||||||
|
else if (days > 0)
|
||||||
|
dateNum = Convert.ToInt32(delDate.ToString("yyyyMMdd")) - 1;
|
||||||
|
|
||||||
string floderName;
|
string floderName;
|
||||||
string[] dirList = Directory.GetDirectories(dirPath,"20*");
|
string[] dirList = Directory.GetDirectories(dirPath,"20*");
|
||||||
foreach (string dir in dirList)
|
foreach (string dir in dirList)
|
||||||
@ -391,5 +426,41 @@ namespace ProductionControl
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static long GetHardDiskSpace(string str_HardDiskName)
|
||||||
|
{
|
||||||
|
long result = 0L;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
str_HardDiskName += ":\\";
|
||||||
|
DriveInfo[] drives = DriveInfo.GetDrives();
|
||||||
|
DriveInfo[] array = drives;
|
||||||
|
foreach (DriveInfo driveInfo in array)
|
||||||
|
{
|
||||||
|
if (driveInfo.Name == str_HardDiskName)
|
||||||
|
{
|
||||||
|
result = driveInfo.TotalFreeSpace / 1073741824;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
result = 0;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool CheckDisk(int max = 10)
|
||||||
|
{
|
||||||
|
string path = Config.Defect_SavePath;
|
||||||
|
string volume = path.Substring(0, path.IndexOf(':'));
|
||||||
|
long freespace = GetHardDiskSpace(volume);
|
||||||
|
if (freespace < max)
|
||||||
|
{
|
||||||
|
string tip = $"当前{volume}硬盘容量:{freespace}GB,小于{max}GB。注意清理!!";
|
||||||
|
MessageBox.Show(tip, "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -176,6 +176,9 @@ namespace ProductionControl
|
|||||||
|
|
||||||
Y轴复位输出 = 40,
|
Y轴复位输出 = 40,
|
||||||
Y轴复位完成输入 = 41,
|
Y轴复位完成输入 = 41,
|
||||||
|
|
||||||
|
X1轴复位输出 = 50,
|
||||||
|
X2轴复位输出 = 51,
|
||||||
}
|
}
|
||||||
|
|
||||||
//---
|
//---
|
||||||
|
2
halftoneproject-master/Code/FrmLogin.Designer.cs
generated
2
halftoneproject-master/Code/FrmLogin.Designer.cs
generated
@ -159,7 +159,7 @@
|
|||||||
this.Name = "FrmLogin";
|
this.Name = "FrmLogin";
|
||||||
this.ShowIcon = false;
|
this.ShowIcon = false;
|
||||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||||
this.Text = "自动化视觉检测系统 - v1.2.1";
|
this.Text = "自动化视觉检测系统 - v1.2.3";
|
||||||
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.FrmLogin_FormClosed);
|
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.FrmLogin_FormClosed);
|
||||||
this.Load += new System.EventHandler(this.FrmLogin_Load);
|
this.Load += new System.EventHandler(this.FrmLogin_Load);
|
||||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
|
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
|
||||||
|
16
halftoneproject-master/Code/FrmMain.Designer.cs
generated
16
halftoneproject-master/Code/FrmMain.Designer.cs
generated
@ -1552,7 +1552,7 @@
|
|||||||
this.splitContainer2.Panel2.Controls.Add(this.gboxDefectList);
|
this.splitContainer2.Panel2.Controls.Add(this.gboxDefectList);
|
||||||
this.splitContainer2.Panel2MinSize = 400;
|
this.splitContainer2.Panel2MinSize = 400;
|
||||||
this.splitContainer2.Size = new System.Drawing.Size(463, 523);
|
this.splitContainer2.Size = new System.Drawing.Size(463, 523);
|
||||||
this.splitContainer2.SplitterDistance = 26;
|
this.splitContainer2.SplitterDistance = 28;
|
||||||
this.splitContainer2.SplitterWidth = 3;
|
this.splitContainer2.SplitterWidth = 3;
|
||||||
this.splitContainer2.TabIndex = 10;
|
this.splitContainer2.TabIndex = 10;
|
||||||
//
|
//
|
||||||
@ -1572,7 +1572,7 @@
|
|||||||
// splitContainer3.Panel2
|
// splitContainer3.Panel2
|
||||||
//
|
//
|
||||||
this.splitContainer3.Panel2.Controls.Add(this.picScanner2);
|
this.splitContainer3.Panel2.Controls.Add(this.picScanner2);
|
||||||
this.splitContainer3.Size = new System.Drawing.Size(26, 523);
|
this.splitContainer3.Size = new System.Drawing.Size(28, 523);
|
||||||
this.splitContainer3.SplitterDistance = 226;
|
this.splitContainer3.SplitterDistance = 226;
|
||||||
this.splitContainer3.SplitterWidth = 3;
|
this.splitContainer3.SplitterWidth = 3;
|
||||||
this.splitContainer3.TabIndex = 11;
|
this.splitContainer3.TabIndex = 11;
|
||||||
@ -1586,7 +1586,7 @@
|
|||||||
this.picScanner1.Location = new System.Drawing.Point(0, 0);
|
this.picScanner1.Location = new System.Drawing.Point(0, 0);
|
||||||
this.picScanner1.Margin = new System.Windows.Forms.Padding(2);
|
this.picScanner1.Margin = new System.Windows.Forms.Padding(2);
|
||||||
this.picScanner1.Name = "picScanner1";
|
this.picScanner1.Name = "picScanner1";
|
||||||
this.picScanner1.Size = new System.Drawing.Size(26, 226);
|
this.picScanner1.Size = new System.Drawing.Size(28, 226);
|
||||||
this.picScanner1.TabIndex = 7;
|
this.picScanner1.TabIndex = 7;
|
||||||
this.picScanner1.TabStop = false;
|
this.picScanner1.TabStop = false;
|
||||||
//
|
//
|
||||||
@ -1598,7 +1598,7 @@
|
|||||||
this.picScanner2.Location = new System.Drawing.Point(0, 0);
|
this.picScanner2.Location = new System.Drawing.Point(0, 0);
|
||||||
this.picScanner2.Margin = new System.Windows.Forms.Padding(2);
|
this.picScanner2.Margin = new System.Windows.Forms.Padding(2);
|
||||||
this.picScanner2.Name = "picScanner2";
|
this.picScanner2.Name = "picScanner2";
|
||||||
this.picScanner2.Size = new System.Drawing.Size(26, 294);
|
this.picScanner2.Size = new System.Drawing.Size(28, 294);
|
||||||
this.picScanner2.TabIndex = 9;
|
this.picScanner2.TabIndex = 9;
|
||||||
this.picScanner2.TabStop = false;
|
this.picScanner2.TabStop = false;
|
||||||
//
|
//
|
||||||
@ -1612,7 +1612,7 @@
|
|||||||
this.gboxDefectList.Margin = new System.Windows.Forms.Padding(2);
|
this.gboxDefectList.Margin = new System.Windows.Forms.Padding(2);
|
||||||
this.gboxDefectList.Name = "gboxDefectList";
|
this.gboxDefectList.Name = "gboxDefectList";
|
||||||
this.gboxDefectList.Padding = new System.Windows.Forms.Padding(2);
|
this.gboxDefectList.Padding = new System.Windows.Forms.Padding(2);
|
||||||
this.gboxDefectList.Size = new System.Drawing.Size(434, 523);
|
this.gboxDefectList.Size = new System.Drawing.Size(432, 523);
|
||||||
this.gboxDefectList.TabIndex = 3;
|
this.gboxDefectList.TabIndex = 3;
|
||||||
this.gboxDefectList.TabStop = false;
|
this.gboxDefectList.TabStop = false;
|
||||||
this.gboxDefectList.Tag = "0";
|
this.gboxDefectList.Tag = "0";
|
||||||
@ -1624,7 +1624,7 @@
|
|||||||
this.lblDefectAddTag.AutoSize = true;
|
this.lblDefectAddTag.AutoSize = true;
|
||||||
this.lblDefectAddTag.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
this.lblDefectAddTag.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
this.lblDefectAddTag.ForeColor = System.Drawing.Color.Blue;
|
this.lblDefectAddTag.ForeColor = System.Drawing.Color.Blue;
|
||||||
this.lblDefectAddTag.Location = new System.Drawing.Point(283, 2);
|
this.lblDefectAddTag.Location = new System.Drawing.Point(281, 2);
|
||||||
this.lblDefectAddTag.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
this.lblDefectAddTag.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||||
this.lblDefectAddTag.Name = "lblDefectAddTag";
|
this.lblDefectAddTag.Name = "lblDefectAddTag";
|
||||||
this.lblDefectAddTag.Size = new System.Drawing.Size(0, 12);
|
this.lblDefectAddTag.Size = new System.Drawing.Size(0, 12);
|
||||||
@ -1639,7 +1639,7 @@
|
|||||||
this.pnlBmpList.Location = new System.Drawing.Point(2, 16);
|
this.pnlBmpList.Location = new System.Drawing.Point(2, 16);
|
||||||
this.pnlBmpList.Margin = new System.Windows.Forms.Padding(2);
|
this.pnlBmpList.Margin = new System.Windows.Forms.Padding(2);
|
||||||
this.pnlBmpList.Name = "pnlBmpList";
|
this.pnlBmpList.Name = "pnlBmpList";
|
||||||
this.pnlBmpList.Size = new System.Drawing.Size(430, 505);
|
this.pnlBmpList.Size = new System.Drawing.Size(428, 505);
|
||||||
this.pnlBmpList.TabIndex = 0;
|
this.pnlBmpList.TabIndex = 0;
|
||||||
//
|
//
|
||||||
// chkBuzzer
|
// chkBuzzer
|
||||||
@ -1727,7 +1727,7 @@
|
|||||||
this.Margin = new System.Windows.Forms.Padding(2);
|
this.Margin = new System.Windows.Forms.Padding(2);
|
||||||
this.Name = "FrmMain";
|
this.Name = "FrmMain";
|
||||||
this.ShowIcon = false;
|
this.ShowIcon = false;
|
||||||
this.Text = "自动化视觉检测系统 - v1.2.1";
|
this.Text = "自动化视觉检测系统 - v1.2.3";
|
||||||
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
|
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
|
||||||
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FrmMian_FormClosing);
|
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FrmMian_FormClosing);
|
||||||
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.FrmMian_FormClosed);
|
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.FrmMian_FormClosed);
|
||||||
|
@ -152,6 +152,9 @@ namespace ProductionControl
|
|||||||
webService.LogEvent = null;
|
webService.LogEvent = null;
|
||||||
};
|
};
|
||||||
webService.start();
|
webService.start();
|
||||||
|
|
||||||
|
//读取硬盘剩余空间
|
||||||
|
Config.CheckDisk();
|
||||||
}
|
}
|
||||||
private void loadProductCodeList()
|
private void loadProductCodeList()
|
||||||
{
|
{
|
||||||
@ -188,6 +191,49 @@ namespace ProductionControl
|
|||||||
// runStep();
|
// runStep();
|
||||||
//}
|
//}
|
||||||
}
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 删除修复台重复sn图片
|
||||||
|
/// </summary>
|
||||||
|
private void DeleteRepairImage(string sn)
|
||||||
|
{
|
||||||
|
List<string> imagePath = new List<string>
|
||||||
|
{
|
||||||
|
Config.Defect_SavePath,
|
||||||
|
Config.Defect_Small_SavePath,
|
||||||
|
Config.Defect_Compress_SavePath,
|
||||||
|
Config.SizeBmp_Zoom_Image_SavePath,
|
||||||
|
Config.SizeBmp_SavePath,
|
||||||
|
Config.SizeBmp_Compare_SavePath
|
||||||
|
};
|
||||||
|
//删除文件
|
||||||
|
//Task.Factory.StartNew(() =>
|
||||||
|
//{
|
||||||
|
for (int i = 0; i < imagePath.Count; i++)
|
||||||
|
{
|
||||||
|
string dirPath = Util.createSubDir(imagePath[i],
|
||||||
|
new List<string> { DateTime.Now.ToString("yyyyMMdd"), sn });
|
||||||
|
if (!Directory.Exists(dirPath))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
string[] array = Directory.GetFiles(dirPath);
|
||||||
|
foreach (string text in array)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
API.OutputDebugString("清除文件:" + text + "...");
|
||||||
|
File.Delete(text);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
API.OutputDebugString("Ex1:" + ex.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//});
|
||||||
|
}
|
||||||
|
|
||||||
//后台线程运行
|
//后台线程运行
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 中断工序运行
|
/// 中断工序运行
|
||||||
@ -212,6 +258,12 @@ namespace ProductionControl
|
|||||||
AddTextEvent("扫码枪", "扫码枪初始化失败!");
|
AddTextEvent("扫码枪", "扫码枪初始化失败!");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
//2023-12-06 无输入料号防呆
|
||||||
|
if(string.IsNullOrEmpty(this.txtProductCode.Text))
|
||||||
|
{
|
||||||
|
AddTextEvent("料号", "未选择料号!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
//2023-10-20 不使用扫码枪事件处理
|
//2023-10-20 不使用扫码枪事件处理
|
||||||
//devContainer.devCodeScanner.ScanerEvent = (code) =>
|
//devContainer.devCodeScanner.ScanerEvent = (code) =>
|
||||||
string code = this.txtProductCode.Text;
|
string code = this.txtProductCode.Text;
|
||||||
@ -265,6 +317,10 @@ namespace ProductionControl
|
|||||||
devContainer.devCodeScanner.stop();
|
devContainer.devCodeScanner.stop();
|
||||||
devContainer.devCodeScanner = null;
|
devContainer.devCodeScanner = null;
|
||||||
errStep = 5;
|
errStep = 5;
|
||||||
|
//删除重复sn用于修复台的图片
|
||||||
|
AddTextEvent("扫码枪", $"删除{sn}重复用于修复台的图片...");
|
||||||
|
DeleteRepairImage(sn);
|
||||||
|
|
||||||
//判断SN数量是否达到批次上限
|
//判断SN数量是否达到批次上限
|
||||||
//创建表达式
|
//创建表达式
|
||||||
if (!string.IsNullOrWhiteSpace(model.BatchId) && model.TargetCount > 0)
|
if (!string.IsNullOrWhiteSpace(model.BatchId) && model.TargetCount > 0)
|
||||||
@ -788,10 +844,10 @@ namespace ProductionControl
|
|||||||
{
|
{
|
||||||
AddTextEvent($"{stepIndex + 1}-{processName}", $"相机采集照片完成。");
|
AddTextEvent($"{stepIndex + 1}-{processName}", $"相机采集照片完成。");
|
||||||
//----缺陷队列
|
//----缺陷队列
|
||||||
bool cloneUse = false;
|
//bool cloneUse = false;
|
||||||
if (AIEngineLib == AIEngineLibEnum.缺陷库 || AIEngineLib == AIEngineLibEnum.缺陷与测量库)
|
if (AIEngineLib == AIEngineLibEnum.缺陷库 || AIEngineLib == AIEngineLibEnum.缺陷与测量库)
|
||||||
{
|
{
|
||||||
cloneUse = true;
|
//cloneUse = true;
|
||||||
var mat = OpenCvSharp.Extensions.BitmapConverter.ToMat(bmpout);
|
var mat = OpenCvSharp.Extensions.BitmapConverter.ToMat(bmpout);
|
||||||
scannerGBmpQueue.Enqueue(new scannerGBmpLoc(mat,
|
scannerGBmpQueue.Enqueue(new scannerGBmpLoc(mat,
|
||||||
devContainer.devAxis.getActualPos_mm(1),
|
devContainer.devAxis.getActualPos_mm(1),
|
||||||
@ -800,8 +856,13 @@ namespace ProductionControl
|
|||||||
}
|
}
|
||||||
if (AIEngineLib == AIEngineLibEnum.测量库 || AIEngineLib == AIEngineLibEnum.缺陷与测量库)
|
if (AIEngineLib == AIEngineLibEnum.测量库 || AIEngineLib == AIEngineLibEnum.缺陷与测量库)
|
||||||
{
|
{
|
||||||
|
//v1.2.2. 修改传图
|
||||||
|
//scannerCBmpQueue.Enqueue(new scannerCBmpLoc(
|
||||||
|
// cloneUse?(Bitmap)bmpout.Clone(): bmpout,
|
||||||
|
// devContainer.devAxis.getActualPos_mm(1),
|
||||||
|
// devContainer.devAxis.getActualPos_mm(2)));//Dequeue
|
||||||
scannerCBmpQueue.Enqueue(new scannerCBmpLoc(
|
scannerCBmpQueue.Enqueue(new scannerCBmpLoc(
|
||||||
cloneUse?(Bitmap)bmpout.Clone(): bmpout,
|
(Bitmap)bmpout.Clone(),
|
||||||
devContainer.devAxis.getActualPos_mm(1),
|
devContainer.devAxis.getActualPos_mm(1),
|
||||||
devContainer.devAxis.getActualPos_mm(2)));//Dequeue
|
devContainer.devAxis.getActualPos_mm(2)));//Dequeue
|
||||||
AddTextEvent($"{stepIndex + 1}-{processName}", $"添加尺寸图像队列,X:{devContainer.devAxis.getActualPos_mm(1)},y:{devContainer.devAxis.getActualPos_mm(2)},数量: {scannerCBmpQueue.Count}");
|
AddTextEvent($"{stepIndex + 1}-{processName}", $"添加尺寸图像队列,X:{devContainer.devAxis.getActualPos_mm(1)},y:{devContainer.devAxis.getActualPos_mm(2)},数量: {scannerCBmpQueue.Count}");
|
||||||
@ -983,7 +1044,7 @@ namespace ProductionControl
|
|||||||
processName = processName,
|
processName = processName,
|
||||||
sizeTag = sizeTag,
|
sizeTag = sizeTag,
|
||||||
engineName = processParam.Value<string>("EngineName"),
|
engineName = processParam.Value<string>("EngineName"),
|
||||||
bmp = bmpCBmpQueue.BMP,//bmp/file_path二选一,优先bmp
|
bmp = bmpCBmpQueue.BMP == null ? bmpCBmpQueue.BMP : (Bitmap)bmpCBmpQueue.BMP.Clone(),//bmp/file_path二选一,优先bmp
|
||||||
file_path = bmpCBmpQueue.Path,
|
file_path = bmpCBmpQueue.Path,
|
||||||
drawingPagePath = gbxBmpPath,
|
drawingPagePath = gbxBmpPath,
|
||||||
posX= bmpCBmpQueue.PosX,
|
posX= bmpCBmpQueue.PosX,
|
||||||
@ -1056,6 +1117,10 @@ namespace ProductionControl
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
//2023-12-29 加入比对失败当作NG处理
|
||||||
|
order.CompareResult = 2;
|
||||||
|
updateCompareResult(false);//更新比对看板
|
||||||
|
|
||||||
//warning(WarningEnum.Low);//暂停
|
//warning(WarningEnum.Low);//暂停
|
||||||
setDgvContentCol(liStatocStepIndex, $"index:{res.index},图像比对失败!");
|
setDgvContentCol(liStatocStepIndex, $"index:{res.index},图像比对失败!");
|
||||||
AddTextEvent($"{res.stepIndex + 1}-{res.processName}", $"图像比对失败,index:{res.index}-{compBmpIndex}.", WarningEnum.Low);
|
AddTextEvent($"{res.stepIndex + 1}-{res.processName}", $"图像比对失败,index:{res.index}-{compBmpIndex}.", WarningEnum.Low);
|
||||||
@ -2283,10 +2348,17 @@ namespace ProductionControl
|
|||||||
e.DrawBackground();
|
e.DrawBackground();
|
||||||
if (e.Index < 0) return;
|
if (e.Index < 0) return;
|
||||||
|
|
||||||
string str = lstLog.Items[e.Index].ToString();
|
try
|
||||||
e.Graphics.DrawString(str.Substring(1), e.Font,
|
{
|
||||||
new SolidBrush(str[0] == 'R' ? Color.Red : (str[0] == 'Y' ? Color.Orange : Color.Black)),
|
string str = lstLog.Items[e.Index].ToString();
|
||||||
e.Bounds);
|
e.Graphics.DrawString(str.Substring(1), e.Font,
|
||||||
|
new SolidBrush(str[0] == 'R' ? Color.Red : (str[0] == 'Y' ? Color.Orange : Color.Black)),
|
||||||
|
e.Bounds);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
private void writeLog(DateTime now, WarningEnum level, string text)
|
private void writeLog(DateTime now, WarningEnum level, string text)
|
||||||
{
|
{
|
||||||
@ -2708,7 +2780,14 @@ namespace ProductionControl
|
|||||||
|
|
||||||
//
|
//
|
||||||
if (devContainer.devAxis.isError())
|
if (devContainer.devAxis.isError())
|
||||||
throw new Exception("轴回原点失败!");
|
throw new Exception("轴回原点失败!");
|
||||||
|
|
||||||
|
if (Config.OpenAxisXCalibration)
|
||||||
|
{
|
||||||
|
//2023-11-29 加入X1X2回原之后启动补偿
|
||||||
|
devContainer.io_output(CMDName.X1轴复位输出, false, true, 300);
|
||||||
|
devContainer.io_output(CMDName.X2轴复位输出, false, true, 300);
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
//goto InitPT
|
//goto InitPT
|
||||||
|
@ -643,20 +643,20 @@
|
|||||||
<value>
|
<value>
|
||||||
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
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbtnDefectImage.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="tsbtnDefectImage.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
@ -665,11 +665,11 @@
|
|||||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAG9SURBVFhHYxgS4F+GuvqvFGVjKJf24KW9KM+nEJnk3+kq
|
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAG9SURBVFhHYxgS4F+GuvqvFGVjKJf24KW9KM+nEJnk3+kq
|
||||||
x/7nqf//l632H+iA/1+i5f6/DpC89MJVpOiRhQwnVDl1wbH6wmUPAjT/fwyV+Q90wH90B7wLkPr/wlX0
|
x/7nqf//l632H+iA/1+i5f6/DpC89MJVpOiRhQwnVDl1wbH6wmUPAjT/fwyV+Q90wH90B7wLkPr/wlX0
|
||||||
/0MbgRv3THjVodqoBx6Y8f1/7iRC0AFPbAT/3zfl+nzflCcQqhUveOkm2gtl4gekOOChOf9/kPpHFgIz
|
/0MbgRv3THjVodqoBx6Y8f1/7iRC0AFPbAT/3zfl+nzflCcQqhUveOkm2gtl4gekOOChOf9/kPpHFgIz
|
||||||
gdEmATUCBfzLUlb5Fiu/EeiA/1Ah/IAsB1gK/L/vwPX5pbvo3vfBUu1f4xXSfqcpN/7NUVv3Jlftz7dY
|
gdEmATUCBfzLUlb5Fiu/EeiA/1Ah/IAsB1gK/L/vwPX5pbvo3vfBUu1f4xXSfqcpN/7NUVv3Klftz7dY
|
||||||
hf80d8AzB+H/rz3F/38Ilv7/LU4BrPdfrhoYjzpg1AGjDhh1wNB3wM9s1ee/UhSv0s0BT92k/l8uDfkP
|
hf80d8AzB+H/rz3F/38Ilv7/LU4BrPdfrhoYjzpg1AGjDhh1wNB3wM9s1ee/UhSv0s0BT92k/l8uDfkP
|
||||||
LM89/tdrsUGlGP6HarG9CZAxA7YHJgMd8JMmDrgU7/Z/44o1/+es34NXwxMrfoOH5tz3qO6A9QdO/1+x
|
LM89/tdrsUGlGP6HarG9CZAxA7YHJgMd8JMmDrgU7/Z/44o1/+es34NXwxMrfoOH5tz3qO6A9QdO/1+x
|
||||||
8yhBB4DAXWNB/vumvDMJOeBLrDyopoyFasMPSHEADDyyEPR4Ziv8BN0BH5LVvv3NUZ32PUZOEaqUMCDH
|
8yhBB4DAXWNB/vumvDMJOeBLrDyopoyFasMPSHEADDyyEPR4Ziv8BN0BH5LVvv3NUZ32PUZOEaqUMCDH
|
||||||
ATDwzkdS7l2glB/QwuRfmcrG/wrJaDdS4gCqgFEHjDpg3YFT9WAHrNtTDxUaBcMZMDAAAIoH3zw7A9x2
|
ATDwzkdS7l2glB/QwuRfmcrG/wrJaDdS4gCqgFEHjDpg3YFT9WAHrNtTDxUaBcMZMDAAAHCV3zql/rK2
|
||||||
AAAAAElFTkSuQmCC
|
AAAAAElFTkSuQmCC
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
@ -677,61 +677,61 @@
|
|||||||
<value>
|
<value>
|
||||||
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
|
||||||
TkSuQmCC
|
TkSuQmCC
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbtnSizeImage.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="tsbtnSizeImage.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHLSURBVFhH7dY9SAJhGMBxpyAIWpuCIGiN7NOlwQaLDB1s
|
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHLSURBVFhH7dY9SAJhGMBxpyAIWpuCIGiN7EuXBhssMmyw
|
||||||
CKxBCw00bJCowWppagoCoTlqyIiCyLSE8uQs64qzD+uyzMPQPE/MQLCeNN6GCk4sDYz7T3fvvc/Lbzi4
|
IbAGLTSwqEEiB6ulqSkIguaoISUKIjszKE/Osq44yw8u0zzsSz2xAuHqyeJtqODE0qC4/3T33vu8/IaD
|
||||||
E5REwZF43Z2WFaLb4ke2kxUXfbSKUocxejgBIV0S7jVxuOp/gCOZ73RfTIxirVg52l7Y1k34ItZLQgYA
|
O9GfKDqcqgnrWTG6LX5UC1Xm62E0tPYGZwbTEDM8wKUuBcHeKzhUBk72ZOQo3oyXou2Fbc1MLOLdFGQB
|
||||||
fnUUvgIIGQVO8QlYW1wXm437dWiscFmbMXB3nuUE2Ntw2GjCErZWXI5GOTuU+mbRJXf5ALJ7d0RuwDoI
|
ENLG4TOAVNLglB2Drcnl26jfq0FjhcvWiIO77TQnwC4hYL0BT2PNRBca5e1AEZhBl/zlA3jduy11A95K
|
||||||
M6nwV6EjPhUwsLV+VXTNI/UBWuLuZ4BTwLuoxKWStge0sZnoeHooPvkyFTamLNf6SNo/yEDRAYScgktl
|
zlOqUAU64kOREbY6pImvehQBQEv8fQ9wAkQ7nfarGXtEn5yOj3MDqYmnyRtjxhIYuuZC/QkoOoDsosGv
|
||||||
CAJaFpiJNMQnASLGFND6J+ABPIAH8IDSBwR1ydC9Jub9MwAu9cLe2DlkPiISUgFl6JGAVJBlxzKq2Skm
|
jkFEz0LCxEFqAuDWmAFm6B4EgAAQAALg7wOihofYpS7p/TUAofDC7tgZZD8ickoFJeiRiFJRJUdKutEp
|
||||||
5uxtjlRRAJsDLlhZdsHCqo1zYFeE11sbnDcFB6w6DmBpy5kTkG1beFhpE+HmnIABJuHpvlKiMe7yAXyE
|
I2ftEkemKICNPhesLLtgwYrxDjikRK2tznlecIB1Zx+WNp05Aa9tiQ/KMSkxnxPQl0h7OoJqNMZfPoD3
|
||||||
iQlJ5t0IfgewzxnA/K06VoO25u4ngI8oJV19p2F6HifSKnYahAHDa/7/jb8BFCQewAMsDrfpHWCxmdAS
|
cBkpz74b0a8A9jELmLvQJqvQ1tx9B/AerWYqw7pE552J07BTII6MPOf/3/gTQEESAALAsuM2vwEsmBkt
|
||||||
339OIHgD1J71QoDsMyIAAAAASUVORK5CYII=
|
Cf3nRKIXmuv1PdX+ZZIAAAAASUVORK5CYII=
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbtnLight.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="tsbtnLight.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
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
|
||||||
h8hfV8RzuqW13GsAAAAASUVORK5CYII=
|
h8hfUyBzuFLSYqkAAAAASUVORK5CYII=
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbtnLog.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="tsbtnLog.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
160
halftoneproject-master/Code/FrmProductInfo.Designer.cs
generated
160
halftoneproject-master/Code/FrmProductInfo.Designer.cs
generated
@ -30,10 +30,10 @@
|
|||||||
{
|
{
|
||||||
this.components = new System.ComponentModel.Container();
|
this.components = new System.ComponentModel.Container();
|
||||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmProductInfo));
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmProductInfo));
|
||||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
|
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
|
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
|
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
|
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||||
this.groupBox10 = new System.Windows.Forms.GroupBox();
|
this.groupBox10 = new System.Windows.Forms.GroupBox();
|
||||||
this.panel10 = new System.Windows.Forms.Panel();
|
this.panel10 = new System.Windows.Forms.Panel();
|
||||||
this.numTensionDownFloatValue = new System.Windows.Forms.NumericUpDown();
|
this.numTensionDownFloatValue = new System.Windows.Forms.NumericUpDown();
|
||||||
@ -73,6 +73,7 @@
|
|||||||
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
this.tsbtnAddFile = new System.Windows.Forms.ToolStripButton();
|
this.tsbtnAddFile = new System.Windows.Forms.ToolStripButton();
|
||||||
this.tsbtnNewBatchId = new System.Windows.Forms.ToolStripButton();
|
this.tsbtnNewBatchId = new System.Windows.Forms.ToolStripButton();
|
||||||
|
this.tbtnGetPos = new System.Windows.Forms.ToolStripButton();
|
||||||
this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
|
this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
this.tsbtnClose = new System.Windows.Forms.ToolStripButton();
|
this.tsbtnClose = new System.Windows.Forms.ToolStripButton();
|
||||||
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
|
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
|
||||||
@ -102,6 +103,11 @@
|
|||||||
this.label3 = new System.Windows.Forms.Label();
|
this.label3 = new System.Windows.Forms.Label();
|
||||||
this.txtSpec = new System.Windows.Forms.TextBox();
|
this.txtSpec = new System.Windows.Forms.TextBox();
|
||||||
this.tabPage3 = new System.Windows.Forms.TabPage();
|
this.tabPage3 = new System.Windows.Forms.TabPage();
|
||||||
|
this.groupBox7 = new System.Windows.Forms.GroupBox();
|
||||||
|
this.panel6 = new System.Windows.Forms.Panel();
|
||||||
|
this.label24 = new System.Windows.Forms.Label();
|
||||||
|
this.cbMainGrid = new System.Windows.Forms.CheckBox();
|
||||||
|
this.cbMarkDisturb = new System.Windows.Forms.CheckBox();
|
||||||
this.groupBox6 = new System.Windows.Forms.GroupBox();
|
this.groupBox6 = new System.Windows.Forms.GroupBox();
|
||||||
this.panel5 = new System.Windows.Forms.Panel();
|
this.panel5 = new System.Windows.Forms.Panel();
|
||||||
this.label21 = new System.Windows.Forms.Label();
|
this.label21 = new System.Windows.Forms.Label();
|
||||||
@ -115,7 +121,6 @@
|
|||||||
this.tabPage2 = new System.Windows.Forms.TabPage();
|
this.tabPage2 = new System.Windows.Forms.TabPage();
|
||||||
this.tabPage4 = new System.Windows.Forms.TabPage();
|
this.tabPage4 = new System.Windows.Forms.TabPage();
|
||||||
this.flpQualifiedPannel = new System.Windows.Forms.FlowLayoutPanel();
|
this.flpQualifiedPannel = new System.Windows.Forms.FlowLayoutPanel();
|
||||||
this.tbtnGetPos = new System.Windows.Forms.ToolStripButton();
|
|
||||||
this.groupBox10.SuspendLayout();
|
this.groupBox10.SuspendLayout();
|
||||||
this.panel10.SuspendLayout();
|
this.panel10.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.numTensionDownFloatValue)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.numTensionDownFloatValue)).BeginInit();
|
||||||
@ -144,6 +149,8 @@
|
|||||||
this.groupBox4.SuspendLayout();
|
this.groupBox4.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.dgvBatchList)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.dgvBatchList)).BeginInit();
|
||||||
this.tabPage3.SuspendLayout();
|
this.tabPage3.SuspendLayout();
|
||||||
|
this.groupBox7.SuspendLayout();
|
||||||
|
this.panel6.SuspendLayout();
|
||||||
this.groupBox6.SuspendLayout();
|
this.groupBox6.SuspendLayout();
|
||||||
this.panel5.SuspendLayout();
|
this.panel5.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.numMarkSize)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.numMarkSize)).BeginInit();
|
||||||
@ -663,6 +670,16 @@
|
|||||||
this.tsbtnNewBatchId.Visible = false;
|
this.tsbtnNewBatchId.Visible = false;
|
||||||
this.tsbtnNewBatchId.Click += new System.EventHandler(this.tsbtnNewBatchId_Click);
|
this.tsbtnNewBatchId.Click += new System.EventHandler(this.tsbtnNewBatchId_Click);
|
||||||
//
|
//
|
||||||
|
// tbtnGetPos
|
||||||
|
//
|
||||||
|
this.tbtnGetPos.Image = ((System.Drawing.Image)(resources.GetObject("tbtnGetPos.Image")));
|
||||||
|
this.tbtnGetPos.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||||
|
this.tbtnGetPos.Name = "tbtnGetPos";
|
||||||
|
this.tbtnGetPos.Size = new System.Drawing.Size(60, 53);
|
||||||
|
this.tbtnGetPos.Text = "点位抓取";
|
||||||
|
this.tbtnGetPos.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
|
||||||
|
this.tbtnGetPos.Click += new System.EventHandler(this.tbtnGetPos_Click);
|
||||||
|
//
|
||||||
// toolStripSeparator4
|
// toolStripSeparator4
|
||||||
//
|
//
|
||||||
this.toolStripSeparator4.Name = "toolStripSeparator4";
|
this.toolStripSeparator4.Name = "toolStripSeparator4";
|
||||||
@ -828,46 +845,46 @@
|
|||||||
//
|
//
|
||||||
this.dgvBatchList.AllowUserToAddRows = false;
|
this.dgvBatchList.AllowUserToAddRows = false;
|
||||||
this.dgvBatchList.AllowUserToDeleteRows = false;
|
this.dgvBatchList.AllowUserToDeleteRows = false;
|
||||||
dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||||
dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Control;
|
dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control;
|
||||||
dataGridViewCellStyle5.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
dataGridViewCellStyle1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.WindowText;
|
dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||||
dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||||
dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||||
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||||
this.dgvBatchList.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle5;
|
this.dgvBatchList.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
|
||||||
this.dgvBatchList.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
this.dgvBatchList.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||||
this.dgvBatchList.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
this.dgvBatchList.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||||
this.colBatchId,
|
this.colBatchId,
|
||||||
this.colTargetCount,
|
this.colTargetCount,
|
||||||
this.colCompleteCount,
|
this.colCompleteCount,
|
||||||
this.colCreateTime});
|
this.colCreateTime});
|
||||||
dataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||||
dataGridViewCellStyle6.BackColor = System.Drawing.SystemColors.Window;
|
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Window;
|
||||||
dataGridViewCellStyle6.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
dataGridViewCellStyle2.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
dataGridViewCellStyle6.ForeColor = System.Drawing.SystemColors.ControlText;
|
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||||
dataGridViewCellStyle6.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||||
dataGridViewCellStyle6.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||||
dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||||
this.dgvBatchList.DefaultCellStyle = dataGridViewCellStyle6;
|
this.dgvBatchList.DefaultCellStyle = dataGridViewCellStyle2;
|
||||||
this.dgvBatchList.Dock = System.Windows.Forms.DockStyle.Fill;
|
this.dgvBatchList.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
this.dgvBatchList.Location = new System.Drawing.Point(2, 16);
|
this.dgvBatchList.Location = new System.Drawing.Point(2, 16);
|
||||||
this.dgvBatchList.Margin = new System.Windows.Forms.Padding(2);
|
this.dgvBatchList.Margin = new System.Windows.Forms.Padding(2);
|
||||||
this.dgvBatchList.MultiSelect = false;
|
this.dgvBatchList.MultiSelect = false;
|
||||||
this.dgvBatchList.Name = "dgvBatchList";
|
this.dgvBatchList.Name = "dgvBatchList";
|
||||||
this.dgvBatchList.ReadOnly = true;
|
this.dgvBatchList.ReadOnly = true;
|
||||||
dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||||
dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Control;
|
dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Control;
|
||||||
dataGridViewCellStyle7.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
dataGridViewCellStyle3.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.WindowText;
|
dataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||||
dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
dataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||||
dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
dataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||||
dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||||
this.dgvBatchList.RowHeadersDefaultCellStyle = dataGridViewCellStyle7;
|
this.dgvBatchList.RowHeadersDefaultCellStyle = dataGridViewCellStyle3;
|
||||||
this.dgvBatchList.RowHeadersVisible = false;
|
this.dgvBatchList.RowHeadersVisible = false;
|
||||||
this.dgvBatchList.RowHeadersWidth = 62;
|
this.dgvBatchList.RowHeadersWidth = 62;
|
||||||
dataGridViewCellStyle8.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
dataGridViewCellStyle4.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
this.dgvBatchList.RowsDefaultCellStyle = dataGridViewCellStyle8;
|
this.dgvBatchList.RowsDefaultCellStyle = dataGridViewCellStyle4;
|
||||||
this.dgvBatchList.RowTemplate.Height = 30;
|
this.dgvBatchList.RowTemplate.Height = 30;
|
||||||
this.dgvBatchList.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
|
this.dgvBatchList.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
|
||||||
this.dgvBatchList.Size = new System.Drawing.Size(405, 203);
|
this.dgvBatchList.Size = new System.Drawing.Size(405, 203);
|
||||||
@ -993,6 +1010,7 @@
|
|||||||
//
|
//
|
||||||
// tabPage3
|
// tabPage3
|
||||||
//
|
//
|
||||||
|
this.tabPage3.Controls.Add(this.groupBox7);
|
||||||
this.tabPage3.Controls.Add(this.groupBox6);
|
this.tabPage3.Controls.Add(this.groupBox6);
|
||||||
this.tabPage3.Controls.Add(this.groupBox5);
|
this.tabPage3.Controls.Add(this.groupBox5);
|
||||||
this.tabPage3.Location = new System.Drawing.Point(4, 22);
|
this.tabPage3.Location = new System.Drawing.Point(4, 22);
|
||||||
@ -1004,6 +1022,62 @@
|
|||||||
this.tabPage3.Text = "图纸资料";
|
this.tabPage3.Text = "图纸资料";
|
||||||
this.tabPage3.UseVisualStyleBackColor = true;
|
this.tabPage3.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
|
// groupBox7
|
||||||
|
//
|
||||||
|
this.groupBox7.BackColor = System.Drawing.SystemColors.ActiveCaption;
|
||||||
|
this.groupBox7.Controls.Add(this.panel6);
|
||||||
|
this.groupBox7.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||||
|
this.groupBox7.Location = new System.Drawing.Point(2, 218);
|
||||||
|
this.groupBox7.Margin = new System.Windows.Forms.Padding(2);
|
||||||
|
this.groupBox7.Name = "groupBox7";
|
||||||
|
this.groupBox7.Padding = new System.Windows.Forms.Padding(2);
|
||||||
|
this.groupBox7.Size = new System.Drawing.Size(409, 102);
|
||||||
|
this.groupBox7.TabIndex = 34;
|
||||||
|
this.groupBox7.TabStop = false;
|
||||||
|
this.groupBox7.Text = "参数设置";
|
||||||
|
//
|
||||||
|
// panel6
|
||||||
|
//
|
||||||
|
this.panel6.BackColor = System.Drawing.Color.White;
|
||||||
|
this.panel6.Controls.Add(this.label24);
|
||||||
|
this.panel6.Controls.Add(this.cbMainGrid);
|
||||||
|
this.panel6.Controls.Add(this.cbMarkDisturb);
|
||||||
|
this.panel6.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.panel6.Location = new System.Drawing.Point(2, 16);
|
||||||
|
this.panel6.Margin = new System.Windows.Forms.Padding(2);
|
||||||
|
this.panel6.Name = "panel6";
|
||||||
|
this.panel6.Size = new System.Drawing.Size(405, 84);
|
||||||
|
this.panel6.TabIndex = 0;
|
||||||
|
//
|
||||||
|
// label24
|
||||||
|
//
|
||||||
|
this.label24.AutoSize = true;
|
||||||
|
this.label24.Location = new System.Drawing.Point(30, 18);
|
||||||
|
this.label24.Name = "label24";
|
||||||
|
this.label24.Size = new System.Drawing.Size(161, 12);
|
||||||
|
this.label24.TabIndex = 5;
|
||||||
|
this.label24.Text = "在非[默认Mark]的情况下生效";
|
||||||
|
//
|
||||||
|
// cbMainGrid
|
||||||
|
//
|
||||||
|
this.cbMainGrid.AutoSize = true;
|
||||||
|
this.cbMainGrid.Location = new System.Drawing.Point(199, 47);
|
||||||
|
this.cbMainGrid.Name = "cbMainGrid";
|
||||||
|
this.cbMainGrid.Size = new System.Drawing.Size(72, 16);
|
||||||
|
this.cbMainGrid.TabIndex = 1;
|
||||||
|
this.cbMainGrid.Text = "是否主栅";
|
||||||
|
this.cbMainGrid.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// cbMarkDisturb
|
||||||
|
//
|
||||||
|
this.cbMarkDisturb.AutoSize = true;
|
||||||
|
this.cbMarkDisturb.Location = new System.Drawing.Point(32, 47);
|
||||||
|
this.cbMarkDisturb.Name = "cbMarkDisturb";
|
||||||
|
this.cbMarkDisturb.Size = new System.Drawing.Size(120, 16);
|
||||||
|
this.cbMarkDisturb.TabIndex = 0;
|
||||||
|
this.cbMarkDisturb.Text = "是否存在Mark干扰";
|
||||||
|
this.cbMarkDisturb.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
// groupBox6
|
// groupBox6
|
||||||
//
|
//
|
||||||
this.groupBox6.BackColor = System.Drawing.SystemColors.ActiveCaption;
|
this.groupBox6.BackColor = System.Drawing.SystemColors.ActiveCaption;
|
||||||
@ -1071,9 +1145,9 @@
|
|||||||
"空心圆",
|
"空心圆",
|
||||||
"实心圆带栅线",
|
"实心圆带栅线",
|
||||||
"空心圆带栅线",
|
"空心圆带栅线",
|
||||||
"圆环",
|
"矩形",
|
||||||
"半圆环",
|
"候补1",
|
||||||
"十字线"});
|
"候补2"});
|
||||||
this.cbMarkType.Location = new System.Drawing.Point(70, 65);
|
this.cbMarkType.Location = new System.Drawing.Point(70, 65);
|
||||||
this.cbMarkType.Margin = new System.Windows.Forms.Padding(2);
|
this.cbMarkType.Margin = new System.Windows.Forms.Padding(2);
|
||||||
this.cbMarkType.Name = "cbMarkType";
|
this.cbMarkType.Name = "cbMarkType";
|
||||||
@ -1161,16 +1235,6 @@
|
|||||||
this.flpQualifiedPannel.Size = new System.Drawing.Size(416, 326);
|
this.flpQualifiedPannel.Size = new System.Drawing.Size(416, 326);
|
||||||
this.flpQualifiedPannel.TabIndex = 0;
|
this.flpQualifiedPannel.TabIndex = 0;
|
||||||
//
|
//
|
||||||
// tbtnGetPos
|
|
||||||
//
|
|
||||||
this.tbtnGetPos.Image = ((System.Drawing.Image)(resources.GetObject("tbtnGetPos.Image")));
|
|
||||||
this.tbtnGetPos.ImageTransparentColor = System.Drawing.Color.Magenta;
|
|
||||||
this.tbtnGetPos.Name = "tbtnGetPos";
|
|
||||||
this.tbtnGetPos.Size = new System.Drawing.Size(60, 53);
|
|
||||||
this.tbtnGetPos.Text = "点位抓取";
|
|
||||||
this.tbtnGetPos.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
|
|
||||||
this.tbtnGetPos.Click += new System.EventHandler(this.tbtnGetPos_Click);
|
|
||||||
//
|
|
||||||
// FrmProductInfo
|
// FrmProductInfo
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||||
@ -1223,6 +1287,9 @@
|
|||||||
this.groupBox4.ResumeLayout(false);
|
this.groupBox4.ResumeLayout(false);
|
||||||
((System.ComponentModel.ISupportInitialize)(this.dgvBatchList)).EndInit();
|
((System.ComponentModel.ISupportInitialize)(this.dgvBatchList)).EndInit();
|
||||||
this.tabPage3.ResumeLayout(false);
|
this.tabPage3.ResumeLayout(false);
|
||||||
|
this.groupBox7.ResumeLayout(false);
|
||||||
|
this.panel6.ResumeLayout(false);
|
||||||
|
this.panel6.PerformLayout();
|
||||||
this.groupBox6.ResumeLayout(false);
|
this.groupBox6.ResumeLayout(false);
|
||||||
this.panel5.ResumeLayout(false);
|
this.panel5.ResumeLayout(false);
|
||||||
this.panel5.PerformLayout();
|
this.panel5.PerformLayout();
|
||||||
@ -1320,5 +1387,10 @@
|
|||||||
private System.Windows.Forms.ComboBox cmbDefectModelFile;
|
private System.Windows.Forms.ComboBox cmbDefectModelFile;
|
||||||
private System.Windows.Forms.Label label21;
|
private System.Windows.Forms.Label label21;
|
||||||
private System.Windows.Forms.ToolStripButton tbtnGetPos;
|
private System.Windows.Forms.ToolStripButton tbtnGetPos;
|
||||||
|
private System.Windows.Forms.GroupBox groupBox7;
|
||||||
|
private System.Windows.Forms.Panel panel6;
|
||||||
|
private System.Windows.Forms.CheckBox cbMainGrid;
|
||||||
|
private System.Windows.Forms.CheckBox cbMarkDisturb;
|
||||||
|
private System.Windows.Forms.Label label24;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,82 +1,85 @@
|
|||||||
using OpenCvSharp;
|
using OpenCvSharp;
|
||||||
using ProductionControl.UI;
|
using ProductionControl.UI;
|
||||||
using ProductionControl.UIExtend;
|
using ProductionControl.UIExtend;
|
||||||
using ProductionControl.Utils;
|
using ProductionControl.Utils;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Data;
|
using System.Data;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Drawing.Imaging;
|
using System.Drawing.Imaging;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Web.Configuration;
|
using System.Web.Configuration;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace ProductionControl
|
namespace ProductionControl
|
||||||
{
|
{
|
||||||
public partial class FrmProductInfo : Form
|
public partial class FrmProductInfo : Form
|
||||||
{
|
{
|
||||||
Service.ClassesService svcClasses = new Service.ClassesService();
|
Service.ClassesService svcClasses = new Service.ClassesService();
|
||||||
Service.ProductService service = new Service.ProductService();
|
Service.ProductService service = new Service.ProductService();
|
||||||
Models.Product model = new Models.Product();
|
Models.Product model = new Models.Product();
|
||||||
|
|
||||||
string MapPath = "";
|
string MapPath = "";
|
||||||
public FrmProductInfo(Models.Product m=null)
|
public FrmProductInfo(Models.Product m=null)
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
this.dgvBatchList.AutoGenerateColumns = false;
|
this.dgvBatchList.AutoGenerateColumns = false;
|
||||||
checkCustomerVer();
|
checkCustomerVer();
|
||||||
//this.cbMarkType.SelectedIndex = -1;
|
//this.cbMarkType.SelectedIndex = -1;
|
||||||
if (m!=null)
|
if (m!=null)
|
||||||
{
|
{
|
||||||
model = m;
|
model = m;
|
||||||
this.Text += $" (ID:{m.Id})";
|
this.Text += $" (ID:{m.Id})";
|
||||||
this.txtCode.Text = m.Code;
|
this.txtCode.Text = m.Code;
|
||||||
this.txtName.Text = m.Name;
|
this.txtName.Text = m.Name;
|
||||||
this.txtSpec.Text = m.Spec;
|
this.txtSpec.Text = m.Spec;
|
||||||
|
|
||||||
this.cmbHoleCount.Text = m.HoleCount.ToString();
|
this.cmbHoleCount.Text = m.HoleCount.ToString();
|
||||||
|
|
||||||
this.txtBatchId.Text = m.BatchId;
|
this.txtBatchId.Text = m.BatchId;
|
||||||
this.numTargetCount.Value = m.TargetCount;
|
this.numTargetCount.Value = m.TargetCount;
|
||||||
this.toolTip1.SetToolTip(this.numTargetCount,"已完成:"+m.CompleteCount);
|
this.toolTip1.SetToolTip(this.numTargetCount,"已完成:"+m.CompleteCount);
|
||||||
|
|
||||||
this.numTensionBaseValue.Value = (decimal)m.TensionBaseValue;
|
this.numTensionBaseValue.Value = (decimal)m.TensionBaseValue;
|
||||||
this.numTensionUpFloatValue.Value = (decimal)m.TensionUpFloatValue;
|
this.numTensionUpFloatValue.Value = (decimal)m.TensionUpFloatValue;
|
||||||
this.numTensionDownFloatValue.Value = (decimal)m.TensionDownFloatValue;
|
this.numTensionDownFloatValue.Value = (decimal)m.TensionDownFloatValue;
|
||||||
this.numHeightBaseValue.Value = (decimal)m.HeightBaseValue;
|
this.numHeightBaseValue.Value = (decimal)m.HeightBaseValue;
|
||||||
this.numHeightUpFloatValue.Value = (decimal)m.HeightUpFloatValue;
|
this.numHeightUpFloatValue.Value = (decimal)m.HeightUpFloatValue;
|
||||||
this.numHeightDownFloatValue.Value = (decimal)m.HeightDownFloatValue;
|
this.numHeightDownFloatValue.Value = (decimal)m.HeightDownFloatValue;
|
||||||
this.txtHeightBaseDec.Text = m.HeightBaseDec;
|
this.txtHeightBaseDec.Text = m.HeightBaseDec;
|
||||||
this.numLineWidthBaseValue.Value = (decimal)m.LineWidthBaseValue;
|
this.numLineWidthBaseValue.Value = (decimal)m.LineWidthBaseValue;
|
||||||
this.numLineWidthUpFloatValue.Value = (decimal)m.LineWidthUpFloatValue;
|
this.numLineWidthUpFloatValue.Value = (decimal)m.LineWidthUpFloatValue;
|
||||||
this.numLineWidthDownFloatValue.Value = (decimal)m.LineWidthDownFloatValue;
|
this.numLineWidthDownFloatValue.Value = (decimal)m.LineWidthDownFloatValue;
|
||||||
this.numPTBaseValue.Value = (decimal)m.PTBaseValue;
|
this.numPTBaseValue.Value = (decimal)m.PTBaseValue;
|
||||||
this.numPTUpFloatValue.Value = (decimal)m.PTUpFloatValue;
|
this.numPTUpFloatValue.Value = (decimal)m.PTUpFloatValue;
|
||||||
this.numPTDownFloatValue.Value = (decimal)m.PTDownFloatValue;
|
this.numPTDownFloatValue.Value = (decimal)m.PTDownFloatValue;
|
||||||
//if (m.Type > 0)
|
//if (m.Type > 0)
|
||||||
//{
|
//{
|
||||||
// this.txtCode.Enabled = false;
|
// this.txtCode.Enabled = false;
|
||||||
// this.txtName.Width = this.txtCode.Width;
|
// this.txtName.Width = this.txtCode.Width;
|
||||||
// this.txtSpec.Enabled = false;
|
// this.txtSpec.Enabled = false;
|
||||||
//}
|
//}
|
||||||
|
|
||||||
this.tsbtnAddFile.Enabled = true;
|
this.tsbtnAddFile.Enabled = true;
|
||||||
this.tsbtnNewBatchId.Enabled = true;
|
this.tsbtnNewBatchId.Enabled = true;
|
||||||
this.dgvBatchList.DataSource = new BindingSource(m.BatchHistoryList, null);
|
this.dgvBatchList.DataSource = new BindingSource(m.BatchHistoryList, null);
|
||||||
//2023-11-2 mark
|
//2023-11-2 mark
|
||||||
this.cbMarkType.SelectedIndex = m.MarkType;
|
this.cbMarkType.SelectedIndex = m.MarkType;
|
||||||
this.numMarkSize.Value = (decimal)m.MarkSize;
|
this.numMarkSize.Value = (decimal)m.MarkSize;
|
||||||
|
//2023-12-18 主栅
|
||||||
Models.Attachment attachmentFile = model.AttachmentList.FirstOrDefault(x => x.Type == 0);
|
this.cbMarkDisturb.Checked = (m.MarkDisturb == 1);
|
||||||
if (attachmentFile!=null)
|
this.cbMainGrid.Checked = (m.MainGrid == 1);
|
||||||
{
|
|
||||||
this.btnOpenFile.Text = attachmentFile.Name;
|
Models.Attachment attachmentFile = model.AttachmentList.FirstOrDefault(x => x.Type == 0);
|
||||||
|
if (attachmentFile!=null)
|
||||||
|
{
|
||||||
|
this.btnOpenFile.Text = attachmentFile.Name;
|
||||||
this.btnOpenFile.Visible = true;
|
this.btnOpenFile.Visible = true;
|
||||||
//为兼容老版本,发现图纸图片地址为空,检索图片地址
|
//为兼容老版本,发现图纸图片地址为空,检索图片地址
|
||||||
if (string.IsNullOrEmpty(model.MapPath))
|
if (string.IsNullOrEmpty(model.MapPath))
|
||||||
@ -84,351 +87,362 @@ namespace ProductionControl
|
|||||||
string targFilePath = Application.StartupPath + $"\\Attachment\\product\\{model.Id}\\";
|
string targFilePath = Application.StartupPath + $"\\Attachment\\product\\{model.Id}\\";
|
||||||
targFilePath += attachmentFile.Name;
|
targFilePath += attachmentFile.Name;
|
||||||
model.MapPath = targFilePath.Substring(0, targFilePath.Length - 4) + ".bmp";
|
model.MapPath = targFilePath.Substring(0, targFilePath.Length - 4) + ".bmp";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
initDataView();
|
initDataView();
|
||||||
}
|
}
|
||||||
private void FrmProductInfo_Load(object sender, EventArgs e)
|
private void FrmProductInfo_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
//this.cbMarkType.SelectedIndex = -1;
|
//this.cbMarkType.SelectedIndex = -1;
|
||||||
}
|
}
|
||||||
private void checkCustomerVer()
|
private void checkCustomerVer()
|
||||||
{
|
{
|
||||||
if (Config.CustomerVer != "B")
|
if (Config.CustomerVer != "B")
|
||||||
{
|
{
|
||||||
tabControl1.TabPages.RemoveAt(3);
|
tabControl1.TabPages.RemoveAt(3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void initDataView()
|
private void initDataView()
|
||||||
{
|
{
|
||||||
//显示的数据
|
//显示的数据
|
||||||
this.cmbClasses.DisplayMember = "Name";
|
this.cmbClasses.DisplayMember = "Name";
|
||||||
this.cmbClasses.ValueMember = "Id";
|
this.cmbClasses.ValueMember = "Id";
|
||||||
var list = svcClasses.GetListNav(0);
|
var list = svcClasses.GetListNav(0);
|
||||||
this.cmbClasses.DataSource = list;
|
this.cmbClasses.DataSource = list;
|
||||||
if (model.ClassesId>0)
|
if (model.ClassesId>0)
|
||||||
this.cmbClasses.SelectedValue = model.ClassesId;
|
this.cmbClasses.SelectedValue = model.ClassesId;
|
||||||
|
|
||||||
|
|
||||||
//缺陷项
|
//缺陷项
|
||||||
var lstDefect = Utils.EnumUtil.GetArrayList<DefectCodeEnum>();
|
var lstDefect = Utils.EnumUtil.GetArrayList<DefectCodeEnum>();
|
||||||
foreach(DictionaryEntry item in lstDefect)
|
foreach(DictionaryEntry item in lstDefect)
|
||||||
{
|
{
|
||||||
DefectCountOfSizeControl userCon = new DefectCountOfSizeControl();
|
DefectCountOfSizeControl userCon = new DefectCountOfSizeControl();
|
||||||
userCon.Code = item.Value.ToString();
|
userCon.Code = item.Value.ToString();
|
||||||
userCon.Title = ((DefectNameEnum)(int)item.Key).ToString();
|
userCon.Title = ((DefectNameEnum)(int)item.Key).ToString();
|
||||||
if (model != null && model.QualifiedCriterionList!=null)
|
if (model != null && model.QualifiedCriterionList!=null)
|
||||||
{
|
{
|
||||||
var qalifiedItem = model.QualifiedCriterionList.FirstOrDefault(m => m.DefectCode == userCon.Code);
|
var qalifiedItem = model.QualifiedCriterionList.FirstOrDefault(m => m.DefectCode == userCon.Code);
|
||||||
if(qalifiedItem != null)
|
if(qalifiedItem != null)
|
||||||
{
|
{
|
||||||
userCon.Checked = true;
|
userCon.Checked = true;
|
||||||
userCon.SizeValue = (decimal)qalifiedItem.Size;
|
userCon.SizeValue = (decimal)qalifiedItem.Size;
|
||||||
userCon.MaxDefectCount = qalifiedItem.MaxDefectCount;
|
userCon.MaxDefectCount = qalifiedItem.MaxDefectCount;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.flpQualifiedPannel.Controls.Add(userCon);
|
this.flpQualifiedPannel.Controls.Add(userCon);
|
||||||
}
|
}
|
||||||
|
|
||||||
//模型文件
|
//模型文件
|
||||||
string strDefectModelFile = Application.StartupPath + @"\onnxFiles\";
|
string strDefectModelFile = Application.StartupPath + @"\onnxFiles\";
|
||||||
if(!Directory.Exists(strDefectModelFile))
|
if(!Directory.Exists(strDefectModelFile))
|
||||||
Directory.CreateDirectory(strDefectModelFile);
|
Directory.CreateDirectory(strDefectModelFile);
|
||||||
string[] onnxFiles=Directory.GetFiles(strDefectModelFile,"*.onnx");
|
string[] onnxFiles=Directory.GetFiles(strDefectModelFile,"*.onnx");
|
||||||
string onlyName;
|
string onlyName;
|
||||||
foreach (string onnxFile in onnxFiles)
|
foreach (string onnxFile in onnxFiles)
|
||||||
{
|
{
|
||||||
onlyName = Path.GetFileName(onnxFile);
|
onlyName = Path.GetFileName(onnxFile);
|
||||||
cmbDefectModelFile.Items.Add(onlyName);
|
cmbDefectModelFile.Items.Add(onlyName);
|
||||||
if (!string.IsNullOrWhiteSpace(model.DefectModelFile) && onlyName.ToLower()== model.DefectModelFile.ToLower())
|
if (!string.IsNullOrWhiteSpace(model.DefectModelFile) && onlyName.ToLower()== model.DefectModelFile.ToLower())
|
||||||
this.cmbDefectModelFile.SelectedItem = model.DefectModelFile;
|
this.cmbDefectModelFile.SelectedItem = model.DefectModelFile;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void btnSave_Click(object sender, EventArgs e)
|
private void btnSave_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
string szCode = this.txtCode.Text.Trim();
|
string szCode = this.txtCode.Text.Trim();
|
||||||
string szName = this.txtName.Text.Trim();
|
string szName = this.txtName.Text.Trim();
|
||||||
string szSpec = this.txtSpec.Text.Trim();
|
string szSpec = this.txtSpec.Text.Trim();
|
||||||
string szHoleCount = this.cmbHoleCount.Text.Trim();
|
string szHoleCount = this.cmbHoleCount.Text.Trim();
|
||||||
string szBatchId = this.txtBatchId.Text.Trim();
|
string szBatchId = this.txtBatchId.Text.Trim();
|
||||||
int liTargetCount = (int)this.numTargetCount.Value;
|
int liTargetCount = (int)this.numTargetCount.Value;
|
||||||
string szHeightBaseDec=this.txtHeightBaseDec.Text.Trim().Trim(new char[] { ';', ',' });
|
string szHeightBaseDec=this.txtHeightBaseDec.Text.Trim().Trim(new char[] { ';', ',' });
|
||||||
if (szCode == "" || szName == "")
|
if (szCode == "" || szName == "")
|
||||||
throw new Exception("请填写料号和名称!");
|
throw new Exception("请填写料号和名称!");
|
||||||
if(this.cmbClasses.SelectedIndex<0)
|
if(this.cmbClasses.SelectedIndex<0)
|
||||||
throw new Exception("请选择产品类型!");
|
throw new Exception("请选择产品类型!");
|
||||||
if (szHoleCount==""||! Util.IsNumber(szHoleCount))
|
if (szHoleCount==""||! Util.IsNumber(szHoleCount))
|
||||||
throw new Exception("请正确填写产品目数!");
|
throw new Exception("请正确填写产品目数!");
|
||||||
if (this.cmbDefectModelFile.SelectedIndex < 0)
|
if (this.cmbDefectModelFile.SelectedIndex < 0)
|
||||||
throw new Exception("请选择检测模型文件!");
|
throw new Exception("请选择检测模型文件!");
|
||||||
|
|
||||||
if (this.cbMarkType.SelectedIndex < 0)
|
if (this.cbMarkType.SelectedIndex < 0)
|
||||||
throw new Exception("请选择Mark!");
|
throw new Exception("请选择Mark!");
|
||||||
//if (szBatchId == "")// || liTargetCount < 1
|
//if (szBatchId == "")// || liTargetCount < 1
|
||||||
// throw new Exception("请填写批次号");// 和批次目标数量!");
|
// throw new Exception("请填写批次号");// 和批次目标数量!");
|
||||||
if (szHeightBaseDec != "")
|
if (szHeightBaseDec != "")
|
||||||
{
|
{
|
||||||
double num;
|
double num;
|
||||||
string[] szs= szHeightBaseDec.Split(new char[] { ';',','});
|
string[] szs= szHeightBaseDec.Split(new char[] { ';',','});
|
||||||
foreach(string s in szs)
|
foreach(string s in szs)
|
||||||
{
|
{
|
||||||
if (!double.TryParse(s, out num))
|
if (!double.TryParse(s, out num))
|
||||||
throw new Exception(s+" 非数值!");
|
throw new Exception(s+" 非数值!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
model.Code = szCode;
|
model.Code = szCode;
|
||||||
model.Name = szName;
|
model.Name = szName;
|
||||||
model.Spec = szSpec;
|
model.Spec = szSpec;
|
||||||
model.ClassesId = (int)this.cmbClasses.SelectedValue;
|
model.ClassesId = (int)this.cmbClasses.SelectedValue;
|
||||||
model.HoleCount = Convert.ToInt32(szHoleCount);
|
model.HoleCount = Convert.ToInt32(szHoleCount);
|
||||||
model.DefectModelFile = this.cmbDefectModelFile.Text.Trim();
|
model.DefectModelFile = this.cmbDefectModelFile.Text.Trim();
|
||||||
|
|
||||||
model.TensionBaseValue= (double)this.numTensionBaseValue.Value;
|
model.TensionBaseValue= (double)this.numTensionBaseValue.Value;
|
||||||
model.TensionUpFloatValue = (double)this.numTensionUpFloatValue.Value;
|
model.TensionUpFloatValue = (double)this.numTensionUpFloatValue.Value;
|
||||||
model.TensionDownFloatValue = (double)this.numTensionDownFloatValue.Value;
|
model.TensionDownFloatValue = (double)this.numTensionDownFloatValue.Value;
|
||||||
model.HeightBaseValue = (double)this.numHeightBaseValue.Value;
|
model.HeightBaseValue = (double)this.numHeightBaseValue.Value;
|
||||||
model.HeightUpFloatValue = (double)this.numHeightUpFloatValue.Value;
|
model.HeightUpFloatValue = (double)this.numHeightUpFloatValue.Value;
|
||||||
model.HeightDownFloatValue = (double)this.numHeightDownFloatValue.Value;
|
model.HeightDownFloatValue = (double)this.numHeightDownFloatValue.Value;
|
||||||
model.HeightBaseDec = szHeightBaseDec;
|
model.HeightBaseDec = szHeightBaseDec;
|
||||||
model.LineWidthBaseValue = (double)this.numLineWidthBaseValue.Value;
|
model.LineWidthBaseValue = (double)this.numLineWidthBaseValue.Value;
|
||||||
model.LineWidthUpFloatValue = (double)this.numLineWidthUpFloatValue.Value;
|
model.LineWidthUpFloatValue = (double)this.numLineWidthUpFloatValue.Value;
|
||||||
model.LineWidthDownFloatValue = (double)this.numLineWidthDownFloatValue.Value;
|
model.LineWidthDownFloatValue = (double)this.numLineWidthDownFloatValue.Value;
|
||||||
model.PTBaseValue = (double)this.numPTBaseValue.Value;
|
model.PTBaseValue = (double)this.numPTBaseValue.Value;
|
||||||
model.PTUpFloatValue = (double)this.numPTUpFloatValue.Value;
|
model.PTUpFloatValue = (double)this.numPTUpFloatValue.Value;
|
||||||
model.PTDownFloatValue = (double)this.numPTDownFloatValue.Value;
|
model.PTDownFloatValue = (double)this.numPTDownFloatValue.Value;
|
||||||
if (model.QualifiedCriterionList == null)
|
if (model.QualifiedCriterionList == null)
|
||||||
model.QualifiedCriterionList = new List<Models.QualifiedCriterion>();
|
model.QualifiedCriterionList = new List<Models.QualifiedCriterion>();
|
||||||
else
|
else
|
||||||
model.QualifiedCriterionList.Clear();
|
model.QualifiedCriterionList.Clear();
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(model.MapPath))
|
if (string.IsNullOrEmpty(model.MapPath))
|
||||||
{
|
{
|
||||||
model.MapPath = "";
|
model.MapPath = "";
|
||||||
model.GetPointList = "";
|
model.GetPointList = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (DefectCountOfSizeControl defectControl in this.flpQualifiedPannel.Controls)
|
foreach (DefectCountOfSizeControl defectControl in this.flpQualifiedPannel.Controls)
|
||||||
{
|
{
|
||||||
if (defectControl.Checked)
|
if (defectControl.Checked)
|
||||||
{
|
{
|
||||||
model.QualifiedCriterionList.Add(
|
model.QualifiedCriterionList.Add(
|
||||||
new Models.QualifiedCriterion()
|
new Models.QualifiedCriterion()
|
||||||
{
|
{
|
||||||
DefectCode = defectControl.Code,
|
DefectCode = defectControl.Code,
|
||||||
Size = (float)defectControl.SizeValue,
|
Size = (float)defectControl.SizeValue,
|
||||||
MaxDefectCount = (int)defectControl.MaxDefectCount,
|
MaxDefectCount = (int)defectControl.MaxDefectCount,
|
||||||
ModifyUserCode = Config.loginUser.Code,
|
ModifyUserCode = Config.loginUser.Code,
|
||||||
CreateUserCode = Config.loginUser.Code
|
CreateUserCode = Config.loginUser.Code
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
model.ModifyUserCode = Config.loginUser.Code;
|
model.ModifyUserCode = Config.loginUser.Code;
|
||||||
|
|
||||||
//2023-11-2 mark
|
//2023-11-2 mark
|
||||||
model.MarkType = this.cbMarkType.SelectedIndex;
|
model.MarkType = this.cbMarkType.SelectedIndex;
|
||||||
model.MarkSize = (double)this.numMarkSize.Value;
|
model.MarkSize = (double)this.numMarkSize.Value;
|
||||||
|
//2023-12-18 主栅
|
||||||
bool result;
|
model.MarkDisturb = this.cbMarkDisturb.Checked?1:0;
|
||||||
if (model.Id == 0)
|
model.MainGrid = this.cbMainGrid.Checked ? 1 : 0;
|
||||||
{
|
|
||||||
model.BatchId = szBatchId;
|
bool result;
|
||||||
model.TargetCount = liTargetCount;
|
if (model.Id == 0)
|
||||||
model.CompleteCount = 0;
|
{
|
||||||
model.CreateUserCode = Config.loginUser.Code;
|
model.BatchId = szBatchId;
|
||||||
result = service.InsertNav(model);
|
model.TargetCount = liTargetCount;
|
||||||
}
|
model.CompleteCount = 0;
|
||||||
else
|
model.CreateUserCode = Config.loginUser.Code;
|
||||||
{
|
result = service.InsertNav(model);
|
||||||
if (model.BatchId != szBatchId && !string.IsNullOrWhiteSpace(model.BatchId))
|
}
|
||||||
{
|
else
|
||||||
if (model.CompleteCount<model.TargetCount
|
{
|
||||||
&& MessageBox.Show($"本批次完成数量未达到目标数量,确定更换批次号?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
|
if (model.BatchId != szBatchId && !string.IsNullOrWhiteSpace(model.BatchId))
|
||||||
return;
|
{
|
||||||
if (model.BatchHistoryList.FirstOrDefault(m => m.BatchId == szBatchId) != null)
|
if (model.CompleteCount<model.TargetCount
|
||||||
throw new Exception("当前批次号与历史中所用批次号重复,请重新填写!");
|
&& MessageBox.Show($"本批次完成数量未达到目标数量,确定更换批次号?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
|
||||||
|
return;
|
||||||
model.BatchHistoryList.Add(new Models.BatchHistory()
|
if (model.BatchHistoryList.FirstOrDefault(m => m.BatchId == szBatchId) != null)
|
||||||
{
|
throw new Exception("当前批次号与历史中所用批次号重复,请重新填写!");
|
||||||
BatchId = model.BatchId,
|
|
||||||
TargetCount = model.TargetCount,
|
model.BatchHistoryList.Add(new Models.BatchHistory()
|
||||||
CompleteCount = model.CompleteCount,
|
{
|
||||||
CreateUserCode = Config.loginUser.Code,
|
BatchId = model.BatchId,
|
||||||
ModifyUserCode = Config.loginUser.Code
|
TargetCount = model.TargetCount,
|
||||||
});
|
CompleteCount = model.CompleteCount,
|
||||||
model.CompleteCount = 0;
|
CreateUserCode = Config.loginUser.Code,
|
||||||
}
|
ModifyUserCode = Config.loginUser.Code
|
||||||
|
});
|
||||||
model.BatchId = szBatchId;
|
model.CompleteCount = 0;
|
||||||
model.TargetCount = liTargetCount;
|
}
|
||||||
result = service.UpdateNav(model);
|
|
||||||
}
|
model.BatchId = szBatchId;
|
||||||
if (!result)
|
model.TargetCount = liTargetCount;
|
||||||
throw new Exception("保存失败!");
|
result = service.UpdateNav(model);
|
||||||
|
}
|
||||||
this.tsbtnAddFile.Enabled = true;
|
if (!result)
|
||||||
this.tsbtnNewBatchId.Enabled = true;
|
throw new Exception("保存失败!");
|
||||||
MessageBox.Show("保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
||||||
this.DialogResult = DialogResult.OK;
|
this.tsbtnAddFile.Enabled = true;
|
||||||
this.Close();
|
this.tsbtnNewBatchId.Enabled = true;
|
||||||
}
|
MessageBox.Show("保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||||
catch (Exception ex)
|
this.DialogResult = DialogResult.OK;
|
||||||
{
|
this.Close();
|
||||||
MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
}
|
||||||
}
|
catch (Exception ex)
|
||||||
}
|
|
||||||
|
|
||||||
private void btnCancel_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
this.Close();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void tsbtnNewBatchId_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
tabControl1.SelectedIndex = 2;
|
|
||||||
Application.DoEvents();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void btnAddFile_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
{
|
||||||
if (this.cbMarkType.SelectedIndex < 0)
|
MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
throw new Exception("请选择Mark!");
|
}
|
||||||
//.dwg /.dxf /.dws /.dwt
|
}
|
||||||
string filePath = FileUtil.selectFile("gbx,gbr文件|*.gb?");
|
|
||||||
if (string.IsNullOrWhiteSpace(filePath))
|
private void btnCancel_Click(object sender, EventArgs e)
|
||||||
return;
|
{
|
||||||
|
this.Close();
|
||||||
string fileName=Path.GetFileName(filePath);
|
}
|
||||||
string fileExtend=Path.GetExtension(filePath);
|
|
||||||
string fileOnlyName = fileName.Substring(0, fileName.Length - fileExtend.Length);
|
private void tsbtnNewBatchId_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
//
|
tabControl1.SelectedIndex = 2;
|
||||||
string targFilePath = Application.StartupPath + $"\\Attachment\\product\\{model.Id}\\";
|
Application.DoEvents();
|
||||||
if (!Directory.Exists(targFilePath))
|
}
|
||||||
Directory.CreateDirectory(targFilePath);
|
|
||||||
else//删除原文件
|
private void btnAddFile_Click(object sender, EventArgs e)
|
||||||
FileUtil.delFilesInFolder(targFilePath);
|
{
|
||||||
|
try
|
||||||
targFilePath += fileName;
|
{
|
||||||
//File.Copy(res.file_path, defectFileName + ".bmp", true);
|
if (this.cbMarkType.SelectedIndex < 0)
|
||||||
bool result = API.CopyFile(filePath, targFilePath, false);//更快 //false-覆盖
|
throw new Exception("请选择Mark!");
|
||||||
if (!result)
|
//.dwg /.dxf /.dws /.dwt
|
||||||
throw new Exception("移动文件失败!");
|
string filePath = FileUtil.selectFile("gbx,gbr文件|*.gb?");
|
||||||
|
if (string.IsNullOrWhiteSpace(filePath))
|
||||||
//后台线程转BMP与JPG
|
return;
|
||||||
string tempClass = this.cmbClasses.Text;
|
|
||||||
int tempIndex = this.cbMarkType.SelectedIndex;
|
string fileName=Path.GetFileName(filePath);
|
||||||
double tempValue = (double)this.numMarkSize.Value;
|
string fileExtend=Path.GetExtension(filePath);
|
||||||
Task.Run(() =>
|
string fileOnlyName = fileName.Substring(0, fileName.Length - fileExtend.Length);
|
||||||
{
|
|
||||||
Yolo5.Yolo_Class yolo = new Yolo5.Yolo_Class();
|
//
|
||||||
|
string targFilePath = Application.StartupPath + $"\\Attachment\\product\\{model.Id}\\";
|
||||||
|
if (!Directory.Exists(targFilePath))
|
||||||
|
Directory.CreateDirectory(targFilePath);
|
||||||
|
else//删除原文件
|
||||||
|
FileUtil.delFilesInFolder(targFilePath);
|
||||||
|
|
||||||
|
targFilePath += fileName;
|
||||||
|
//File.Copy(res.file_path, defectFileName + ".bmp", true);
|
||||||
|
bool result = API.CopyFile(filePath, targFilePath, false);//更快 //false-覆盖
|
||||||
|
if (!result)
|
||||||
|
throw new Exception("移动文件失败!");
|
||||||
|
|
||||||
|
//后台线程转BMP与JPG
|
||||||
|
string tempClass = this.cmbClasses.Text;
|
||||||
|
int tempIndex = this.cbMarkType.SelectedIndex;
|
||||||
|
double tempValue = (double)this.numMarkSize.Value;
|
||||||
|
//2023-12-18
|
||||||
|
int tMarkDistrub = this.cbMarkDisturb.Checked ? 1 : 0;
|
||||||
|
int tMainGrid = this.cbMainGrid.Checked ? 1 : 0;
|
||||||
|
|
||||||
|
Task.Run(() =>
|
||||||
|
{
|
||||||
|
Yolo5.Yolo_Class yolo = new Yolo5.Yolo_Class();
|
||||||
string bmpPath = targFilePath.Substring(0, targFilePath.Length - 4) + ".bmp";
|
string bmpPath = targFilePath.Substring(0, targFilePath.Length - 4) + ".bmp";
|
||||||
//2023-11-3 mark
|
//2023-11-3 mark
|
||||||
|
|
||||||
//yolo.gerber2image(targFilePath, bmpPath);
|
//yolo.gerber2image(targFilePath, bmpPath);
|
||||||
double[] markParam = new double[4];
|
double[] markParam = new double[6];
|
||||||
if(tempClass.Contains("乳剂"))
|
if(tempClass.Contains("乳剂"))
|
||||||
markParam[0] = 2;
|
markParam[0] = 2;
|
||||||
else if (tempClass.Contains("PI"))
|
else if (tempClass.Contains("PI"))
|
||||||
markParam[0] = 1;
|
markParam[0] = 1;
|
||||||
else
|
else
|
||||||
markParam[0] = 0;
|
markParam[0] = 0;
|
||||||
if (tempIndex == 0)
|
if (tempIndex == 0)
|
||||||
{
|
{
|
||||||
//默认情况 实心圆,0.5mm
|
//默认情况 实心圆,0.5mm
|
||||||
markParam[1] = 2;
|
markParam[1] = 2;
|
||||||
markParam[2] = 0.5;
|
markParam[2] = 0.5;
|
||||||
markParam[3] = 1;
|
markParam[3] = 1;
|
||||||
}
|
markParam[4] = 0;
|
||||||
|
markParam[5] = 0;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
markParam[1] = tempIndex - 1;
|
markParam[1] = tempIndex - 1;
|
||||||
markParam[2] = tempValue;
|
markParam[2] = tempValue;
|
||||||
markParam[3] = tempIndex == 1 ? 0 : 1;
|
markParam[3] = tempIndex == 1 ? 0 : 1;
|
||||||
}
|
markParam[4] = tMarkDistrub;
|
||||||
yolo.gerber2image(targFilePath, bmpPath, markParam);
|
markParam[5] = tMainGrid;
|
||||||
|
}
|
||||||
//换背景JPG
|
yolo.gerber2image(targFilePath, bmpPath, markParam);
|
||||||
Mat mat = Cv2.ImRead(bmpPath);
|
|
||||||
Cv2.CvtColor(mat, mat, ColorConversionCodes.RGB2GRAY);//转灰度图
|
//换背景JPG
|
||||||
for (int i = 0; i < mat.Height; i++)
|
Mat mat = Cv2.ImRead(bmpPath);
|
||||||
{
|
Cv2.CvtColor(mat, mat, ColorConversionCodes.RGB2GRAY);//转灰度图
|
||||||
for (int j = 0; j < mat.Width; j++)
|
for (int i = 0; i < mat.Height; i++)
|
||||||
{
|
{
|
||||||
if (mat.At<byte>(i, j) == 255)//白色
|
for (int j = 0; j < mat.Width; j++)
|
||||||
mat.Set<byte>(i, j, 0);
|
{
|
||||||
else
|
if (mat.At<byte>(i, j) == 255)//白色
|
||||||
mat.Set<byte>(i, j, 255);
|
mat.Set<byte>(i, j, 0);
|
||||||
}
|
else
|
||||||
}
|
mat.Set<byte>(i, j, 255);
|
||||||
model.MapPath = bmpPath;
|
}
|
||||||
//灰转彩
|
}
|
||||||
//Cv2.CvtColor(mat, mat, ColorConversionCodes.GRAY2RGB);
|
model.MapPath = bmpPath;
|
||||||
//for (int i = 0; i < mat.Height; i++)
|
//灰转彩
|
||||||
//{
|
//Cv2.CvtColor(mat, mat, ColorConversionCodes.GRAY2RGB);
|
||||||
// for (int j = 0; j < mat.Width; j++)
|
//for (int i = 0; i < mat.Height; i++)
|
||||||
// {
|
//{
|
||||||
// if (mat.At<byte>(i, j) == 255)//白色
|
// for (int j = 0; j < mat.Width; j++)
|
||||||
// mat.Set<byte>(i, j, 0); //黄色
|
// {
|
||||||
// }
|
// if (mat.At<byte>(i, j) == 255)//白色
|
||||||
//}
|
// mat.Set<byte>(i, j, 0); //黄色
|
||||||
bmpPath = targFilePath.Substring(0, targFilePath.Length - 4) + ".jpg";
|
// }
|
||||||
//model.MapPath = bmpPath;
|
//}
|
||||||
OpenCvSharp.Extensions.BitmapConverter.ToBitmap(mat).Save(bmpPath, ImageFormat.Jpeg);
|
bmpPath = targFilePath.Substring(0, targFilePath.Length - 4) + ".jpg";
|
||||||
});//不能加.Start();
|
//model.MapPath = bmpPath;
|
||||||
|
OpenCvSharp.Extensions.BitmapConverter.ToBitmap(mat).Save(bmpPath, ImageFormat.Jpeg);
|
||||||
Models.Attachment attachmentFile = model.AttachmentList.FirstOrDefault(m => m.Type == 0);
|
});//不能加.Start();
|
||||||
if (attachmentFile!=null)
|
|
||||||
{
|
Models.Attachment attachmentFile = model.AttachmentList.FirstOrDefault(m => m.Type == 0);
|
||||||
attachmentFile.Type = 0;//图纸
|
if (attachmentFile!=null)
|
||||||
attachmentFile.NameTimestamp= $"{model.Id}\\{fileOnlyName}";
|
{
|
||||||
attachmentFile.Name = fileName;
|
attachmentFile.Type = 0;//图纸
|
||||||
attachmentFile.ExtendName = fileExtend;
|
attachmentFile.NameTimestamp= $"{model.Id}\\{fileOnlyName}";
|
||||||
}
|
attachmentFile.Name = fileName;
|
||||||
else
|
attachmentFile.ExtendName = fileExtend;
|
||||||
{
|
}
|
||||||
model.AttachmentList.Add(new Models.Attachment()
|
else
|
||||||
{
|
{
|
||||||
TBName = "product",
|
model.AttachmentList.Add(new Models.Attachment()
|
||||||
Type = 0,
|
{
|
||||||
NameTimestamp = $"{model.Id}\\{fileOnlyName}",
|
TBName = "product",
|
||||||
Name = fileName,
|
Type = 0,
|
||||||
ExtendName = fileExtend,
|
NameTimestamp = $"{model.Id}\\{fileOnlyName}",
|
||||||
CreateUserCode = Config.loginUser.Code,
|
Name = fileName,
|
||||||
ModifyUserCode = Config.loginUser.Code
|
ExtendName = fileExtend,
|
||||||
});
|
CreateUserCode = Config.loginUser.Code,
|
||||||
}
|
ModifyUserCode = Config.loginUser.Code
|
||||||
if (!service.UpdateNav(model))
|
});
|
||||||
throw new Exception("保存文件失败!");
|
}
|
||||||
|
if (!service.UpdateNav(model))
|
||||||
model=service.GetModelNav(model.Code);
|
throw new Exception("保存文件失败!");
|
||||||
this.btnOpenFile.Text = fileName;
|
|
||||||
this.btnOpenFile.Visible = true;
|
model=service.GetModelNav(model.Code);
|
||||||
}
|
this.btnOpenFile.Text = fileName;
|
||||||
catch (Exception ex)
|
this.btnOpenFile.Visible = true;
|
||||||
{
|
}
|
||||||
MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
catch (Exception ex)
|
||||||
}
|
{
|
||||||
|
MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
private void btnOpenFile_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
|
||||||
{
|
|
||||||
Models.Attachment attachmentFile = model.AttachmentList.FirstOrDefault(m => m.Type == 0);
|
private void btnOpenFile_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||||
if (attachmentFile == null )
|
{
|
||||||
MessageBox.Show("还未上传!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
Models.Attachment attachmentFile = model.AttachmentList.FirstOrDefault(m => m.Type == 0);
|
||||||
string filePath = Application.StartupPath + $"\\Attachment\\product\\{model.Id}\\" + attachmentFile.NameTimestamp + attachmentFile.ExtendName;
|
if (attachmentFile == null )
|
||||||
if(File.Exists(filePath))
|
MessageBox.Show("还未上传!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
Process.Start(filePath);
|
string filePath = Application.StartupPath + $"\\Attachment\\product\\{model.Id}\\" + attachmentFile.NameTimestamp + attachmentFile.ExtendName;
|
||||||
|
if(File.Exists(filePath))
|
||||||
|
Process.Start(filePath);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void tbtnGetPos_Click(object sender, EventArgs e)
|
private void tbtnGetPos_Click(object sender, EventArgs e)
|
||||||
@ -464,5 +478,5 @@ namespace ProductionControl
|
|||||||
|
|
||||||
model = service.GetModelNav(model.Code);
|
model = service.GetModelNav(model.Code);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -127,16 +127,16 @@
|
|||||||
<data name="tsbtnSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="tsbtnSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIgSURBVFhH7ZdPaxNBGMbfIBQFpeAXEBV7KfTWFsU/FzER
|
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIeSURBVFhH7ZfLShxBFIaPCJKAIuQFghHdCO5MSFCzES/Z
|
||||||
es2hlHabnZndeVc9BL+BN2kvLX4Aa4sWCn4Bb9Ieq4Ueeuyt9NwiUcQ/7wyTzY6ZJDubRQj0gR+bzMz7
|
zyKIduyq6q7TxoXkDdyJbhQfwEswgYAv4E506QVcZJmduE4IJoRcThU1PV2ZmpmunkYQ/OGjZ6rq/P1P
|
||||||
7JPZdzcJXMihCkTJQ6JWGC6rwJNJ4+ehen0MWPwJBP4pBY6vjHNOCZzuMhmex8Y9h7h8kBYyPKZP8A5E
|
9emeGbiXQx0QJePEdGG4nAKeDBk/D1UqXcDiQxD4txQ4rhjnnBI4UmfSPhPGPYe4HEsLGX6hT7ALIt7z
|
||||||
vOmP3IAQj7TPMp5AFI2bMwxQlNxPA3B8a0aLicvXqZeQO2Z0gLIBhHxvRotJyPWOl/YLzEwfZQMw/GBG
|
R+5AiJ+1zxu8gijqNWdooSgZTQNw3DajxcTlauol5Ccz2kLZAELum9FiEnKz5qX9AjPTRNkADD+Y0fxi
|
||||||
84thg3Yu0q85rlkB5vEbhMkNPddTwwRoNq9Q3W9dq8RxNfVqE8Z7NFPR804NEyAMr1HdGdHS77lcSb0s
|
uEA7F+nXHDesAK/xO4TJYz3XUO0EWF5+SHV/dK0Sx/XUq0oYn9BMh553qp0AYdhDdV+JG/2ey7XUy0K+
|
||||||
5Es975TVA7hlRvMpSa5Cbe6XrlWymtDio553yg7QZ2EP6dvWNK/ANxmvDn131g6gtvOemfETwymqPc14
|
0/NOWT2A781oPiVJN0y++q1rlawmtDjQ807ZAZosbCB925rmFbiV8arRdGftAGo7X5gZPzEcptrrjFcN
|
||||||
dfAIoFBNdUh8oQfM18HQOo4HEAQ/TX03ngHKZzQDBMF5Idp3RRavAMpEyKfA2PVCxPEd8tm1PP12gBpr
|
jwAK1VSXxBk9YM5bQ+s4XkAQ/DL19XgGKJ+7GSAIvhWieldk8QqgTIScAcYeFSKOB8jn2PL02wFqrHYl
|
||||||
WAlMLE/PS/CDuvoFiGTWGxbPkF8t/VpuM5pNWCaeAVp0CZaAP5vQDaWOeVHro+guMLlvef7/JpRoeXrv
|
MLE8PS/BT+rqJRDJM29Y/JT8ptOv5Sp3swnLxDPADV2CeeCLg7qh1DEvan0UPQcmTy3P229CiZan9w4I
|
||||||
gJCLIMRtaOAtffwXNe6CP79J9fQjVz+icwbI/ii1Ud8JfrgeQhq5bc7mkLp1nEVl0i9AEFymRZ+7i0pi
|
OQdC9MMCPtHH/1HjLvjbPqqnH7n6EZ0zQPZHqY36TvDD9RDSyI/mbA6pW8dZVCbNAgTBA1p0VF9UErOz
|
||||||
YeE77XLVnK2H6vVLtPgR9YP7b1dRBD7RfXEhSwB/AekDZZ13nHnPAAAAAElFTkSuQmCC
|
P2iXp8zZGqhS6aTFL6kf3H+7iiJwUvfFvSwB/AOYeWWRyPCtmgAAAABJRU5ErkJggg==
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbtnAddFile.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="tsbtnAddFile.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
@ -210,9 +210,6 @@
|
|||||||
C6TPxxQLXgOFmryc2pWs67ruL9BDjecFstIGAAAAAElFTkSuQmCC
|
C6TPxxQLXgOFmryc2pWs67ruL9BDjecFstIGAAAAAElFTkSuQmCC
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
|
||||||
<value>166, 17</value>
|
|
||||||
</metadata>
|
|
||||||
<metadata name="colBatchId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
<metadata name="colBatchId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
|
@ -44,6 +44,8 @@
|
|||||||
this.tsbtnAdd = new System.Windows.Forms.ToolStripButton();
|
this.tsbtnAdd = new System.Windows.Forms.ToolStripButton();
|
||||||
this.tsbtnDel = new System.Windows.Forms.ToolStripButton();
|
this.tsbtnDel = new System.Windows.Forms.ToolStripButton();
|
||||||
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
|
this.tsbtnClone = new System.Windows.Forms.ToolStripButton();
|
||||||
|
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
this.tsbtnSetting = new System.Windows.Forms.ToolStripButton();
|
this.tsbtnSetting = new System.Windows.Forms.ToolStripButton();
|
||||||
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
|
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
this.tsbtnClasses = new System.Windows.Forms.ToolStripButton();
|
this.tsbtnClasses = new System.Windows.Forms.ToolStripButton();
|
||||||
@ -67,8 +69,6 @@
|
|||||||
this.colReviseStepName = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
this.colReviseStepName = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||||
this.colModifyCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
this.colModifyCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||||
this.colModifyTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
this.colModifyTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||||
this.tsbtnClone = new System.Windows.Forms.ToolStripButton();
|
|
||||||
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
|
|
||||||
this.toolStrip1.SuspendLayout();
|
this.toolStrip1.SuspendLayout();
|
||||||
this.statusStrip1.SuspendLayout();
|
this.statusStrip1.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
|
||||||
@ -143,6 +143,25 @@
|
|||||||
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
||||||
this.toolStripSeparator1.Size = new System.Drawing.Size(6, 56);
|
this.toolStripSeparator1.Size = new System.Drawing.Size(6, 56);
|
||||||
//
|
//
|
||||||
|
// tsbtnClone
|
||||||
|
//
|
||||||
|
this.tsbtnClone.Image = ((System.Drawing.Image)(resources.GetObject("tsbtnClone.Image")));
|
||||||
|
this.tsbtnClone.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
|
||||||
|
this.tsbtnClone.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||||
|
this.tsbtnClone.Name = "tsbtnClone";
|
||||||
|
this.tsbtnClone.Size = new System.Drawing.Size(52, 53);
|
||||||
|
this.tsbtnClone.Text = " 克隆 ";
|
||||||
|
this.tsbtnClone.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
|
||||||
|
this.tsbtnClone.ToolTipText = "克隆当前流程";
|
||||||
|
this.tsbtnClone.Visible = false;
|
||||||
|
this.tsbtnClone.Click += new System.EventHandler(this.tsbtnClone_Click);
|
||||||
|
//
|
||||||
|
// toolStripSeparator5
|
||||||
|
//
|
||||||
|
this.toolStripSeparator5.Name = "toolStripSeparator5";
|
||||||
|
this.toolStripSeparator5.Size = new System.Drawing.Size(6, 56);
|
||||||
|
this.toolStripSeparator5.Visible = false;
|
||||||
|
//
|
||||||
// tsbtnSetting
|
// tsbtnSetting
|
||||||
//
|
//
|
||||||
this.tsbtnSetting.Image = ((System.Drawing.Image)(resources.GetObject("tsbtnSetting.Image")));
|
this.tsbtnSetting.Image = ((System.Drawing.Image)(resources.GetObject("tsbtnSetting.Image")));
|
||||||
@ -264,7 +283,7 @@
|
|||||||
this.dataGridView1.DefaultCellStyle = dataGridViewCellStyle8;
|
this.dataGridView1.DefaultCellStyle = dataGridViewCellStyle8;
|
||||||
this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
|
this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
this.dataGridView1.Location = new System.Drawing.Point(0, 56);
|
this.dataGridView1.Location = new System.Drawing.Point(0, 56);
|
||||||
this.dataGridView1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
|
this.dataGridView1.Margin = new System.Windows.Forms.Padding(2);
|
||||||
this.dataGridView1.MultiSelect = false;
|
this.dataGridView1.MultiSelect = false;
|
||||||
this.dataGridView1.Name = "dataGridView1";
|
this.dataGridView1.Name = "dataGridView1";
|
||||||
this.dataGridView1.ReadOnly = true;
|
this.dataGridView1.ReadOnly = true;
|
||||||
@ -408,23 +427,6 @@
|
|||||||
this.colModifyTime.ReadOnly = true;
|
this.colModifyTime.ReadOnly = true;
|
||||||
this.colModifyTime.Width = 150;
|
this.colModifyTime.Width = 150;
|
||||||
//
|
//
|
||||||
// tsbtnClone
|
|
||||||
//
|
|
||||||
this.tsbtnClone.Image = ((System.Drawing.Image)(resources.GetObject("tsbtnClone.Image")));
|
|
||||||
this.tsbtnClone.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
|
|
||||||
this.tsbtnClone.ImageTransparentColor = System.Drawing.Color.Magenta;
|
|
||||||
this.tsbtnClone.Name = "tsbtnClone";
|
|
||||||
this.tsbtnClone.Size = new System.Drawing.Size(52, 53);
|
|
||||||
this.tsbtnClone.Text = " 克隆 ";
|
|
||||||
this.tsbtnClone.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
|
|
||||||
this.tsbtnClone.ToolTipText = "克隆当前流程";
|
|
||||||
this.tsbtnClone.Click += new System.EventHandler(this.tsbtnClone_Click);
|
|
||||||
//
|
|
||||||
// toolStripSeparator5
|
|
||||||
//
|
|
||||||
this.toolStripSeparator5.Name = "toolStripSeparator5";
|
|
||||||
this.toolStripSeparator5.Size = new System.Drawing.Size(6, 56);
|
|
||||||
//
|
|
||||||
// FrmProductList
|
// FrmProductList
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||||
@ -434,7 +436,7 @@
|
|||||||
this.Controls.Add(this.statusStrip1);
|
this.Controls.Add(this.statusStrip1);
|
||||||
this.Controls.Add(this.toolStrip1);
|
this.Controls.Add(this.toolStrip1);
|
||||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||||
this.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
|
this.Margin = new System.Windows.Forms.Padding(2);
|
||||||
this.Name = "FrmProductList";
|
this.Name = "FrmProductList";
|
||||||
this.ShowInTaskbar = false;
|
this.ShowInTaskbar = false;
|
||||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||||
|
@ -1,186 +1,186 @@
|
|||||||
using Models;
|
using Models;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Data;
|
using System.Data;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace ProductionControl
|
namespace ProductionControl
|
||||||
{
|
{
|
||||||
public partial class FrmProductList : Form
|
public partial class FrmProductList : Form
|
||||||
{
|
{
|
||||||
Service.ProductService service = new Service.ProductService();
|
Service.ProductService service = new Service.ProductService();
|
||||||
public Models.Product Product { get; private set; }
|
public Models.Product Product { get; private set; }
|
||||||
public FrmProductList(bool isProductRevise=false)
|
public FrmProductList(bool isProductRevise=false)
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
this.tsbtnAdd.Enabled=this.tsbtnDel.Enabled =this.tsbtnSetting.Enabled= !isProductRevise;
|
this.tsbtnAdd.Enabled=this.tsbtnDel.Enabled =this.tsbtnSetting.Enabled= !isProductRevise;
|
||||||
this.tsbtnRevise.Visible=isProductRevise;
|
this.tsbtnRevise.Visible=isProductRevise;
|
||||||
if (isProductRevise)
|
if (isProductRevise)
|
||||||
{
|
{
|
||||||
this.Text = "产品基准厚度校正";
|
this.Text = "产品基准厚度校正";
|
||||||
}
|
}
|
||||||
#region dataGridView设置
|
#region dataGridView设置
|
||||||
dataGridView1.AutoGenerateColumns = false;//自动创建列
|
dataGridView1.AutoGenerateColumns = false;//自动创建列
|
||||||
dataGridView1.AllowUserToAddRows = dataGridView1.AllowUserToDeleteRows = false;//用户添加删除行
|
dataGridView1.AllowUserToAddRows = dataGridView1.AllowUserToDeleteRows = false;//用户添加删除行
|
||||||
dataGridView1.AllowUserToResizeRows = true;//用户调整行大小
|
dataGridView1.AllowUserToResizeRows = true;//用户调整行大小
|
||||||
//dataGridView1.AllowUserToResizeColumns = false;//用户调整列大小
|
//dataGridView1.AllowUserToResizeColumns = false;//用户调整列大小
|
||||||
//显示行号与列宽度自动调整
|
//显示行号与列宽度自动调整
|
||||||
dataGridView1.RowHeadersVisible = true;
|
dataGridView1.RowHeadersVisible = true;
|
||||||
dataGridView1.RowHeadersWidth = 50;
|
dataGridView1.RowHeadersWidth = 50;
|
||||||
dataGridView1.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders;//数据量过百绑定太变
|
dataGridView1.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders;//数据量过百绑定太变
|
||||||
dataGridView1.RowPostPaint += (sender, e) =>//序号列头
|
dataGridView1.RowPostPaint += (sender, e) =>//序号列头
|
||||||
{
|
{
|
||||||
Utils.Util.showRowNum_onDataGrid_RowPostPaint(this.dataGridView1, sender, e);
|
Utils.Util.showRowNum_onDataGrid_RowPostPaint(this.dataGridView1, sender, e);
|
||||||
};
|
};
|
||||||
dataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
|
dataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
|
||||||
//for (int i = 0; i < dataGridView1.Columns.Count; i++)//禁止点击列头排序
|
//for (int i = 0; i < dataGridView1.Columns.Count; i++)//禁止点击列头排序
|
||||||
// dataGridView1.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
|
// dataGridView1.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
|
||||||
|
|
||||||
//行列交叉处标题
|
//行列交叉处标题
|
||||||
//if (dataGridView1.RowHeadersVisible) dataGridView1.TopLeftHeaderCell.Value = "SPH/CYL";
|
//if (dataGridView1.RowHeadersVisible) dataGridView1.TopLeftHeaderCell.Value = "SPH/CYL";
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
private void initDataView(int selIndex = -1)
|
private void initDataView(int selIndex = -1)
|
||||||
{
|
{
|
||||||
Product = null;
|
Product = null;
|
||||||
var list = service.GetListNav();
|
var list = service.GetListNav();
|
||||||
tsslCount.Text = $"共 {list.Count} 条记录";
|
tsslCount.Text = $"共 {list.Count} 条记录";
|
||||||
int liIndex = 0;
|
int liIndex = 0;
|
||||||
if (selIndex > 0) liIndex = selIndex;
|
if (selIndex > 0) liIndex = selIndex;
|
||||||
else if (this.dataGridView1.CurrentRow!=null)
|
else if (this.dataGridView1.CurrentRow!=null)
|
||||||
liIndex=this.dataGridView1.CurrentRow.Index;
|
liIndex=this.dataGridView1.CurrentRow.Index;
|
||||||
dataGridView1.DataSource = new BindingSource(list, null);
|
dataGridView1.DataSource = new BindingSource(list, null);
|
||||||
if (dataGridView1.Rows.Count > liIndex)
|
if (dataGridView1.Rows.Count > liIndex)
|
||||||
dataGridView1.CurrentCell = dataGridView1[1, liIndex];
|
dataGridView1.CurrentCell = dataGridView1[1, liIndex];
|
||||||
}
|
}
|
||||||
private void FrmProductList_Load(object sender, EventArgs e)
|
private void FrmProductList_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
initDataView();
|
initDataView();
|
||||||
}
|
}
|
||||||
private void tsbtnRefresh_Click(object sender, EventArgs e)
|
private void tsbtnRefresh_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
initDataView();
|
initDataView();
|
||||||
}
|
}
|
||||||
private void tsbtnAdd_Click(object sender, EventArgs e)
|
private void tsbtnAdd_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
FrmProductInfo frm = new FrmProductInfo();
|
FrmProductInfo frm = new FrmProductInfo();
|
||||||
frm.ShowDialog();
|
frm.ShowDialog();
|
||||||
initDataView();
|
initDataView();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void tsbtnDel_Click(object sender, EventArgs e)
|
private void tsbtnDel_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (this.dataGridView1.CurrentRow == null)
|
if (this.dataGridView1.CurrentRow == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (MessageBox.Show($"确认删除?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
if (MessageBox.Show($"确认删除?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
||||||
{
|
{
|
||||||
var list = ((BindingSource)dataGridView1.DataSource).DataSource as List<Product>;
|
var list = ((BindingSource)dataGridView1.DataSource).DataSource as List<Product>;
|
||||||
int liIndex = this.dataGridView1.CurrentRow.Index;//获取当前选中行的索引
|
int liIndex = this.dataGridView1.CurrentRow.Index;//获取当前选中行的索引
|
||||||
if (!service.DelNav(list[liIndex]))
|
if (!service.DelNav(list[liIndex]))
|
||||||
throw new Exception("删除失败!");
|
throw new Exception("删除失败!");
|
||||||
MessageBox.Show("删除成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
MessageBox.Show("删除成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||||
//initDataView();
|
//initDataView();
|
||||||
this.dataGridView1.Rows.RemoveAt(liIndex);
|
this.dataGridView1.Rows.RemoveAt(liIndex);
|
||||||
if(this.dataGridView1.Rows.Count == 0)
|
if(this.dataGridView1.Rows.Count == 0)
|
||||||
initDataView();
|
initDataView();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void tsbtnSetting_Click(object sender, EventArgs e)
|
private void tsbtnSetting_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if(this.dataGridView1.CurrentRow == null) return;
|
if(this.dataGridView1.CurrentRow == null) return;
|
||||||
|
|
||||||
var list = ((BindingSource)dataGridView1.DataSource).DataSource as List<Product>;
|
var list = ((BindingSource)dataGridView1.DataSource).DataSource as List<Product>;
|
||||||
int liIndex = this.dataGridView1.CurrentRow.Index;//获取当前选中行的索引
|
int liIndex = this.dataGridView1.CurrentRow.Index;//获取当前选中行的索引
|
||||||
FrmProductStep frm = new FrmProductStep(list[liIndex]);
|
FrmProductStep frm = new FrmProductStep(list[liIndex]);
|
||||||
frm.ShowDialog();
|
frm.ShowDialog();
|
||||||
initDataView();
|
initDataView();
|
||||||
}
|
}
|
||||||
private void tsbtnRevise_Click(object sender, EventArgs e)
|
private void tsbtnRevise_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (this.dataGridView1.CurrentRow == null)
|
if (this.dataGridView1.CurrentRow == null)
|
||||||
throw new Exception("请选择要校正的产品!");
|
throw new Exception("请选择要校正的产品!");
|
||||||
|
|
||||||
var list = ((BindingSource)dataGridView1.DataSource).DataSource as List<Product>;
|
var list = ((BindingSource)dataGridView1.DataSource).DataSource as List<Product>;
|
||||||
int liIndex = this.dataGridView1.CurrentRow.Index;//获取当前选中行的索引
|
int liIndex = this.dataGridView1.CurrentRow.Index;//获取当前选中行的索引
|
||||||
if (list[liIndex].ReviseStepId==null || list[liIndex].ReviseStepId<1)
|
if (list[liIndex].ReviseStepId==null || list[liIndex].ReviseStepId<1)
|
||||||
throw new Exception("此产品未设置校正流程!");
|
throw new Exception("此产品未设置校正流程!");
|
||||||
|
|
||||||
if (MessageBox.Show($"确认执行校正产品流程?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
if (MessageBox.Show($"确认执行校正产品流程?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
||||||
{
|
{
|
||||||
Product=list[liIndex];
|
Product=list[liIndex];
|
||||||
this.DialogResult = DialogResult.Yes;
|
this.DialogResult = DialogResult.Yes;
|
||||||
this.Close();
|
this.Close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void tsbtnClose_Click(object sender, EventArgs e)
|
private void tsbtnClose_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
this.Close();
|
this.Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
|
private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
|
||||||
{
|
{
|
||||||
if (!this.tsbtnAdd.Enabled) return;
|
if (!this.tsbtnAdd.Enabled) return;
|
||||||
var list = ((BindingSource)dataGridView1.DataSource).DataSource as List<Product>;
|
var list = ((BindingSource)dataGridView1.DataSource).DataSource as List<Product>;
|
||||||
int liIndex = this.dataGridView1.CurrentRow.Index;//获取当前选中行的索引
|
int liIndex = this.dataGridView1.CurrentRow.Index;//获取当前选中行的索引
|
||||||
FrmProductInfo frm = new FrmProductInfo(list[liIndex]);
|
FrmProductInfo frm = new FrmProductInfo(list[liIndex]);
|
||||||
frm.ShowDialog(this);
|
frm.ShowDialog(this);
|
||||||
initDataView();
|
initDataView();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
|
private void dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
|
||||||
{
|
{
|
||||||
var list = ((BindingSource)dataGridView1.DataSource).DataSource as List<Product>;
|
var list = ((BindingSource)dataGridView1.DataSource).DataSource as List<Product>;
|
||||||
for (int i = 0; i < dataGridView1.Rows.Count; i++)
|
for (int i = 0; i < dataGridView1.Rows.Count; i++)
|
||||||
{
|
{
|
||||||
if (list[i].ClassesInfo != null)
|
if (list[i].ClassesInfo != null)
|
||||||
dataGridView1.Rows[i].Cells["colClasses"].Value = list[i].ClassesInfo.Name;
|
dataGridView1.Rows[i].Cells["colClasses"].Value = list[i].ClassesInfo.Name;
|
||||||
if (list[i].StepInfo != null)
|
if (list[i].StepInfo != null)
|
||||||
dataGridView1.Rows[i].Cells["colStepName"].Value = list[i].StepInfo.Name;
|
dataGridView1.Rows[i].Cells["colStepName"].Value = list[i].StepInfo.Name;
|
||||||
if (list[i].ReviseStepInfo != null)
|
if (list[i].ReviseStepInfo != null)
|
||||||
dataGridView1.Rows[i].Cells["colReviseStepName"].Value = list[i].ReviseStepInfo.Name;
|
dataGridView1.Rows[i].Cells["colReviseStepName"].Value = list[i].ReviseStepInfo.Name;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void tsbtnClasses_Click(object sender, EventArgs e)
|
private void tsbtnClasses_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
FrmClassesSingle frm = new FrmClassesSingle(0, "产品类型管理");
|
FrmClassesSingle frm = new FrmClassesSingle(0, "产品类型管理");
|
||||||
if(frm.ShowDialog() == DialogResult.OK)
|
if(frm.ShowDialog() == DialogResult.OK)
|
||||||
{
|
{
|
||||||
this.initDataView();
|
this.initDataView();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void tsbtnDefectClasses_Click(object sender, EventArgs e)
|
private void tsbtnDefectClasses_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void tsbtnClone_Click(object sender, EventArgs e)
|
private void tsbtnClone_Click(object sender, EventArgs e)
|
||||||
@ -234,6 +234,8 @@ namespace ProductionControl
|
|||||||
AssistStepInfo = list[liIndex].AssistStepInfo,
|
AssistStepInfo = list[liIndex].AssistStepInfo,
|
||||||
ProductAssistProcessList = new List<ProductAssistProcess>(),
|
ProductAssistProcessList = new List<ProductAssistProcess>(),
|
||||||
|
|
||||||
|
MarkType = list[liIndex].MarkType,
|
||||||
|
MarkSize = list[liIndex].MarkSize,
|
||||||
MapPath = "",
|
MapPath = "",
|
||||||
GetPointList = "",
|
GetPointList = "",
|
||||||
//OrderList = new List<Order>(),
|
//OrderList = new List<Order>(),
|
||||||
@ -347,5 +349,5 @@ namespace ProductionControl
|
|||||||
MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -124,35 +124,35 @@
|
|||||||
<data name="tsbtnRefresh.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="tsbtnRefresh.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
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
|
||||||
rCbfSUoAAAAASUVORK5CYII=
|
KOAP8C15gnutFsIAAAAASUVORK5CYII=
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbtnAdd.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="tsbtnAdd.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHoSURBVFhH3ZfNSwJBGMaFIIgM3R2/gu5B/0OXDp26eiro
|
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHoSURBVFhH3ZdPSwJBGMaFIIgMdUbToHvQd+jSoVNXTwUd
|
||||||
UO6OfRD9S921PyCIopPQKQw6RCvujBqdoy/I5tE3NV0YdxuR+sEDvuO8z/uwustObJi4I1OMizLjt5+M
|
yt2xP0Rfqbv2AYIoOgmdwkOHaMWdUaNz9A+yefRNTRfG3UakfvCA7zjv8z6s7rITGybuqDQXssxF9ZML
|
||||||
y7YZwUuU4U1jgsnyZkY1VEYNjKmCGTRuFJWyhI22Kw/U52WT6noihCjRuCHy1Vl7U75ajn9NK8aBN2Zg
|
1bYjeMkyvGlMMFnRXNQNlVEDa6pgBo0bRacsYSNz1aH+vGJTXU+EkCUaN0S+Osu21GvK8W9oxTrwxgzM
|
||||||
Fi31yW4151XCN9sVF7RkHHhjBmbRUh8sIh3j/hUt6cm3ZzoaE3hjhrEAzJVnEJVajAdI7IomRKUW81eA
|
oqU+2e3mvE74xlx5SUvWgTdmYBYt9cEi0nHhX9OSmXx7pqMxgTdmWAvAXXUOUWnEeoDEnmxCVBqxfwWE
|
||||||
+x5EpZb/F8Dm8h6iUkvkALnDRtpyxInl+qeDivO7Z2h4HXvRQ+09Igew3cZK9yk2vtBD7T0iBwCJIy+Z
|
70FUGvl/AZhQ9xCVRiIHyB01MilHnqZc/2xQcXH3DA2vYy96qL1H5ADMbax2n2LjCz3U3iNyAJA49pLp
|
||||||
KtQW03uPuW+xgqxDg2vYg73U9oNfBQhC7X2AqNQyiQBTvg2deg2iUovxAEnutyAqtZi/Atxfg6jUYjxA
|
Qm0ps/+Y+xYvqDo0uIY92EttP/hVgCD03geISiOTCDDl29Cp1yAqjVgPkBR+C6LSiP0rIPx1iEoj1gOE
|
||||||
WCIFWDquz6nbK47vwwg96CWbDqED2EWRT3D5wra9D/VweQ8l1YNeeJBd+AApLlctV57bXFxGEXrhQXZ/
|
JVKA5ZP6nL694vg+jNCDXrLpEDoAK8p8QqgXvuN96IfLeyjpHvTCg+zCB0gLtZZy1QUT8iqK0AsPsvuj
|
||||||
9D9gktAB7KJcV7/nDXNFNZJULzzILsp/QGzglYtx7ymK0AsPstMHUImn91qOwwJum0kfTDAj8GACcGxS
|
/wGbhA7AimpD/5633JXVSNK98CC7KP8BuYlXLi68pyhCLzzIzhxAJ57eazkOC7htJn0wwYzAgwnAsUkn
|
||||||
Cad0NFNkdlpZtWmih1PMoHHBLOwLhvc608dzeMKbxhCx2BcBm5Yir7kGIwAAAABJRU5ErkJggg==
|
nNLRTLO428rqTRM9nGIGjQtm4UByvNfZPp7DE940hojFvgDhTpYe8U0OzAAAAABJRU5ErkJggg==
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbtnDel.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="tsbtnDel.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
@ -242,16 +242,16 @@
|
|||||||
<data name="tsbtnRevise.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="tsbtnRevise.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIlSURBVFhH7dTLSxtRFAbwgCAU/H+sUBBcCAqV0hIxNaWa
|
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIlSURBVFhH7dTLSxtRFAbwgCAU/H9soSC4EFy0SEvE1BQ1
|
||||||
uLKrboqLbtx00yqCVlC0UrEPJokxiVkIgiC0tggirQ0+UTE6jpnQJ4GBgdM55dxwvU5m5ibRhfSDHyS5
|
caUrN6WLbrrpRi2CVbAVRemLSWJMYhaFglDoC0FEU1+tVjE6jpmgfRAYGDidU84N1+tkZm4SXYgf/CDJ
|
||||||
53z3ruK7NulJ58GLUFofo5XqJZzOF+wuK4XWqhPZyxGtVp7wvF7omddBFq1XlnBKL1igHFRRfkIpzQil
|
Pee7dxXfpUl3Og9ehNL6GK1UL+F0vmB3WSm0Vp3IXo5otfKE5/RC95wOsmi9soRTesEC5aCK8hNKaUYo
|
||||||
cmArkYv0KlqdX4HaUPJs1G6GaspLd1IzupNnYG/fxMtp1IePCCa0vDhHx/LpSmiGBRwUrEtraPxfumbV
|
lQNbiVykR9Hq/ArUhpJHo3YzVFNeupKa0ZU8AnvbJl5Ooz58RDCh5cU5OpZPZ0IzLOCgYF1aQ+P/0zmj
|
||||||
rDhHR3J5OHdqWICJb/4pfj4nrg7QirWj9tnN0LH3PIirhgWYaOZ3Ef87cz+eVQOz6qHdGaJabwnGdsxg
|
ZsU5OpJLx+yhYQEmvv63+PmUuDpIK9aO+tBuho69535cNSzARFf/FPG/M/fiWTUwo+7anSGq9ZZgbNMM
|
||||||
7AQYZePXBfy5F1Ttns7ottkZPQbm7ZefJfFzbqjeOYHIlhmIZIGZXv/hip8vheqd0zG1aXYoR8C8Wvvu
|
xg6AUTK/z+DPvaBq97RHN8z26D4wr5d/lcTPuaF65wQi62YgkgVmeunEFT9fCtU7p21izWxT9oCZWDz2
|
||||||
Gb8nonrntE9mzPb3h8CMr+al8fsM1TundeKb6X93AMzLT7o0fp+heufce7MPvKEPOWliB6J699yd2QPm
|
jN8TUb1zWse/ma1vd4F5vpCXxu8zVO+c5hcZ0/9mB5iRL7o0fp+heufcffUTeEMfc9LEDkT17rnzcguY
|
||||||
+fKpNH6foWr34N/nneld4D1bUj0TdxFVew8+ou31DvD6F09ciTuIKuXjVzZqb09tAe/pwlFJ4iyiqvKD
|
/g+H0vh9hqrdg3+fLdM/gPdkXvVM3EVU7T34iNtT34H3+P2BK3EHUaV8/Eqm9tbkBvAevdsrSZxFVFV+
|
||||||
j2iZyADvSfrgAnEGUUXlwUc0j30F3uPEXpF4hmi1esFHNI2uA+9RbPvcd4ZWqp+bAx9vNA6vgRMavbzg
|
8BHN46vAe5DeOUOcQVRRefARTWMrwOtLbBWJZ4hWqxd8ROPoEvB6Y5unvjO0Uv1cH/x0rWF4EZzQ6PkF
|
||||||
I24NrYIdGrn84CMaBj8Dj46uLo0jS3X1L1YA0U//cx3i8/0FltEXQTLsVtkAAAAASUVORK5CYII=
|
H3FzaAHs0Mj5Bx9x4+lX4NHRxaXh2Xxd/cBnQPTTVS5DfL5/Ma4XNoG0VecAAAAASUVORK5CYII=
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbtnClose.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="tsbtnClose.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
@ -218,6 +218,7 @@
|
|||||||
this.chkSizeBmp_SavePath_AutoClear = new System.Windows.Forms.CheckBox();
|
this.chkSizeBmp_SavePath_AutoClear = new System.Windows.Forms.CheckBox();
|
||||||
this.label43 = new System.Windows.Forms.Label();
|
this.label43 = new System.Windows.Forms.Label();
|
||||||
this.tabPage9 = new System.Windows.Forms.TabPage();
|
this.tabPage9 = new System.Windows.Forms.TabPage();
|
||||||
|
this.cbOpenFlawDistribution = new System.Windows.Forms.CheckBox();
|
||||||
this.ckSkipSizeFailed = new System.Windows.Forms.CheckBox();
|
this.ckSkipSizeFailed = new System.Windows.Forms.CheckBox();
|
||||||
this.chkSkipSmallAxis = new System.Windows.Forms.CheckBox();
|
this.chkSkipSmallAxis = new System.Windows.Forms.CheckBox();
|
||||||
this.chkSkipScannerCC = new System.Windows.Forms.CheckBox();
|
this.chkSkipScannerCC = new System.Windows.Forms.CheckBox();
|
||||||
@ -237,7 +238,7 @@
|
|||||||
this.numHttpPort = new System.Windows.Forms.NumericUpDown();
|
this.numHttpPort = new System.Windows.Forms.NumericUpDown();
|
||||||
this.label49 = new System.Windows.Forms.Label();
|
this.label49 = new System.Windows.Forms.Label();
|
||||||
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
|
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
|
||||||
this.cbOpenFlawDistribution = new System.Windows.Forms.CheckBox();
|
this.cbOpenAxisXCal = new System.Windows.Forms.CheckBox();
|
||||||
this.toolStrip1.SuspendLayout();
|
this.toolStrip1.SuspendLayout();
|
||||||
this.groupBox1.SuspendLayout();
|
this.groupBox1.SuspendLayout();
|
||||||
this.panel1.SuspendLayout();
|
this.panel1.SuspendLayout();
|
||||||
@ -2727,6 +2728,7 @@
|
|||||||
//
|
//
|
||||||
// tabPage9
|
// tabPage9
|
||||||
//
|
//
|
||||||
|
this.tabPage9.Controls.Add(this.cbOpenAxisXCal);
|
||||||
this.tabPage9.Controls.Add(this.cbOpenFlawDistribution);
|
this.tabPage9.Controls.Add(this.cbOpenFlawDistribution);
|
||||||
this.tabPage9.Controls.Add(this.ckSkipSizeFailed);
|
this.tabPage9.Controls.Add(this.ckSkipSizeFailed);
|
||||||
this.tabPage9.Controls.Add(this.chkSkipSmallAxis);
|
this.tabPage9.Controls.Add(this.chkSkipSmallAxis);
|
||||||
@ -2747,6 +2749,17 @@
|
|||||||
this.tabPage9.Text = "功能过滤";
|
this.tabPage9.Text = "功能过滤";
|
||||||
this.tabPage9.UseVisualStyleBackColor = true;
|
this.tabPage9.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
|
// cbOpenFlawDistribution
|
||||||
|
//
|
||||||
|
this.cbOpenFlawDistribution.AutoSize = true;
|
||||||
|
this.cbOpenFlawDistribution.Location = new System.Drawing.Point(19, 306);
|
||||||
|
this.cbOpenFlawDistribution.Margin = new System.Windows.Forms.Padding(2);
|
||||||
|
this.cbOpenFlawDistribution.Name = "cbOpenFlawDistribution";
|
||||||
|
this.cbOpenFlawDistribution.Size = new System.Drawing.Size(96, 16);
|
||||||
|
this.cbOpenFlawDistribution.TabIndex = 12;
|
||||||
|
this.cbOpenFlawDistribution.Text = "启用缺陷分布";
|
||||||
|
this.cbOpenFlawDistribution.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
// ckSkipSizeFailed
|
// ckSkipSizeFailed
|
||||||
//
|
//
|
||||||
this.ckSkipSizeFailed.AutoSize = true;
|
this.ckSkipSizeFailed.AutoSize = true;
|
||||||
@ -2964,16 +2977,16 @@
|
|||||||
this.label49.TabIndex = 4;
|
this.label49.TabIndex = 4;
|
||||||
this.label49.Text = "本机IP:";
|
this.label49.Text = "本机IP:";
|
||||||
//
|
//
|
||||||
// cbOpenFlawDistribution
|
// cbOpenAxisXCal
|
||||||
//
|
//
|
||||||
this.cbOpenFlawDistribution.AutoSize = true;
|
this.cbOpenAxisXCal.AutoSize = true;
|
||||||
this.cbOpenFlawDistribution.Location = new System.Drawing.Point(19, 304);
|
this.cbOpenAxisXCal.Location = new System.Drawing.Point(19, 344);
|
||||||
this.cbOpenFlawDistribution.Margin = new System.Windows.Forms.Padding(2);
|
this.cbOpenAxisXCal.Margin = new System.Windows.Forms.Padding(2);
|
||||||
this.cbOpenFlawDistribution.Name = "cbOpenFlawDistribution";
|
this.cbOpenAxisXCal.Name = "cbOpenAxisXCal";
|
||||||
this.cbOpenFlawDistribution.Size = new System.Drawing.Size(96, 16);
|
this.cbOpenAxisXCal.Size = new System.Drawing.Size(90, 16);
|
||||||
this.cbOpenFlawDistribution.TabIndex = 12;
|
this.cbOpenAxisXCal.TabIndex = 13;
|
||||||
this.cbOpenFlawDistribution.Text = "启用缺陷分布";
|
this.cbOpenAxisXCal.Text = "启用X轴校准";
|
||||||
this.cbOpenFlawDistribution.UseVisualStyleBackColor = true;
|
this.cbOpenAxisXCal.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// FrmSysSetting
|
// FrmSysSetting
|
||||||
//
|
//
|
||||||
@ -3327,5 +3340,6 @@
|
|||||||
private System.Windows.Forms.NumericUpDown numOffset;
|
private System.Windows.Forms.NumericUpDown numOffset;
|
||||||
private System.Windows.Forms.Label label7;
|
private System.Windows.Forms.Label label7;
|
||||||
private System.Windows.Forms.CheckBox cbOpenFlawDistribution;
|
private System.Windows.Forms.CheckBox cbOpenFlawDistribution;
|
||||||
|
private System.Windows.Forms.CheckBox cbOpenAxisXCal;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -50,6 +50,8 @@ namespace ProductionControl
|
|||||||
|
|
||||||
this.ckSkipSizeFailed.Checked = Util.ReadIniValue(configPath, "SKIP", "MarkErrorStop") == "1";
|
this.ckSkipSizeFailed.Checked = Util.ReadIniValue(configPath, "SKIP", "MarkErrorStop") == "1";
|
||||||
this.cbOpenFlawDistribution.Checked = Util.ReadIniValue(configPath, "SKIP", "OpenFlawDistribution") == "1";
|
this.cbOpenFlawDistribution.Checked = Util.ReadIniValue(configPath, "SKIP", "OpenFlawDistribution") == "1";
|
||||||
|
this.cbOpenAxisXCal.Checked = Util.ReadIniValue(configPath, "SKIP", "OpenAxisXCalibration") == "1";
|
||||||
|
|
||||||
//DEV
|
//DEV
|
||||||
lsTmp = Util.ReadIniValue(configPath, "DEV", "Axis0_PulseOutMode");
|
lsTmp = Util.ReadIniValue(configPath, "DEV", "Axis0_PulseOutMode");
|
||||||
EnumUtil.BindToEnumName<AxisPulseOutMode>(this.cobAxis0PulseOutMode, typeof(AxisPulseOutMode), lsTmp == "" ? AxisPulseOutMode.O_CW_CCW : (AxisPulseOutMode)Convert.ToInt32(lsTmp));
|
EnumUtil.BindToEnumName<AxisPulseOutMode>(this.cobAxis0PulseOutMode, typeof(AxisPulseOutMode), lsTmp == "" ? AxisPulseOutMode.O_CW_CCW : (AxisPulseOutMode)Convert.ToInt32(lsTmp));
|
||||||
@ -268,6 +270,7 @@ namespace ProductionControl
|
|||||||
|
|
||||||
Util.WriteIniValue(configPath, "SKIP", "MarkErrorStop", this.ckSkipSizeFailed.Checked ? "1" : "0");
|
Util.WriteIniValue(configPath, "SKIP", "MarkErrorStop", this.ckSkipSizeFailed.Checked ? "1" : "0");
|
||||||
Util.WriteIniValue(configPath, "SKIP", "OpenFlawDistribution", this.cbOpenFlawDistribution.Checked ? "1" : "0");
|
Util.WriteIniValue(configPath, "SKIP", "OpenFlawDistribution", this.cbOpenFlawDistribution.Checked ? "1" : "0");
|
||||||
|
Util.WriteIniValue(configPath, "SKIP", "OpenAxisXCalibration", this.cbOpenAxisXCal.Checked ? "1" : "0");
|
||||||
//DEV
|
//DEV
|
||||||
Utils.Util.WriteIniValue(configPath, "DEV", "Axis0_PulseOutMode", ((int)EnumUtil.GetSelectedItemToEnum<AxisPulseOutMode>(this.cobAxis0PulseOutMode)).ToString());
|
Utils.Util.WriteIniValue(configPath, "DEV", "Axis0_PulseOutMode", ((int)EnumUtil.GetSelectedItemToEnum<AxisPulseOutMode>(this.cobAxis0PulseOutMode)).ToString());
|
||||||
Utils.Util.WriteIniValue(configPath, "DEV", "Axis1_PulseOutMode", ((int)EnumUtil.GetSelectedItemToEnum<AxisPulseOutMode>(this.cobAxis1PulseOutMode)).ToString());
|
Utils.Util.WriteIniValue(configPath, "DEV", "Axis1_PulseOutMode", ((int)EnumUtil.GetSelectedItemToEnum<AxisPulseOutMode>(this.cobAxis1PulseOutMode)).ToString());
|
||||||
|
@ -124,16 +124,16 @@
|
|||||||
<data name="tsbtnSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="tsbtnSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIfSURBVFhH7ZdPaxNBGMbfUBCFSsEvILa0l4K3KoptL9JE
|
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIeSURBVFhH7ZfLShxBFIaPCJKAIuQFghHdCO5MSFCzES/Z
|
||||||
es6hhLpmZ2Z33q09hH4Db6IXpR+gtUULBb+AN6lHW8GDR2/iWZEo4p93hslmp5kkO5ulEOgDPzaZmffZ
|
zyKIduyq6q7TxoXkDdyJbhQfwEswgYAv4E506QVcZJmduE4IJoRcThU1PV2ZmpmunkYQ/OGjZ6rq/P1P
|
||||||
J7PvbhI4l0MViJIlolYYLqvAk3nj56F6/QKw+A0I/FcKHB8Z55wSuNBjMjp3jXsOcbmYFjL8TJ/gBYh4
|
9emeGbiXQx0QJePEdGG4nAKeDBk/D1UqXcDiQxD4txQ4rhjnnBI4UmfSPhPGPYe4HEsLGX6hT7ALIt7z
|
||||||
zx+5CyF+0j4P8AtE0ZQ5wxBFyZ00AMcdM1pMXD5OvYQ8NKNDlA0g5EszWkxCPu96ab/AzAxQNgDDV2Y0
|
R+5AiJ+1zxu8gijqNWdooSgZTQNw3DajxcTlauol5Ccz2kLZAELum9FiEnKz5qX9AjPTRNkADD+Y0fxi
|
||||||
vxg2aeci/ZrjMyvAGv6AMLmq5/pqlACt1iWq+6trlTg+Tb06hPE7mqnoeadGCRCGl6nuG9HW77l8knpZ
|
uEA7F+nXHDesAK/xO4TJYz3XUO0EWF5+SHV/dK0Sx/XUq0oYn9BMh553qp0AYdhDdV+JG/2ey7XUy0K+
|
||||||
yC0975TVA7hvRvMpSSahuvpH1ypZTWjxWs87ZQcYsLCP9G1rmlfgdsary8CdtQOo7bxtZvzE8DrVfs14
|
0/NOWT2A781oPiVJN0y++q1rlawmtDjQ807ZAZosbCB925rmFbiV8arRdGftAGo7X5gZPzEcptrrjFcN
|
||||||
dfEIoFBN9ZE4pgfMyXBoHccPEAS/TX0vngHKZzwDBMH3QnTuiixeAZSJkPeAsSuFiONZ8jmyPP12gBpr
|
jwAK1VSXxBk9YM5bQ+s4XkAQ/DL19XgGKJ+7GSAIvhWieldk8QqgTIScAcYeFSKOB8jn2PL02wFqrHYl
|
||||||
VAlMLE/PS/CLunoTRHLTGxbfIL9a+rXcYTybsEw8A7TpEtwHvjGnG0od86LWR9EtYPK95Xn2TSjR8vTe
|
MLE8PS/BT+rqJRDJM29Y/JT8ptOv5Sp3swnLxDPADV2CeeCLg7qh1DEvan0UPQcmTy3P229CiZan9w4I
|
||||||
ASHXQYgZaOK0Pp5GjbvgD69RPf3I1Y/onAGyP0pt1HeCH66HkEYemLM5pG4dZ1GZDAoQBBdp0dveopJo
|
OQdC9MMCPtHH/1HjLvjbPqqnH7n6EZ0zQPZHqY36TvDD9RDSyI/mbA6pW8dZVCbNAgTBA1p0VF9UErOz
|
||||||
NH7SLlfN2fqoXp+gxcvUD+6/XUURuKL74lyWAP4DwL5ll9fZEiMAAAAASUVORK5CYII=
|
P2iXp8zZGqhS6aTFL6kf3H+7iiJwUvfFvSwB/AOYeWWRyPCtmgAAAABJRU5ErkJggg==
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbtnClose.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="tsbtnClose.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
@ -43,6 +43,8 @@ namespace ProductionControl
|
|||||||
Process instance = RunningInstance();
|
Process instance = RunningInstance();
|
||||||
if (instance == null)
|
if (instance == null)
|
||||||
{
|
{
|
||||||
|
Application.ThreadException += Application_ThreadException;
|
||||||
|
|
||||||
Application.EnableVisualStyles();
|
Application.EnableVisualStyles();
|
||||||
Application.SetCompatibleTextRenderingDefault(false);
|
Application.SetCompatibleTextRenderingDefault(false);
|
||||||
|
|
||||||
@ -80,5 +82,21 @@ namespace ProductionControl
|
|||||||
//没有其它的例程,返回Null
|
//没有其它的例程,返回Null
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
Exception ex = e.Exception;
|
||||||
|
using (StreamWriter sw = new StreamWriter(Directory.GetCurrentDirectory() + "\\Log.txt", true))
|
||||||
|
{
|
||||||
|
sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
||||||
|
sw.WriteLine("Global捕获到未处理异常:" + ex.GetType().ToString());
|
||||||
|
sw.WriteLine("异常信息:" + ex.Message);
|
||||||
|
sw.WriteLine("异常堆栈:" + ex.StackTrace);
|
||||||
|
sw.WriteLine();
|
||||||
|
}
|
||||||
|
MessageBox.Show(string.Format("捕获到未处理异常:{0}\r\n异常信息:{1}\r\n异常堆栈:{2}", ex.GetType(), ex.Message, ex.StackTrace));
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
|||||||
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
|
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
|
||||||
//通过使用 "*",如下所示:
|
//通过使用 "*",如下所示:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("1.2.1.0")]
|
[assembly: AssemblyVersion("1.2.3.0")]
|
||||||
[assembly: AssemblyFileVersion("1.2.1.0")]
|
[assembly: AssemblyFileVersion("1.2.3.0")]
|
||||||
|
@ -178,8 +178,8 @@ namespace ProductionControl.UI
|
|||||||
|
|
||||||
private void tsbtnDelectPos_Click(object sender, EventArgs e)
|
private void tsbtnDelectPos_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
this.imageBox1.DelectOntPoint();
|
//this.imageBox1.DelectOntPoint();
|
||||||
this.pickARoi.RemoveAt(pickARoi.Count - 1);
|
//this.pickARoi.RemoveAt(pickARoi.Count - 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,7 @@ namespace ProductionControl.UI
|
|||||||
|
|
||||||
[PropertyOrder(1), Browsable(true), Category("1 设备连接"), DisplayName("IP地址"), Description("IP地址"), ReadOnly(true), JsonIgnore]
|
[PropertyOrder(1), Browsable(true), Category("1 设备连接"), DisplayName("IP地址"), Description("IP地址"), ReadOnly(true), JsonIgnore]
|
||||||
public string IP { get;private set; }
|
public string IP { get;private set; }
|
||||||
[PropertyOrder(1), Browsable(true), Category("1 设备连接"), DisplayName("端品号"), Description("端品号"), ReadOnly(true), JsonIgnore]
|
[PropertyOrder(1), Browsable(true), Category("1 设备连接"), DisplayName("端口号"), Description("端口号"), ReadOnly(true), JsonIgnore]
|
||||||
public int Port { get; private set; }
|
public int Port { get; private set; }
|
||||||
//
|
//
|
||||||
[PropertyOrder(12), Browsable(true), Category("2 数据"), DisplayName("厚度值(um)"), Description("厚度值(um)"), ReadOnly(true), JsonIgnore]
|
[PropertyOrder(12), Browsable(true), Category("2 数据"), DisplayName("厚度值(um)"), Description("厚度值(um)"), ReadOnly(true), JsonIgnore]
|
||||||
|
@ -1,385 +1,385 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<root>
|
<root>
|
||||||
<!--
|
<!--
|
||||||
Microsoft ResX Schema
|
Microsoft ResX Schema
|
||||||
|
|
||||||
Version 2.0
|
Version 2.0
|
||||||
|
|
||||||
The primary goals of this format is to allow a simple XML format
|
The primary goals of this format is to allow a simple XML format
|
||||||
that is mostly human readable. The generation and parsing of the
|
that is mostly human readable. The generation and parsing of the
|
||||||
various data types are done through the TypeConverter classes
|
various data types are done through the TypeConverter classes
|
||||||
associated with the data types.
|
associated with the data types.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
... ado.net/XML headers & schema ...
|
... ado.net/XML headers & schema ...
|
||||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
<resheader name="version">2.0</resheader>
|
<resheader name="version">2.0</resheader>
|
||||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
<comment>This is a comment</comment>
|
<comment>This is a comment</comment>
|
||||||
</data>
|
</data>
|
||||||
|
|
||||||
There are any number of "resheader" rows that contain simple
|
There are any number of "resheader" rows that contain simple
|
||||||
name/value pairs.
|
name/value pairs.
|
||||||
|
|
||||||
Each data row contains a name, and value. The row also contains a
|
Each data row contains a name, and value. The row also contains a
|
||||||
type or mimetype. Type corresponds to a .NET class that support
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
text/value conversion through the TypeConverter architecture.
|
text/value conversion through the TypeConverter architecture.
|
||||||
Classes that don't support this are serialized and stored with the
|
Classes that don't support this are serialized and stored with the
|
||||||
mimetype set.
|
mimetype set.
|
||||||
|
|
||||||
The mimetype is used for serialized objects, and tells the
|
The mimetype is used for serialized objects, and tells the
|
||||||
ResXResourceReader how to depersist the object. This is currently not
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
extensible. For a given mimetype the value must be set accordingly:
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
that the ResXResourceWriter will generate, however the reader can
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
read any of the formats listed below.
|
read any of the formats listed below.
|
||||||
|
|
||||||
mimetype: application/x-microsoft.net.object.binary.base64
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
value : The object must be serialized with
|
value : The object must be serialized with
|
||||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
: and then encoded with base64 encoding.
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
mimetype: application/x-microsoft.net.object.soap.base64
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
value : The object must be serialized with
|
value : The object must be serialized with
|
||||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
: and then encoded with base64 encoding.
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
value : The object must be serialized into a byte array
|
value : The object must be serialized into a byte array
|
||||||
: using a System.ComponentModel.TypeConverter
|
: using a System.ComponentModel.TypeConverter
|
||||||
: and then encoded with base64 encoding.
|
: and then encoded with base64 encoding.
|
||||||
-->
|
-->
|
||||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
<xsd:element name="root" msdata:IsDataSet="true">
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
<xsd:complexType>
|
<xsd:complexType>
|
||||||
<xsd:choice maxOccurs="unbounded">
|
<xsd:choice maxOccurs="unbounded">
|
||||||
<xsd:element name="metadata">
|
<xsd:element name="metadata">
|
||||||
<xsd:complexType>
|
<xsd:complexType>
|
||||||
<xsd:sequence>
|
<xsd:sequence>
|
||||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
</xsd:sequence>
|
</xsd:sequence>
|
||||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
<xsd:attribute name="type" type="xsd:string" />
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
<xsd:attribute ref="xml:space" />
|
<xsd:attribute ref="xml:space" />
|
||||||
</xsd:complexType>
|
</xsd:complexType>
|
||||||
</xsd:element>
|
</xsd:element>
|
||||||
<xsd:element name="assembly">
|
<xsd:element name="assembly">
|
||||||
<xsd:complexType>
|
<xsd:complexType>
|
||||||
<xsd:attribute name="alias" type="xsd:string" />
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
<xsd:attribute name="name" type="xsd:string" />
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
</xsd:complexType>
|
</xsd:complexType>
|
||||||
</xsd:element>
|
</xsd:element>
|
||||||
<xsd:element name="data">
|
<xsd:element name="data">
|
||||||
<xsd:complexType>
|
<xsd:complexType>
|
||||||
<xsd:sequence>
|
<xsd:sequence>
|
||||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
</xsd:sequence>
|
</xsd:sequence>
|
||||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
<xsd:attribute ref="xml:space" />
|
<xsd:attribute ref="xml:space" />
|
||||||
</xsd:complexType>
|
</xsd:complexType>
|
||||||
</xsd:element>
|
</xsd:element>
|
||||||
<xsd:element name="resheader">
|
<xsd:element name="resheader">
|
||||||
<xsd:complexType>
|
<xsd:complexType>
|
||||||
<xsd:sequence>
|
<xsd:sequence>
|
||||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
</xsd:sequence>
|
</xsd:sequence>
|
||||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
</xsd:complexType>
|
</xsd:complexType>
|
||||||
</xsd:element>
|
</xsd:element>
|
||||||
</xsd:choice>
|
</xsd:choice>
|
||||||
</xsd:complexType>
|
</xsd:complexType>
|
||||||
</xsd:element>
|
</xsd:element>
|
||||||
</xsd:schema>
|
</xsd:schema>
|
||||||
<resheader name="resmimetype">
|
<resheader name="resmimetype">
|
||||||
<value>text/microsoft-resx</value>
|
<value>text/microsoft-resx</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<resheader name="version">
|
<resheader name="version">
|
||||||
<value>2.0</value>
|
<value>2.0</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<resheader name="reader">
|
<resheader name="reader">
|
||||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
<value>17, 17</value>
|
<value>17, 17</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
<data name="tsbtnOpenDev.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="tsbtnOpenDev.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
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
|
||||||
Q3Avr38BbOOdOnShK0wAAAAASUVORK5CYII=
|
h+BeXv8CTiWdOACz1MoAAAAASUVORK5CYII=
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tbtnSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="tbtnSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAIgSURBVFhH7Zc/SxxBGMZfCUiEiOAXCFFiI9iZYPBPI2oK
|
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIgSURBVFhH7ZdPS9xAGMZfKUiFiuAXKFXqRfBmi8U/F1EL
|
||||||
C4srRMzGnZndeTexEL+BXUiaSD5AEsUEBL+AnWhpFCxSphPrSDASEn1nmNvbyc3d7ewtguADP/ZuZt5n
|
HrzsQcSmZmaSedN6EL+Bt9JeKv0AbRVbEPwC3kSPVsFDj72J50qxUlp9Z5jNZrqzu5lsEAQf+JHdmXmf
|
||||||
n5t9d+8O7uRQB0TJODFTGC6ngSeDxs9DlUonsHgXBF6VAsc145xTAofrTNpn0rjnEJdjaSHDH/QJPoOI
|
PDt5k92FOznUAVEyTswUhstp4Mmg8fNQpdIJLN4FgVelwHHNOOeUwOE6k/aZNO45xOVYWsjwB32CzyDi
|
||||||
N/yRnyDE79rnJZ5CFPWYM7RQlIymATh+NKPFxOWb1EvIbTPaQtkAQm6Z0WIScr3mpf0CM9NE2QAMv5jR
|
DX/kJwjxu/Z5iacQRT3mDC0UJaNpAI4fzWgxcfkm9RJy24y2UDaAkFtmtJiEXK95ab/AzDRRNgDDL2Y0
|
||||||
/GK4RDsX6dcc31sB5vEXhMlDPddQ7QRYWemiun+6Vonju9SrShgf0EyHnneqnQBh2E11P4kL/Z7Lt6mX
|
vxgu0c5F+jXH91aAefwFYfJQzzVUOwFWVrqo7p+uVeL4LvWqEsYHNNOh551qJ0AYdlPdT+JCv+fybepl
|
||||||
hVzV805ZPYCbZjSfkuQBzM791bVKVhNa7Oh5p+wATRY2kL5tTfMK/JDxqtF0Z+0AajufmRk/MRyi2rOM
|
IVf1vFNWD+CmGc2nJHkAs3N/da2S1YQWO3reKTtAk4UNpG9b07wCP2S8ajTdWTuA2s5nZsZPDIeo9izj
|
||||||
Vw2PAArVVCfEN3rAHLWG1nE8hiD4Y+rr8QxQPrczQBCcF6J6V2TxCqBMhHwOjPUWIo4fk8++5em3A9RY
|
VcMjgEI11QnxjR4wR62hdRyPIQj+mPp6PAOUz+0MEATnhajeFVm8AigTIZ8DY72FiOPH5LNvefrtADVW
|
||||||
7UpgYnl6XoJL6uplEMlTb1j8hPxm0q/lKrezCcvEM8AFXYIXwF8N6IZSx7yo9VE0AkweWp4334QSLU/v
|
uxKYWJ6el+CSunoZRPLUGxY/Ib+Z9Gu5yu1swjLxDHBBl+AF8FcDuqHUMS9qfRSNAJOHlufNN6FEy9N7
|
||||||
HRByEYTohyXs08f/UeMu+OtHVE8/cvUjOmeA7I9SG/Wd4IfrIaSRX83ZHFK3jrOoTJoFCIL7tGivvqgk
|
B4RcBCH6YQn79PF/1LgL/voR1dOPXP2Izhkg+6PURn0n+OF6CGnkV3M2h9St4ywqk2YBguA+LdqrLyqJ
|
||||||
FhZ+0y5Pm7M1UKVyjxZPUD+4/3YVReCU7os7WQK4BrJrZbt+as2+AAAAAElFTkSuQmCC
|
hYXftMvT5mwNVKnco8UT1A/uv11FETil++JOlgCuAYomZbUlhJ9KAAAAAElFTkSuQmCC
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tbtnRun.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="tbtnRun.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAHnSURBVFhH7dfZK4RRGAbwzxKSklJKuVAuXCgXLlwoF8qF
|
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHnSURBVFhH7dfZK4RRGAbwzxKSklJKuVAuXCgXLlwoF8qF
|
||||||
Ev8Dg7GPfTf29d6fYd93Yx3bMDdISkqJZM8Yy8PRyPK9M987U74b3um5/j3nm3NOHel/fk6HOUnfYU5E
|
Ev8Dg7GPfTf29d6fYd93Yx3bMDdISkqJZM8Yy8PRyPK9M987U74b3um5/j3nm3NOHel/fk6HOUnfYU5E
|
||||||
+3YC2rbj0bYVh1ZTLFpMMWjejEbTRhQaNyLRsB6B+rVw1K2FQb8ailpjCGqMwaheCULVciAqlwNQseSP
|
+3YC2rbj0bYVh1ZTLFpMMWjejEbTRhQaNyLRsB6B+rVw1K2FQb8ailpjCGqMwaheCULVciAqlwNQseSP
|
||||||
8kU/lC/4omzBB6UGL72NoafTnIxfw+e9UWLwQvGcJ2zc9/nVlX/Bi2Y9UDjtLv8SquEz7ih4i439HDVx
|
8kU/lC/4omzBB6UGL72NoafTnIxfw+e9UWLwQvGcJ2zc9/nVlX/Bi2Y9UDjtLv8SquEz7ih4i439HDVx
|
||||||
3bSbvAAX372YxMe4iuumqALMlb/8+LmC509K8gLcz/6CJ1mcxfMmiALc//wZVjLO4LnjRAHuhnuCxW64
|
3bSbvAAX372YxMe4iuumqALMlb/8+LmC509K8gLcz/6CJ1mcxfMmiALc//wZVjLO4LnjRAHuhnuCxW64
|
||||||
eM4YUYCDiw33iDuH4eDZo0QBDi42nBU3ilHCs0aIAhxc7PYHXLLiCM8cJgpwcLHbLThnxx6uHSIKcHBx
|
eM4YUYCDiw33iDuH4eDZo0QBDi42nBU3ilHCs0aIAhxc7PYHXLLiCM8cJgpwcLHbLThnxx6uHSIKcHBx
|
||||||
1O5xyo49XDtIFODg4qjd4YQVR3jGAFGAg4tzfotjxSjh6VQBDi7O+Q2OHIaDp/cTBTi4uGSucWg3XDyt
|
1O5xyo49XDtIFODg4qjd4YQVR3jGAFGAg4tzfotjxSjh6VQBDi7O+Q2OHIaDp/cTBTi4uGSucWg3XDyt
|
||||||
jyjAwcUlc4UDMs7gGqoABxc33CX2ZXEW1/QSBTi4uOEusPctruCpPUQBDi6uV+NZ1xu88x5XcboAA1e6
|
jyjAwcUlc4UDMs7gGqoABxc33CX2ZXEW1/QSBTi4uOEusPctruCpPUQBDi6uV+NZ1xu88x5XcboAA1e6
|
||||||
Xrk4WUBNnCwgHg1q4SndEv1AUQMXsXH0iEeD6iv/wyNJrzzCmH5Y8iSuAAAAAElFTkSuQmCC
|
Xrk4WUBNnCwgHg1q4SndEv1AUQMXsXH0iEeD6iv/wyNJrzzCmH5Y8iSuAAAAAElFTkSuQmCC
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tbtnStop.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="tbtnStop.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
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
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="toolStripDropDownButton2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="toolStripDropDownButton2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAHZSURBVFhHxZZRTsMwDIZ3D0DiKLyPreIGHGU3GVskOAZH
|
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHZSURBVFhHxZZRTsMwDIZ3D0DiKLyPreIGHGU3GVskOAZH
|
||||||
AF54QuIg7TryJXYW2rTL1rX7JatNasd/7D/ZZkOw3Oxe5XV6kHxpqk8ZTguSF2a3vwoBTY49mvKH53xb
|
AF54QuIg7TryJXYW2rTL1rX7JatNasd/7D/ZZkOw3Oxe5XV6kHxpqk8ZTguSF2a3vwoBTY49mvKH53xb
|
||||||
/mJLs1sXpnwQ13FQvNV3ham+SLww5XexrZ5J7JN7YpCxz5WEXB5Ppr6l/M0WFOv9PRVYbKr3QMTOyefL
|
/mJLs1sXpnwQ13FQvNV3ham+SLww5XexrZ5J7JN7YpCxz5WEXB5Ppr6l/M0WFOv9PRVYbKr3QMTOyefL
|
||||||
AhKLbfUhwxaojLZmtGrMX+obeU2C3VMNR8ISkulpAQn04SsxskC7AAlth0xNDy9Qd0rGOx3HoK2Q4X8g
|
AhKLbfUhwxaojLZmtGrMX+obeU2C3VMNR8ISkulpAQn04SsxskC7AAlth0xNDy9Qd0rGOx3HoK2Q4X8g
|
||||||
ktGOjCBUISXIzg8JICbdjTvzJ5DHH5Ohh1sAAhmLBN+GOSI58VYDrTb09iZCKGG3HRUY1XO+MVkItMqS
|
ktGOjCBUISXIzg8JICbdjTvzJ5DHH5Ohh1sAAhmLBN+GOSI58VYDrTb09iZCKGG3HRUY1XO+MVkItMqS
|
||||||
AAmiZEkT104EAvGdcHUCSWEk0NV/taw2plpgJ9rCSIAg/OKkDTuugZTglZUMe0GSFImcCgLajb8MPYK6
|
AAmiZEkT104EAvGdcHUCSWEk0NV/taw2plpgJ9rCSIAg/OKkDTuugZTglZUMe0GSFImcCgLajb8MPYK6
|
||||||
LTuZ6oX4r0jqFsyMA5AnRoYH5OpgCEL/U4QPAhvvJ5MNtsofA4ccMZ6D3t0rglOGmk+BaixrcyQXlV+E
|
LTuZ6oX4r0jqFsyMA5AnRoYH5OpgCEL/U4QPAhvvJ5MNtsofA4ccMZ6D3t0rglOGmk+BaixrcyQXlV+E
|
||||||
BMm19NntJbkPGEbirORAjxmBbgE7lk/Z0HhfzTOFTSALYP4C6V9IiUsLsy+nXjQX5cnCcqOxyxXvh1IP
|
BMm19NntJbkPGEbirORAjxmBbgE7lk/Z0HhfzTOFTSALYP4C6V9IiUsLsy+nXjQX5cnCcqOxyxXvh1IP
|
||||||
3HUXPBH/T4hkMSEl5Qid1K7Z7A9DvptolGL+2gAAAABJRU5ErkJggg==
|
3HUXPBH/T4hkMSEl5Qid1K7Z7A9DvptolGL+2gAAAABJRU5ErkJggg==
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tbtnHome.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="tbtnHome.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
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
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tbtnJogOnOff.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="tbtnJogOnOff.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAHISURBVFhH7dfJLwNhGAbwsYRGJEgkEomDxMFB4uDgIHGQ
|
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHISURBVFhH7dfJLwNhGAbwsYRGJEgkEomDxMFB4uDgIHGQ
|
||||||
OEiE/4Gq2ndKUbuq/8W+L0XVrmhPEomDg4NLSSNE8DB0api387VNfRfe5LnMHH7PN8uXfML//ByLq8Rk
|
OEiE/4Gq2ndKUbuq/8W+L0XVrmhPEomDg4NLSSNE8DB0api387VNfRfe5LnMHH7PN8uXfML//ByLq8Rk
|
||||||
cRVjzFkEs7MQ5rMCjJ7mY+Q0D8MnuRhy5GDQkY2B4yz0H2Wi7ygDpsN09B6koecgFd37KTDuJaNrLwmd
|
cRVjzFkEs7MQ5rMCjJ7mY+Q0D8MnuRhy5GDQkY2B4yz0H2Wi7ygDpsN09B6koecgFd37KTDuJaNrLwmd
|
||||||
uwkw7MTDYI9Dh12DdluMycvQM+4qxa/h27Fos8WgdSsaXu77/OrKZXjLZhSarZHKJ8EN34hE03u87Nfw
|
uwkw7MTDYI9Dh12DdluMycvQM+4qxa/h27Fos8WgdSsaXu77/OrKZXjLZhSarZHKJ8EN34hE03u87Nfw
|
||||||
xButEcoCPPHGdaoAR7xhTVAW4InXrxIFeOJ1K0SBcOLiqOG1y0SBcOGvePmIGl6zRBQIB/6CJ1/U8OpF
|
xButEcoCPPHGdaoAR7xhTVAW4InXrxIFeOJ1K0SBcOLiqOG1y0SBcOGvePmIGl6zRBQIB/6CJ1/U8OpF
|
||||||
ogALf8aDX7xn5/O+PGp41QJRgLXyJ3g+8hNvt2l89+RRw/XzRAHWY3+E2xc5Lr8uhYXr54gCrHf+gJtv
|
ogALf8aDX7xn5/O+PGp41QJRgLXyJ3g+8hNvt2l89+RRw/XzRAHWY3+E2xc5Lr8uhYXr54gCrHf+gJtv
|
||||||
MdoTFdfEBIJXzhIFWB/cPa6ZCRTXUQXUcOmde3DlN8HguhmiAAuXfrU7XCoSLF4xTRQIBJe211tc+BIK
|
MdoTFdfEBIJXzhIFWB/cPa6ZCRTXUQXUcOmde3DlN8HguhmiAAuXfrU7XCoSLF4xTRQIBJe211tc+BIK
|
||||||
rqUKBIpLO5wb5yHj2imiQDA4a5Nh4eWTRAGeOF2AI04W4ImTBcRDAy+8bEKgDyg8cDFejh7x0MB95X94
|
rqUKBIpLO5wb5yHj2imiQDA4a5Nh4eWTRAGeOF2AI04W4ImTBcRDAy+8bEKgDyg8cDFejh7x0MB95X94
|
||||||
BOENt7Qt5r1VNxkAAAAASUVORK5CYII=
|
BOENt7Qt5r1VNxkAAAAASUVORK5CYII=
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tbtnLeft.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="tbtnLeft.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAHlSURBVFhH7dfZK0RRHAfwYwlJSSmlPCgPHpQHDx6UB+VB
|
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHlSURBVFhH7dfZK0RRHAfwYwlJSSmlPCgPHpQHDx6UB+VB
|
||||||
if/Bvu/7NvZl/CHe7LsxGMNgrPMiSUkpKdmzz88ZOTXO73LPPbgv/Kbv8+d77u/MrUv+h5+0fmJIHyDg
|
if/Bvu/7NvZl/CHe7LsxGMNgrPMiSUkpKdmzz88ZOTXO73LPPbgv/Kbv8+d77u/MrUv+h5+0fmJIHyDg
|
||||||
noxBmiECmTRZwzQjBLJpckZpxgjkjhPImyCQP0mgYIpA4TSBohkCxSYCJbMeUGL2gNI5TygzexreGeXh
|
noxBmiECmTRZwzQjBLJpckZpxgjkjhPImyCQP0mgYIpA4TSBohkCxSYCJbMeUGL2gNI5TygzexreGeXh
|
||||||
4R/FacrnvaBiwRveuY/zqyd3wystPlBl8cFPQjd80ReqrX74KeiJ11j9Py8gi5/D7ltMxy2qeM1SgHIB
|
4R/FacrnvaBiwRveuY/zqyd3wystPlBl8cFPQjd80ReqrX74KeiJ11j9Py8gi5/D7ltMxy2qeM1SgHIB
|
||||||
eXzvQ9Tw2uVAXEAWv4B9FDW8zhakUEACv4QDFBG83haMC2jFr+AQRRRvWAnBBbTg13CEogVvXA1VKCCI
|
eXzvQ9Tw2uVAXEAWv4B9FDW8zhakUEACv4QDFBG83haMC2jFr+AQRRRvWAnBBbTg13CEogVvXA1VKCCI
|
||||||
38Axila8aTUMFxDBb+EERQY3rIXjAmr4HZyiyOLN9giFAl/grjfcPZyhyOIt9khc4CucvV4f6L+cjwze
|
38Axila8aTUMFxDBb+EERQY3rIXjAmr4HZyiyOLN9giFAl/grjfcPZyhyOIt9khc4CucvV4f6L+cjwze
|
||||||
uh6FC6jh7PX6SO88H61420Y0LiCCs50/0evHRwvevhGDC4jibOfP9BbwEcU7NmNxAS042/kLXQAfEbxz
|
uh6FC6jh7PX6SO88H61420Y0LiCCs50/0evHRwvevhGDC4jibOfP9BbwEcU7NmNxAS042/kLXQAfEbxz
|
||||||
Kw4X0IqznTvp2fmo4V1b8biADM527uR+anj3dgIuIIuznbNZP+1Txbt3EhUKfAMX2bk73rOThAvoiRsd
|
Kw4X0IqznTvp2fmo4V1b8biADM527uR+anj3dgIuIIuznbNZP+1Txbt3EhUKfAMX2bk73rOThAvoiRsd
|
||||||
ybiA66NBL9zoSFH+QNED73Wk4tO7j+ujQfeT/+Eh5BVDb1Kg4N0zSAAAAABJRU5ErkJggg==
|
ybiA66NBL9zoSFH+QNED73Wk4tO7j+ujQfeT/+Eh5BVDb1Kg4N0zSAAAAABJRU5ErkJggg==
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tbtnRight.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="tbtnRight.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAHVSURBVFhH7dfJK0VhGAbwYwhJSSmlLJSFhbKwsFAWykKJ
|
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHVSURBVFhH7dfJK0VhGAbwYwhJSSmlLJSFhbKwsFAWykKJ
|
||||||
/8E8z/N0zeMfYmee53nmcjeSlJSSkjmzh6N7MrxvzvcdORve27P+Pd95b199yv98nVZbjKXVFo2WrSg0
|
/8E8z/N0zeMfYmee53nmcjeSlJSSkjmzh6N7MrxvzvcdORve27P+Pd95b199yv98nVZbjKXVFo2WrSg0
|
||||||
b0WieTMCTdZwNFrD0LARivr1ENStB6N2LQg1q4GoXg2AZcUfVct+qFz2RcWSD8oXvVG26IXSBU+UzHug
|
b0WieTMCTdZwNFrD0LARivr1ENStB6N2LQg1q4GoXg2AZcUfVct+qFz2RcWSD8oXvVG26IXSBU+UzHug
|
||||||
ZM4dxXNuKJpxsdgZftpssfg1fNYVhTMuKJh2hp37PL968g94/pQT8iYc6ZcwDZ90RO5r7Oz7mInnTDjQ
|
ZM4dxXNuKJpxsdgZftpssfg1fNYVhTMuKJh2hp37PL968g94/pQT8iYc6ZcwDZ90RO5r7Oz7mInnTDjQ
|
||||||
AiL42nE7tPkJnjPOFRA4+fOXn1E8e0yhBUQ++zMeSYzgWaNMAdGdP+GeRBbPHGEKyPzhHnFLIoNnDDMF
|
AiL42nE7tPkJnjPOFRA4+fOXn1E8e0yhBUQ++zMeSYzgWaNMAdGdP+GeRBbPHGEKyPzhHnFLIoNnDDMF
|
||||||
RHFt5w+4JhHF04eYAjK4tvN7XJKI4GmDTAFZXNv5Hc5I9PDUAaaAEVzb+S1OSL7DU/qZAkZxdec3OCb5
|
RHFt5w+4JhHF04eYAjK4tvN7XJKI4GmDTAFZXNv5Hc5I9PDUAaaAEVzb+S1OSL7DU/qZAkZxdec3OCb5
|
||||||
Dk/pYwoYxa9xRKKHJ/cyBYzgVzgkEcGTuAKy+CUOSETxpB6mgAx+gX0SGTyxmykgip9jj0QWT+AKiOBn
|
Dk/pYwoYxa9xRKKHJ/cyBYzgVzgkEcGTuAKy+CUOSETxpB6mgAx+gX0SGTyxmykgip9jj0QWT+AKiOBn
|
||||||
2CUxgid0MQX0cPWGO8XOpxjF4zuZAnq4er2OHda8wttv+QnOF9DBRa5XUZwtYCbOFlAfDWbhcR0K/0Ax
|
2CUxgid0MQX0cPWGO8XOpxjF4zuZAnq4er2OHda8wttv+QnOF9DBRa5XUZwtYCbOFlAfDWbhcR0K/0Ax
|
||||||
A1dj5/hRHw2mn/wPj6K8APh2UqDO6R6xAAAAAElFTkSuQmCC
|
A1dj5/hRHw2mn/wPj6K8APh2UqDO6R6xAAAAAElFTkSuQmCC
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tbtnExport.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="tbtnExport.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
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
|
||||||
AAAAAElFTkSuQmCC
|
AAAAAElFTkSuQmCC
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tbtnImport.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="tbtnImport.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
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
|
||||||
QyDwD5znNAxEqPI/AAAAAElFTkSuQmCC
|
QyDwD2y3NAccDi03AAAAAElFTkSuQmCC
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbtnScannerList.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="tsbtnScannerList.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAGZSURBVFhH7VTBccMwDPMmbdJFOko26LVeoJtkiMTXZ0fp
|
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGZSURBVFhH7VTBccMwDPMmbdJFOko26LVeoJtkiMTXZ0fp
|
||||||
KC1BkxGswI5zsfsy7nBRJIigSMnNhg1LYde1x935/XvArv18+np7Dsl6gNG+a38VsRay29ifPw7YcC+V
|
KC1BkxGswI5zsfsy7nBRJIigSMnNhg1LYde1x935/XvArv18+np7Dsl6gNG+a38VsRay29ifPw7YcC+V
|
||||||
MZO1L6f2NeyGmBNoKcIrbAuUcE2GbYESOU/tj5x/kGFbcCUyY8yjZ2sk4aaMWmB9OsZSoxLAOi5tPjMk
|
MZO1L6f2NeyGmBNoKcIrbAuUcE2GbYESOU/tj5x/kGFbcCUyY8yjZ2sk4aaMWmB9OsZSoxLAOi5tPjMk
|
||||||
6vdoZrIemKFECOhGPGfve/QmG5BQvUcx5AVKdMVoC+BGlkzOg0g4lmXVmCErUKKaeXK/F/YfhhgjGbSD
|
6vdoZrIemKFECOhGPGfve/QmG5BQvUcx5AVKdMVoC+BGlkzOg0g4lmXVmCErUKKaeXK/F/YfhhgjGbSD
|
||||||
k/C5iSSgGUCJBrRgIXWtaoOb0tpUK3wDQ4mYCOa6/mt5uaA1UAG0BmOviogFupihRMwsLcxzrODtiWpl
|
k/C5iSSgGUCJBrRgIXWtaoOb0tpUK3wDQ4mYCOa6/mt5uaA1UAG0BmOviogFupihRMwsLcxzrODtiWpl
|
||||||
qxRdzFAiZp6aT6jAFVq2AmGaJ0S/fWMFfxlm7GNLVsUCXcxQopppihPWSWCMea7Osq/AmMHDrP/qGf3U
|
qxRdzFAiZp6aT6jAFVq2AmGaJ0S/fWMFfxlm7GNLVsUCXcxQopppihPWSWCMea7Osq/AmMHDrP/qGf3U
|
||||||
tA5MnR4MWYESKSJwnhy/3mcjP8upy5cMaYESjREn5fIzshq3GPICJZpDGOadUOtjDNuCewM8yrAt+M8E
|
tA5MnR4MWYESKSJwnhy/3mcjP8upy5cMaYESjREn5fIzshq3GPICJZpDGOadUOtjDNuCewM8yrAt+M8E
|
||||||
+LJewM9oVcZHasOGHk3zB26It08saVcbAAAAAElFTkSuQmCC
|
+LJewM9oVcZHasOGHk3zB26It08saVcbAAAAAElFTkSuQmCC
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbtnStopRefresh.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="tsbtnStopRefresh.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
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
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
<value>332, 17</value>
|
<value>332, 17</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
</root>
|
</root>
|
@ -168,7 +168,7 @@ namespace ProductionControl.UI
|
|||||||
switch (propertyName)
|
switch (propertyName)
|
||||||
{
|
{
|
||||||
case "ChannelIndex":
|
case "ChannelIndex":
|
||||||
if((int)newValue <1 || (int)newValue >4)
|
if((int)newValue <1 || (int)newValue >6)
|
||||||
{
|
{
|
||||||
prop.ChannelIndex = (int)oldValue;
|
prop.ChannelIndex = (int)oldValue;
|
||||||
this.refreshUI();
|
this.refreshUI();
|
||||||
|
@ -145,7 +145,7 @@
|
|||||||
<el-table-column v-if="CustomerVer!='A'" fixed label="合格" width="80">
|
<el-table-column v-if="CustomerVer!='A'" fixed label="合格" width="80">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-tag size="small"
|
<el-tag size="small"
|
||||||
:type="scope.row.Qualified == 1 ? 'success' : 'danger'"
|
:type="scope.row.Qualified==1 ? 'success' : 'danger'"
|
||||||
disable-transitions
|
disable-transitions
|
||||||
>{{ formatQualified(scope.row) }}</el-tag>
|
>{{ formatQualified(scope.row) }}</el-tag>
|
||||||
</template>
|
</template>
|
||||||
@ -154,7 +154,7 @@
|
|||||||
<el-table-column fixed label="修复" width="80" >
|
<el-table-column fixed label="修复" width="80" >
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-tag size="small"
|
<el-tag size="small"
|
||||||
:type="scope.row.State===5?'success':scope.row.State===10?'danger':'primary'"
|
:type="scope.row.State==5?'success':scope.row.State==10?'danger':'primary'"
|
||||||
disable-transitions
|
disable-transitions
|
||||||
>{{formatRepairfied(scope.row)}}</el-tag>
|
>{{formatRepairfied(scope.row)}}</el-tag>
|
||||||
</template>
|
</template>
|
||||||
@ -774,7 +774,7 @@ const openHistoryView=(id)=>{
|
|||||||
const reCheckQualified=(pInfo,orderRow)=> {
|
const reCheckQualified=(pInfo,orderRow)=> {
|
||||||
let upperLimit, lowerLimit
|
let upperLimit, lowerLimit
|
||||||
console.log('reCheckQualified start...')
|
console.log('reCheckQualified start...')
|
||||||
orderRow.Qualified=(orderRow.CompareResult!==2)
|
orderRow.Qualified&=(orderRow.CompareResult!==2)
|
||||||
//Tension 1-5
|
//Tension 1-5
|
||||||
upperLimit = pInfo.TensionBaseValue + pInfo.TensionUpFloatValue
|
upperLimit = pInfo.TensionBaseValue + pInfo.TensionUpFloatValue
|
||||||
lowerLimit = pInfo.TensionBaseValue - pInfo.TensionDownFloatValue
|
lowerLimit = pInfo.TensionBaseValue - pInfo.TensionDownFloatValue
|
||||||
|
@ -114,6 +114,10 @@ namespace Models
|
|||||||
//抓取点位
|
//抓取点位
|
||||||
[SugarColumn(IsNullable = true)]
|
[SugarColumn(IsNullable = true)]
|
||||||
public string GetPointList { get; set; }
|
public string GetPointList { get; set; }
|
||||||
|
|
||||||
|
//2023-12-18 加入mark干扰判断,是否主栅
|
||||||
|
public int MarkDisturb { get; set; }
|
||||||
|
public int MainGrid { get; set; }
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 结束的批次才加入
|
/// 结束的批次才加入
|
||||||
|
27
更新日志.txt
Normal file
27
更新日志.txt
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
V1.2.0:
|
||||||
|
1.料号开始之前选择
|
||||||
|
2.加入图像选点功能,加入14个点位
|
||||||
|
3.加入产品修复异常
|
||||||
|
4.mark识别失败报警暂停
|
||||||
|
5.自动删除图片更新为1天以内
|
||||||
|
V1.2.1:
|
||||||
|
1.更新无法重新创建产品bug
|
||||||
|
2.移动自选点位的功能位置
|
||||||
|
3.加入mark点选择配置
|
||||||
|
4.优化日志
|
||||||
|
V1.2.2:
|
||||||
|
1.光源通道现在限制4,后期改为6
|
||||||
|
2.未选择料号防呆
|
||||||
|
3.修复图纸比对中的图像浅拷贝,造成图像被覆盖问题。
|
||||||
|
4.加入未知错误记录
|
||||||
|
5.克隆产品之后运行出现显示log日志报错,屏蔽克隆产品功能
|
||||||
|
6.修复无法删除文件夹图片问题
|
||||||
|
7.加入主栅
|
||||||
|
8.加入缺陷大图保存位置,硬盘检测
|
||||||
|
9.加入X轴补偿
|
||||||
|
10.修复图片自动删除bug
|
||||||
|
11.加入同SN删除修复台重复图片
|
||||||
|
V1.2.3:
|
||||||
|
1.修复开启比对,但比对失败当成无比对bug
|
||||||
|
2.修复查询显示的时候没有使用缺陷结果,显示结果ok等bug
|
||||||
|
3.更新上传图纸Mark点选项
|
Loading…
Reference in New Issue
Block a user