From 900ea68f6977ff36cdeeab8e94beaa72999933f9 Mon Sep 17 00:00:00 2001 From: "liu.wenjie" <783789228@qq.com> Date: Wed, 11 May 2022 08:21:47 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E6=89=80=E6=9C=89=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E4=BB=A5Job=E5=88=86=E9=9A=94=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E4=BF=9D=E5=AD=98=E5=88=B0=E6=9C=AC=E5=9C=B0=202?= =?UTF-8?q?=E3=80=81PMA=E5=B7=A5=E5=85=B7=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/VisionEdit/v14/.suo | Bin 753664 -> 748544 bytes CommonMethods/Interface/IToolInfo.cs | 8 ++- DataStruct/ConfigData.cs | 14 +++++ DataStruct/DataStruct.csproj | 1 + FindLine/FormFindLine.cs | 10 +++- HalconTool/HalconTool.cs | 5 +- PMAlignTool/FormPMAlignTool.Designer.cs | 52 ++---------------- PMAlignTool/FormPMAlignTool.cs | 3 +- PMAlignTool/PMAlign.cs | 33 ++++++++--- ToolLib.VisionJob/OperateProject.cs | 13 ++--- ToolLib.VisionJob/VisionJob.cs | 1 + VisionEdit/AppConfig.cs | 16 ------ VisionEdit/VisionEdit.csproj | 1 - VisionEdit/bin/Debug/DockPanel.config | Bin 6308 -> 5992 bytes .../bin/Debug/VisionEdit.vshost.exe.manifest | 11 ---- 15 files changed, 71 insertions(+), 97 deletions(-) create mode 100644 DataStruct/ConfigData.cs delete mode 100644 VisionEdit/AppConfig.cs delete mode 100644 VisionEdit/bin/Debug/VisionEdit.vshost.exe.manifest diff --git a/.vs/VisionEdit/v14/.suo b/.vs/VisionEdit/v14/.suo index 7a038c5be67c3d61166f425b2c2f90895410d531..ff302758a4df992013e75353ad0acdaa1557fc0f 100644 GIT binary patch delta 13434 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 diff --git a/CommonMethods/Interface/IToolInfo.cs b/CommonMethods/Interface/IToolInfo.cs index 177875b..88d8deb 100644 --- a/CommonMethods/Interface/IToolInfo.cs +++ b/CommonMethods/Interface/IToolInfo.cs @@ -29,7 +29,8 @@ namespace CommonMethods /// /// 工具窗体,由于无法对Form进行序列化,所以作为静态变量 /// - public static Form FormTool { get; set; } + [NonSerialized] + public Form FormTool = new Form(); /// /// 工具窗体名 /// @@ -54,11 +55,16 @@ namespace CommonMethods /// 工具运行结果 /// public ToolRunStatu toolRunStatu { get; set; } + /// + /// 绑定的JOB名称 + /// + public string bingingJobName { get; set; } public IToolInfo() { enable = true; toolType = ToolType.None; toolName = string.Empty; + bingingJobName = string.Empty; tool = new object(); toolInput = new List(); toolOutput = new List(); diff --git a/DataStruct/ConfigData.cs b/DataStruct/ConfigData.cs new file mode 100644 index 0000000..2763334 --- /dev/null +++ b/DataStruct/ConfigData.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DataStruct +{ + [Serializable] + public class ConfigData + { + public static string ConfigPath { get; set; } = @"D:\VisionSystem\"; + } +} diff --git a/DataStruct/DataStruct.csproj b/DataStruct/DataStruct.csproj index f959560..7624323 100644 --- a/DataStruct/DataStruct.csproj +++ b/DataStruct/DataStruct.csproj @@ -44,6 +44,7 @@ + diff --git a/FindLine/FormFindLine.cs b/FindLine/FormFindLine.cs index 6f01142..1d0b1be 100644 --- a/FindLine/FormFindLine.cs +++ b/FindLine/FormFindLine.cs @@ -87,8 +87,14 @@ namespace FindLineTool chBDispRec.Checked = myFindLine.dispRec; chBDispCross.Checked = myFindLine.dispCross; //// 将要编辑的线显示 - selected_drawing_object = myFindLine.inputPoseHomMat2D.Length != 0? HDrawingObject.CreateDrawingObject(HDrawingObject.HDrawingObjectType.LINE, new HTuple[] { myFindLine.newExpectLineStartRow, myFindLine.newExpectLineStartCol, myFindLine.newExpectLineEndRow, myFindLine.newExpectLineEndCol }) - :HDrawingObject.CreateDrawingObject(HDrawingObject.HDrawingObjectType.LINE, new HTuple[] {myFindLine.modelStartRow, myFindLine.modelStartCol, myFindLine.modelEndRow, myFindLine.modelEndCol }); + if(myFindLine.inputPoseHomMat2D.Type != HTupleType.EMPTY) + { + selected_drawing_object = HDrawingObject.CreateDrawingObject(HDrawingObject.HDrawingObjectType.LINE, new HTuple[] { myFindLine.newExpectLineStartRow, myFindLine.newExpectLineStartCol, myFindLine.newExpectLineEndRow, myFindLine.newExpectLineEndCol }); + } + else + { + selected_drawing_object = HDrawingObject.CreateDrawingObject(HDrawingObject.HDrawingObjectType.LINE, new HTuple[] { myFindLine.modelStartRow, myFindLine.modelStartCol, myFindLine.modelEndRow, myFindLine.modelEndCol }); + } GC.KeepAlive(selected_drawing_object); selected_drawing_object.OnSelect(OnSelectDrawingObject); selected_drawing_object.OnAttach(OnSelectDrawingObject); diff --git a/HalconTool/HalconTool.cs b/HalconTool/HalconTool.cs index 8dbc7e1..56db98b 100644 --- a/HalconTool/HalconTool.cs +++ b/HalconTool/HalconTool.cs @@ -76,7 +76,8 @@ namespace HalconTool /// /// 输出图像 /// - public HObject outputImage = null; + [NonSerialized] + public HObject outputImage = new HObject(); /// /// 输出图像的路径 /// @@ -98,7 +99,7 @@ namespace HalconTool } else { - if (currentImageIndex <= L_imageFile.Count) + if (currentImageIndex <= L_imageFile.Count && L_imageFile.Count != 0) { currentImageIndex = currentImageIndex == L_imageFile.Count ? 0 : currentImageIndex; outputImageFilePath = L_imageFile[currentImageIndex]; diff --git a/PMAlignTool/FormPMAlignTool.Designer.cs b/PMAlignTool/FormPMAlignTool.Designer.cs index 87ecad1..5c6536d 100644 --- a/PMAlignTool/FormPMAlignTool.Designer.cs +++ b/PMAlignTool/FormPMAlignTool.Designer.cs @@ -29,10 +29,6 @@ namespace PMAlignTool private void InitializeComponent() { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormPMAlignTool)); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); this.statusStrip = new System.Windows.Forms.StatusStrip(); this.lb_RunStatus = new System.Windows.Forms.ToolStripStatusLabel(); this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel(); @@ -123,7 +119,7 @@ namespace PMAlignTool this.ckb_showFeature = new System.Windows.Forms.CheckBox(); this.ckb_showCross = new System.Windows.Forms.CheckBox(); this.tabPage3 = new System.Windows.Forms.TabPage(); - this.dgv_matchResult = new Sunny.UI.UIDataGridView(); + this.dgv_matchResult = new System.Windows.Forms.DataGridView(); this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column3 = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -1550,21 +1546,7 @@ namespace PMAlignTool // // dgv_matchResult // - dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(243)))), ((int)(((byte)(255))))); - this.dgv_matchResult.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1; - this.dgv_matchResult.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells; - this.dgv_matchResult.BackgroundColor = System.Drawing.Color.White; - this.dgv_matchResult.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single; - dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; - dataGridViewCellStyle2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255))))); - dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle2.ForeColor = System.Drawing.Color.White; - dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText; - dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.dgv_matchResult.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2; - this.dgv_matchResult.ColumnHeadersHeight = 32; - this.dgv_matchResult.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing; + this.dgv_matchResult.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.dgv_matchResult.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.Column1, this.Column2, @@ -1572,62 +1554,36 @@ namespace PMAlignTool this.Column4, this.Column5}); this.dgv_matchResult.Dock = System.Windows.Forms.DockStyle.Fill; - this.dgv_matchResult.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnEnter; - this.dgv_matchResult.EnableHeadersVisualStyles = false; - this.dgv_matchResult.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.dgv_matchResult.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255))))); this.dgv_matchResult.Location = new System.Drawing.Point(0, 0); this.dgv_matchResult.Name = "dgv_matchResult"; - dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(243)))), ((int)(((byte)(255))))); - dataGridViewCellStyle3.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(48)))), ((int)(((byte)(48))))); - dataGridViewCellStyle3.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255))))); - dataGridViewCellStyle3.SelectionForeColor = System.Drawing.Color.White; - dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.dgv_matchResult.RowHeadersDefaultCellStyle = dataGridViewCellStyle3; - this.dgv_matchResult.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.AutoSizeToFirstHeader; - dataGridViewCellStyle4.BackColor = System.Drawing.Color.White; - this.dgv_matchResult.RowsDefaultCellStyle = dataGridViewCellStyle4; this.dgv_matchResult.RowTemplate.Height = 23; - this.dgv_matchResult.SelectedIndex = -1; - this.dgv_matchResult.ShowGridLine = true; this.dgv_matchResult.Size = new System.Drawing.Size(392, 568); this.dgv_matchResult.TabIndex = 0; // // Column1 // - this.Column1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.ColumnHeader; - this.Column1.HeaderText = "编号"; + this.Column1.HeaderText = "序号"; this.Column1.Name = "Column1"; - this.Column1.Width = 66; // // Column2 // - this.Column2.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.Column2.HeaderText = "分值"; this.Column2.Name = "Column2"; // // Column3 // - this.Column3.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.ColumnHeader; this.Column3.HeaderText = "行"; this.Column3.Name = "Column3"; - this.Column3.Width = 50; // // Column4 // - this.Column4.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.ColumnHeader; this.Column4.HeaderText = "列"; this.Column4.Name = "Column4"; - this.Column4.Width = 50; // // Column5 // - this.Column5.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.ColumnHeader; this.Column5.HeaderText = "角度"; this.Column5.Name = "Column5"; - this.Column5.Width = 66; // // FormPMAlignTool // @@ -1788,6 +1744,6 @@ namespace PMAlignTool private System.Windows.Forms.DataGridViewTextBoxColumn Column3; private System.Windows.Forms.DataGridViewTextBoxColumn Column4; private System.Windows.Forms.DataGridViewTextBoxColumn Column5; - public Sunny.UI.UIDataGridView dgv_matchResult; + public System.Windows.Forms.DataGridView dgv_matchResult; } } \ No newline at end of file diff --git a/PMAlignTool/FormPMAlignTool.cs b/PMAlignTool/FormPMAlignTool.cs index 198c79d..d72cc2d 100644 --- a/PMAlignTool/FormPMAlignTool.cs +++ b/PMAlignTool/FormPMAlignTool.cs @@ -33,7 +33,8 @@ namespace PMAlignTool { myToolInfo = (IToolInfo)pmalign; myPMAlign = (PMAlign)myToolInfo.tool; - myPMAlign.toolName = myToolInfo.FormToolName; + myPMAlign.toolName = myToolInfo.toolName; + myPMAlign.bingdingJobName = myToolInfo.bingingJobName; myPMAlign.DispImage(); } } diff --git a/PMAlignTool/PMAlign.cs b/PMAlignTool/PMAlign.cs index e8c81d2..bdb065a 100644 --- a/PMAlignTool/PMAlign.cs +++ b/PMAlignTool/PMAlign.cs @@ -25,12 +25,20 @@ using Logger; using System.Diagnostics; using System.IO; using ViewROI; +using DataStruct; namespace PMAlignTool { [Serializable] public class PMAlign : IToolBase { + /// + /// 绑定job名称 + /// + public string bingdingJobName { get; set; } + /// + /// 工具名称 + /// public string toolName { get; set; } = string.Empty; /// /// 输入姿态 @@ -115,12 +123,14 @@ namespace PMAlignTool /// /// 训练时所使用的模板图像,不点击获取图像时,不进行更新 /// - public HObject oldTrainImage { get; set; } + [NonSerialized] + public HObject oldTrainImage; public bool isCreateModel { get; set; } internal string pmaModelName { get; set; } = Guid.NewGuid().ToString(); /// /// 剪出的模板图像 /// + [NonSerialized] public HObject modelPartImage = new HObject(); /// /// 模板位置和实际位置的姿态差异 @@ -163,7 +173,8 @@ namespace PMAlignTool public bool isAutoConstants { get; set; } public string modelFilePath { get; set; } public RegionType searchRegionType { get; set; } - public HObject SearchRegion { get; set; } + [NonSerialized] + public HObject SearchRegion; public override void Run(SoftwareRunState softwareState) { Stopwatch sw = new Stopwatch(); @@ -195,7 +206,6 @@ namespace PMAlignTool //对预期线的找模板区域做放射变换 } - // UpdateParamsFromUI(); // 操作前先将UI中参数写入类 HObject findModelImg = ProcessImage(inputImage); int ret = FindModelTemplate(findModelImg); UpdateResultDataGridview(); @@ -220,10 +230,16 @@ namespace PMAlignTool public void UpdateResultDataGridview() { FormPMAlignTool.Instance.dgv_matchResult.Rows.Clear(); + //FormPMAlignTool.Instance.dgv_matchResult.Columns.Clear(); + //FormPMAlignTool.Instance.dgv_matchResult.Columns.Add("num", "序号"); + //FormPMAlignTool.Instance.dgv_matchResult.Columns.Add("Socre", "分值"); + //FormPMAlignTool.Instance.dgv_matchResult.Columns.Add("Row", "行"); + //FormPMAlignTool.Instance.dgv_matchResult.Columns.Add("Col", "列"); + //FormPMAlignTool.Instance.dgv_matchResult.Columns.Add("Angle", "角度"); int count = 0; foreach (var item in L_resultList) { - FormPMAlignTool.Instance.dgv_matchResult.AddRow(++count, item.Socre, item.Row, item.Col, item.Angle); + FormPMAlignTool.Instance.dgv_matchResult.Rows.Add(++count, item.Socre, item.Row, item.Col, item.Angle); } } @@ -355,8 +371,9 @@ namespace PMAlignTool out scores); } isCreateModel = true; - HOperatorSet.WriteRegion(templateRegion, FormPMAlignTool.Instance.myToolInfo.FormToolName + ".hobj"); - HOperatorSet.WriteShapeModel(modelID, pmaModelName + ".ShapeModel"); + // 模板句柄信息 + Directory.CreateDirectory(ConfigData.ConfigPath + $"\\{bingdingJobName}\\"); + HOperatorSet.WriteShapeModel(modelID, ConfigData.ConfigPath + $"\\{bingdingJobName}\\{toolName}_{pmaModelName}.Shm"); if (scores != null && scores.Type != HTupleType.EMPTY) { @@ -380,12 +397,12 @@ namespace PMAlignTool public int FindModelTemplate(HObject findModelImage) { - if (!File.Exists(pmaModelName + ".ShapeModel")) + if (!File.Exists(ConfigData.ConfigPath + $"\\{bingdingJobName}\\{toolName}_{pmaModelName}.Shm")) { LoggerClass.WriteLog($"{toolName}未创建或加载模板", MsgLevel.Exception); return -1; } - HOperatorSet.ReadShapeModel(pmaModelName + ".ShapeModel", out modelID); + HOperatorSet.ReadShapeModel(ConfigData.ConfigPath + $"\\{bingdingJobName}\\{toolName}_{pmaModelName}.Shm", out modelID); HObject image; if (searchRegionType == RegionType.AllImage) { diff --git a/ToolLib.VisionJob/OperateProject.cs b/ToolLib.VisionJob/OperateProject.cs index 5767d5d..bc197ee 100644 --- a/ToolLib.VisionJob/OperateProject.cs +++ b/ToolLib.VisionJob/OperateProject.cs @@ -64,7 +64,6 @@ namespace ToolLib.VisionJob { VisionJobParams.pVisionProject.Project.Add(jobName, new VisionJob(jobName)); FormJobManage.Instance.tabJobUnion.SelectedTab = newTab; - // newTab.Select(); } InitJob(VisionJobParams.pVisionProject.Project[jobName]); } @@ -219,12 +218,12 @@ namespace ToolLib.VisionJob string AssemblyName = VisionJobParams.pVisionProject.Project[jobName].L_toolList[i].FormToolName.Split('.')[0]; string className = VisionJobParams.pVisionProject.Project[jobName].L_toolList[i].FormToolName; toolClass = VisionJobParams.pVisionProject.Project[jobName].L_toolList[i]; - IToolInfo.FormTool = (Form)Assembly.Load(AssemblyName).CreateInstance(className, false, BindingFlags.Default, null, new object[] { toolClass }, null, null); - IToolInfo.FormTool.ShowDialog(); - //VisionJobParams.myProject[jobName].L_toolList[i].SetFormTool(IToolInfo.FormTool); - //VisionJobParams.myProject[jobName].L_toolList[i].GetFormTool().ShowDialog(); - //VisionJobParams.myProject[jobName].L_toolList[i].FormTool = (Form)Assembly.Load(AssemblyName).CreateInstance(className, false, BindingFlags.Default, null, new object[] { toolClass }, null, null); - //VisionJobParams.myProject[jobName].L_toolList[i].FormTool.ShowDialog(); + VisionJobParams.pVisionProject.Project[jobName].L_toolList[i].bingingJobName = jobName; + //IToolInfo.FormTool = (Form)Assembly.Load(AssemblyName).CreateInstance(className, false, BindingFlags.Default, null, new object[] { toolClass }, null, null); + //IToolInfo.FormTool.ShowDialog(); + VisionJobParams.pVisionProject.Project[jobName].L_toolList[i].FormTool = (Form)Assembly.Load(AssemblyName).CreateInstance(className, false, BindingFlags.Default, null, new object[] { toolClass }, null, null); + VisionJobParams.pVisionProject.Project[jobName].L_toolList[i].FormTool.Show(); + } } } diff --git a/ToolLib.VisionJob/VisionJob.cs b/ToolLib.VisionJob/VisionJob.cs index 92d8467..b304da0 100644 --- a/ToolLib.VisionJob/VisionJob.cs +++ b/ToolLib.VisionJob/VisionJob.cs @@ -904,6 +904,7 @@ namespace ToolLib.VisionJob } [NonSerialized] public FormImageWindow myHalconWindow = new FormImageWindow(); + public string JobDirectoryPath { get; set; } = @"D:\VisionSystem\"; } } diff --git a/VisionEdit/AppConfig.cs b/VisionEdit/AppConfig.cs deleted file mode 100644 index 907305c..0000000 --- a/VisionEdit/AppConfig.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using WeifenLuo.WinFormsUI.Docking; - -namespace VisionEdit -{ - public class AppConfig - { - public static DockState leftForm = DockState.DockLeft; // 功能窗体,左端停靠 - public static DockState rightForm = DockState.DockRight; // 功能窗体,右端停靠 - public static DockState docForm = DockState.Document; // 功能窗体,中间停靠 - } -} diff --git a/VisionEdit/VisionEdit.csproj b/VisionEdit/VisionEdit.csproj index 5b6b33e..3c660c2 100644 --- a/VisionEdit/VisionEdit.csproj +++ b/VisionEdit/VisionEdit.csproj @@ -59,7 +59,6 @@ - Form diff --git a/VisionEdit/bin/Debug/DockPanel.config b/VisionEdit/bin/Debug/DockPanel.config index 7de7575daf900b3d9661e81dbf8a166e07d8e59a..0ab00456aabe10b3bfac372d380efae9579765fa 100644 GIT binary patch delta 52 zcmV-40L%ZRG3YL^ssfXi77mlR0wMu4v)cmM1Cu5S9<#y+ss)ok6&#b`2`rPe4H}c| K2spD+4pIsc)Drms delta 78 zcmV-U0I~n*E~GKAssfYd6%LcQ0wR;{1{AaI0>%TAAQA+V>;f7AG?NDdBeMnub_SDj k4;GWK2Qrhy3>uTL2Oa@2ld%jFlRgdxlU52$vlb0f3RvVBWB>pF diff --git a/VisionEdit/bin/Debug/VisionEdit.vshost.exe.manifest b/VisionEdit/bin/Debug/VisionEdit.vshost.exe.manifest deleted file mode 100644 index 061c9ca..0000000 --- a/VisionEdit/bin/Debug/VisionEdit.vshost.exe.manifest +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - -