From d955f446a91a4377e1a87a74141542ee35508930 Mon Sep 17 00:00:00 2001 From: xcd <834800634@qq.com> Date: 星期四, 16 七月 2020 09:34:23 +0800 Subject: [PATCH] 添加平面补偿值 修改Excel输出细节 --- src/Bro.M071.Process/M071Process.cs | 80 ++++++++++++++++++++++++--------------- 1 files changed, 49 insertions(+), 31 deletions(-) diff --git a/src/Bro.M071.Process/M071Process.cs b/src/Bro.M071.Process/M071Process.cs index cf6b12d..4c1512c 100644 --- a/src/Bro.M071.Process/M071Process.cs +++ b/src/Bro.M071.Process/M071Process.cs @@ -272,7 +272,7 @@ return; } - RunImageHandle(camera, s.CameraOp.OpConfig, set, s.Id, s.Name, pMeasure.Measurements); + RunImageHandle(s.CameraOp.OpConfig, set, s.Id, s.Name, pMeasure.Measurements); }); BarCode = ""; @@ -758,8 +758,12 @@ { int slantStartCol = slantSheet.Dimension.Columns; - var barcodeCell = slantSheet.Cells[1, slantStartCol + 1, 1, slantStartCol + 2]; - barcodeCell.Merge = true; + //var barcodeCell = slantSheet.Cells[1, slantStartCol + 1, 1, slantStartCol + 2]; + //barcodeCell.Merge = true; + //barcodeCell.Value = exportData.ProductionMeasurementRecord.ProductionBarcode; + //SetTitleCell(barcodeCell); + + var barcodeCell = slantSheet.Cells[1, slantStartCol + 1]; barcodeCell.Value = exportData.ProductionMeasurementRecord.ProductionBarcode; SetTitleCell(barcodeCell); @@ -767,9 +771,9 @@ valueCell.Value = "Value"; SetTitleCell(valueCell); - var resultCell = slantSheet.Cells[2, slantStartCol + 2]; - resultCell.Value = "Result"; - SetTitleCell(resultCell); + //var resultCell = slantSheet.Cells[2, slantStartCol + 2]; + //resultCell.Value = "Result"; + //SetTitleCell(resultCell); slantMeasures.ForEach(m => { @@ -781,15 +785,15 @@ } var cellValue = slantSheet.Cells[rowIndex + 1 + 2, slantStartCol + 1]; - var cellResult = slantSheet.Cells[rowIndex + 1 + 2, slantStartCol + 2]; + //var cellResult = slantSheet.Cells[rowIndex + 1 + 2, slantStartCol + 2]; cellValue.Value = m.MeasurementValue; - cellResult.Value = m.MeasurementResult; + //cellResult.Value = m.MeasurementResult; if (m.MeasurementResult != "OK") { SetNGCell(cellValue); - SetNGCell(cellResult); + //SetNGCell(cellResult); } }); } @@ -812,8 +816,12 @@ keysList.Add($"{keys}_{position}"); } - var barcodeCell = alignmentSheet.Cells[1, aligneStartCol + 1, 1, aligneStartCol + 2]; - barcodeCell.Merge = true; + //var barcodeCell = alignmentSheet.Cells[1, aligneStartCol + 1, 1, aligneStartCol + 2]; + //barcodeCell.Merge = true; + //barcodeCell.Value = exportData.ProductionMeasurementRecord.ProductionBarcode; + //SetTitleCell(barcodeCell); + + var barcodeCell = alignmentSheet.Cells[1, aligneStartCol + 1]; barcodeCell.Value = exportData.ProductionMeasurementRecord.ProductionBarcode; SetTitleCell(barcodeCell); @@ -821,9 +829,9 @@ valueCell.Value = "Value"; SetTitleCell(valueCell); - var resultCell = alignmentSheet.Cells[2, aligneStartCol + 2]; - resultCell.Value = "Result"; - SetTitleCell(resultCell); + //var resultCell = alignmentSheet.Cells[2, aligneStartCol + 2]; + //resultCell.Value = "Result"; + //SetTitleCell(resultCell); alignmentMeasures.ForEach(a => { @@ -835,15 +843,15 @@ } var cellValue = alignmentSheet.Cells[rowIndex + 1 + 2, aligneStartCol + 1]; - var cellResult = alignmentSheet.Cells[rowIndex + 1 + 2, aligneStartCol + 2]; + //var cellResult = alignmentSheet.Cells[rowIndex + 1 + 2, aligneStartCol + 2]; cellValue.Value = a.MeasurementValue; - cellResult.Value = a.MeasurementResult; + //cellResult.Value = a.MeasurementResult; if (a.MeasurementResult != "OK") { SetNGCell(cellValue); - SetNGCell(cellResult); + //SetNGCell(cellResult); } }); } @@ -867,8 +875,12 @@ keysList.Add($"{keys}_{position}"); } - var barcodeCell = rowAlignmentSheet.Cells[1, aligneStartCol + 1, 1, aligneStartCol + 2]; - barcodeCell.Merge = true; + //var barcodeCell = rowAlignmentSheet.Cells[1, aligneStartCol + 1, 1, aligneStartCol + 2]; + //barcodeCell.Merge = true; + //barcodeCell.Value = exportData.ProductionMeasurementRecord.ProductionBarcode; + //SetTitleCell(barcodeCell); + + var barcodeCell = rowAlignmentSheet.Cells[1, aligneStartCol + 1]; barcodeCell.Value = exportData.ProductionMeasurementRecord.ProductionBarcode; SetTitleCell(barcodeCell); @@ -876,9 +888,9 @@ valueCell.Value = "Value"; SetTitleCell(valueCell); - var resultCell = rowAlignmentSheet.Cells[2, aligneStartCol + 2]; - resultCell.Value = "Result"; - SetTitleCell(resultCell); + //var resultCell = rowAlignmentSheet.Cells[2, aligneStartCol + 2]; + //resultCell.Value = "Result"; + //SetTitleCell(resultCell); rowAlignmentMeasures.ForEach(a => { @@ -890,15 +902,15 @@ } var cellValue = rowAlignmentSheet.Cells[rowIndex + 1 + 2, aligneStartCol + 1]; - var cellResult = rowAlignmentSheet.Cells[rowIndex + 1 + 2, aligneStartCol + 2]; + //var cellResult = rowAlignmentSheet.Cells[rowIndex + 1 + 2, aligneStartCol + 2]; cellValue.Value = a.MeasurementValue; - cellResult.Value = a.MeasurementResult; + //cellResult.Value = a.MeasurementResult; if (a.MeasurementResult != "OK") { SetNGCell(cellValue); - SetNGCell(cellResult); + //SetNGCell(cellResult); } }); } @@ -913,10 +925,10 @@ private void SetNGCell(ExcelRange cell) { - cell.Style.Font.Color.SetColor(Color.White); + cell.Style.Font.Color.SetColor(Color.Red); cell.Style.Font.Bold = true; - cell.Style.Fill.PatternType = ExcelFillStyle.Solid; - cell.Style.Fill.BackgroundColor.SetColor(Color.Red); + //cell.Style.Fill.PatternType = ExcelFillStyle.Solid; + //cell.Style.Fill.BackgroundColor.SetColor(Color.Red); } private void SetTitleCell(ExcelRange cell, bool isCenterAlign = true) @@ -1027,7 +1039,7 @@ } #endregion - private async void RunImageHandle(CameraBase camera, IOperationConfig opConfig, IImageSet imgSet, string snapshotId, string snapshotName, List<MeasurementUnit> measureList) + private async void RunImageHandle(IOperationConfig opConfig, IImageSet imgSet, string snapshotId, string snapshotName, List<MeasurementUnit> measureList) { await Task.Run(() => { @@ -1095,7 +1107,10 @@ HOperatorSet.SelectObj(images, out HObject image, i); string fileName = Path.Combine(dir, $"{i}.tif"); - image.ConvertHObjectToHImage().WriteImage("tiff", 0, fileName); + using (HImage temp = image.ConvertHObjectToHImage()) + { + temp.WriteImage("tiff", 0, fileName); + } keys.Where(u => u.ImageSeq == i).ToList().ForEach(k => { @@ -1113,6 +1128,7 @@ _halconToolDict[keyToolKey].InputImageDic["INPUT_Image"] = image; _halconToolDict[keyToolKey].InputTupleDic["INPUT_Resolution_X"] = scanParam.Resolution_X / 1000000.0; _halconToolDict[keyToolKey].InputTupleDic["INPUT_Resolution_Z"] = scanParam.Resolution_Z / 1000000.0; + _halconToolDict[keyToolKey].InputTupleDic["INPUT_ImageId"] = $"{k.AliasName}_{DateTime.Now.ToString("HHmmssfff")}.tif"; if (!_halconToolDict[keyToolKey].RunProcedure(out string error)) { LogAsync(DateTime.Now, $"{k.AliasName}妫�娴嬬畻娉曞紓甯革紝{error}", ""); @@ -1128,6 +1144,8 @@ { //results = results.Select(u => double.Parse(u.ToString("f2"))).ToList(); LogAsync(DateTime.Now, $"{k.AliasName}鍘熷鏁版嵁", $"{string.Join(" ", results)}"); + + results.ForEach(u => u = u - Config.PlanCompensation); resultDict = k.KeyResultList.ToDictionary(u => u, u => { int index = k.KeyResultList.IndexOf(u); @@ -1144,7 +1162,7 @@ }); }); - //image.Dispose(); + image.Dispose(); } //); -- Gitblit v1.8.0