private void SetGridViewLeadMeasurementValue(CogLeadTrimResult _Result) { if (_Result == null || _Result.LeadLength == null) { return; } InitializeQuickGridView(_Result.LeadLength.Length); for (int iLoopCount = 0; iLoopCount < _Result.LeadLength.Length; ++iLoopCount) { QuickGridViewLeadSetting[1, iLoopCount].Value = _Result.LeadLength[iLoopCount].ToString("F4"); //QuickGridViewLeadSetting[3, iLoopCount].Value = _Result.LeadWidth[iLoopCount].ToString("F4"); //if (iLoopCount > 0) QuickGridViewLeadSetting[2, iLoopCount].Value = _Result.LeadPitchLength[iLoopCount - 1].ToString("F4"); if (iLoopCount < _Result.LeadLength.Length - 1) { QuickGridViewLeadSetting[2, iLoopCount].Value = _Result.LeadPitchLength[iLoopCount].ToString("F4"); } if (iLoopCount % 2 == 0) { QuickGridViewLeadSetting[1, iLoopCount].Style.BackColor = Color.DarkCyan; QuickGridViewLeadSetting[2, iLoopCount].Style.BackColor = Color.DarkCyan; //QuickGridViewLeadSetting[3, iLoopCount].Style.BackColor = Color.DarkCyan; } else { QuickGridViewLeadSetting[1, iLoopCount].Style.BackColor = Color.CadetBlue; QuickGridViewLeadSetting[2, iLoopCount].Style.BackColor = Color.CadetBlue; //QuickGridViewLeadSetting[3, iLoopCount].Style.BackColor = Color.CadetBlue; } } }
private void btnLeadLengthAreaCheck_Click(object sender, EventArgs e) { if (false == IsLeadBodyCheck) { MessageBox.Show("Check [Lead Body] first!!"); return; } CogRectangle _InspRegion = new CogRectangle(); _InspRegion.SetCenterWidthHeight(LeadMeasureArea.CenterX, LeadMeasureArea.CenterY, LeadMeasureArea.Width, LeadMeasureArea.Height); CogLeadTrimResult _CogLeadTrimResult = new CogLeadTrimResult(); var _ApplyLeadTrimValueEvent = ApplyLeadTrimValueEvent; _ApplyLeadTrimValueEvent?.Invoke(CogLeadTrimAlgo.eAlgoMode.LEAD_MEASURE, _InspRegion, CogLeadTrimAlgoRcp, ref _CogLeadTrimResult); //CogLeadTrimAlgoRcp.LeadCount = _CogLeadTrimResult.LeadCount; //LJH 2019.07.30 Lead Count를 잘 못 입력하지 않도록 수동으로 입력하게 수정 //SaveAlgo에서 확인하도록 수정 numUpDownLeadCount.Value = Convert.ToDecimal(_CogLeadTrimResult.LeadCount); if (LEAD_COUNT != _CogLeadTrimResult.LeadCount) { MessageBox.Show("Lead 수가 맞지 않습니다."); return; } SetLeadMeasurementValue(_CogLeadTrimResult); SetGridViewLeadMeasurementValue(LeadLengthArrayNew, LeadPitchArrayNew); //SetGridViewLeadMeasurementValue(_CogLeadTrimResult); }
private void btnGateRemainingAreaCheck_Click(object sender, EventArgs e) { CogRectangle _InspRegion = new CogRectangle(); _InspRegion.SetCenterWidthHeight(GateRemainingArea.CenterX, GateRemainingArea.CenterY, GateRemainingArea.Width, GateRemainingArea.Height); CogLeadTrimResult _CogLeadTrimResult = new CogLeadTrimResult(); CogLeadTrimAlgo _LeadGateAlgoDest = new CogLeadTrimAlgo(ResolutionX, ResolutionY); _LeadGateAlgoDest.GateRemainingThreshold = Convert.ToInt32(gradientLabelGateRemainingThresholdValue.Text); _LeadGateAlgoDest.GateRemainingSpec = Convert.ToDouble(numUpDownGateRemainingSpec.Value); _LeadGateAlgoDest.GateRemainingForeground = CogLeadTrimAlgoRcp.GateRemainingForeground; var _ApplyLeadTrimValueEvent = ApplyLeadTrimValueEvent; _ApplyLeadTrimValueEvent?.Invoke(CogLeadTrimAlgo.eAlgoMode.GATE_REMAIN, _InspRegion, _LeadGateAlgoDest, ref _CogLeadTrimResult); }
private void SetLeadMeasurementValue(CogLeadTrimResult _Result) { if (_Result.LeadLength != null) { LeadLengthArrayNew = new double[_Result.LeadLength.Length]; for (int iLoopCount = 0; iLoopCount < _Result.LeadLength.Length; ++iLoopCount) { LeadLengthArrayNew[iLoopCount] = _Result.LeadLength[iLoopCount]; } } if (_Result.LeadPitchLength != null) { LeadPitchArrayNew = new double[_Result.LeadPitchLength.Length]; for (int iLoopCount = 0; iLoopCount < _Result.LeadPitchLength.Length; ++iLoopCount) { LeadPitchArrayNew[iLoopCount] = _Result.LeadPitchLength[iLoopCount]; } } }
private void btnLeadTipAreaCheck_Click(object sender, EventArgs e) { CogRectangle _InspRegion = new CogRectangle(); _InspRegion.SetCenterWidthHeight(LeadTipInspArea.CenterX, LeadTipInspArea.CenterY, LeadTipInspArea.Width, LeadTipInspArea.Height); CogLeadTrimResult _CogLeadTrimResult = new CogLeadTrimResult(); CogLeadTrimAlgo _LeadTipAlgoDest = new CogLeadTrimAlgo(ResolutionX, ResolutionY); _LeadTipAlgoDest.LeadCount = CogLeadTrimAlgoRcp.LeadCount; _LeadTipAlgoDest.LeadTipEdgeWidth = Convert.ToInt32(numUpDownLeadTipEdgeWidth.Text); _LeadTipAlgoDest.LeadTipForeground = CogLeadTrimAlgoRcp.LeadTipForeground; //_LeadTipAlgoDest.LeadTipThreshold = CogLeadTrimAlgoRcp.LeadTipThreshold; _LeadTipAlgoDest.LeadTipThreshold = Convert.ToInt32(graLabelLeadTipBurrThresholdValue.Text); _LeadTipAlgoDest.LeadTipBurrThreshold = Convert.ToInt32(graLabelLeadTipBurrThresholdValue.Text); _LeadTipAlgoDest.LeadTipBurrSpec = Convert.ToDouble(numUpDownLeadTipBurrSpec.Value); var _ApplyLeadTrimValueEvent = ApplyLeadTrimValueEvent; _ApplyLeadTrimValueEvent?.Invoke(CogLeadTrimAlgo.eAlgoMode.LEADTIP_CHECK, _InspRegion, _LeadTipAlgoDest, ref _CogLeadTrimResult); }
private void btnBodyAreaCheck_Click(object sender, EventArgs e) { CogRectangle _InspRegion = new CogRectangle(); _InspRegion.SetCenterWidthHeight(BodyArea.CenterX, BodyArea.CenterY, BodyArea.Width, BodyArea.Height); CogLeadTrimResult _CogLeadTrimResult = new CogLeadTrimResult(); CogLeadTrimAlgo _LeadTrimAlgoDest = new CogLeadTrimAlgo(ResolutionX, ResolutionY); _LeadTrimAlgoDest.BodyCenterOrigin.X = CogLeadTrimAlgoRcp.BodyCenterOrigin.X; _LeadTrimAlgoDest.BodyCenterOrigin.Y = CogLeadTrimAlgoRcp.BodyCenterOrigin.Y; _LeadTrimAlgoDest.BodyMaskingAreaList = new List <RectangleD>(); //for (int iLoopCount = 0; iLoopCount < CogLeadTrimAlgoRcp.BodyMaskingAreaList.Count; ++iLoopCount) //{ // RectangleD _Area = new RectangleD(); // _Area.SetCenterWidthHeight(CogLeadTrimAlgoRcp.BodyMaskingAreaList[iLoopCount].CenterX, CogLeadTrimAlgoRcp.BodyMaskingAreaList[iLoopCount].CenterY, CogLeadTrimAlgoRcp.BodyMaskingAreaList[iLoopCount].Width, CogLeadTrimAlgoRcp.BodyMaskingAreaList[iLoopCount].Height); // _LeadTrimAlgoDest.BodyMaskingAreaList.Add(_Area); //} for (int iLoopCount = 0; iLoopCount < CogLeadTrimAlgoRcp.BodyMaskingAreaList.Count; ++iLoopCount) { RectangleD _Area = new RectangleD(); _Area.SetCenterWidthHeight(BodyMaskingAreaList[iLoopCount].CenterX, BodyMaskingAreaList[iLoopCount].CenterY, BodyMaskingAreaList[iLoopCount].Width, BodyMaskingAreaList[iLoopCount].Height); _LeadTrimAlgoDest.BodyMaskingAreaList.Add(_Area); } var _ApplyLeadTrimValueEvent = ApplyLeadTrimValueEvent; _ApplyLeadTrimValueEvent?.Invoke(CogLeadTrimAlgo.eAlgoMode.BODY_CHECK, _InspRegion, _LeadTrimAlgoDest, ref _CogLeadTrimResult); //_ApplyLeadTrimValueEvent?.Invoke(CogLeadTrimAlgo.eAlgoMode.BODY_CHECK, _InspRegion, CogLeadTrimAlgoRcp, ref _CogLeadTrimResult); BodyCenterOriginX = _CogLeadTrimResult.LeadBodyOriginX; BodyCenterOriginY = _CogLeadTrimResult.LeadBodyOriginY; BodyCenterOffsetX = _CogLeadTrimResult.LeadBodyOffsetX; BodyCenterOffsetY = _CogLeadTrimResult.LeadBodyOffsetY; IsLeadBodyCheck = true; }
private void btnShoulderAreaCheck_Click(object sender, EventArgs e) { CogRectangle _InspRegion = new CogRectangle(); _InspRegion.SetCenterWidthHeight(ShoulderInspArea.CenterX, ShoulderInspArea.CenterY, ShoulderInspArea.Width, ShoulderInspArea.Height); CogLeadTrimResult _CogLeadTrimResult = new CogLeadTrimResult(); CogLeadTrimAlgo _ShoulderAlgoDest = new CogLeadTrimAlgo(ResolutionX, ResolutionY); _ShoulderAlgoDest.LeadCount = CogLeadTrimAlgoRcp.LeadCount; _ShoulderAlgoDest.ShoulderForeground = CogLeadTrimAlgoRcp.ShoulderForeground; //_ShoulderAlgoDest.ShoulderThreshold = CogLeadTrimAlgoRcp.ShoulderThreshold; _ShoulderAlgoDest.ShoulderThreshold = Convert.ToInt32(graLabelBurrThresholdValue.Text); _ShoulderAlgoDest.LeadEdgeWidth = Convert.ToInt32(numUpDownShoulderEdgeWidth.Value); _ShoulderAlgoDest.ShoulderBurrThreshold = Convert.ToInt32(graLabelBurrThresholdValue.Text); _ShoulderAlgoDest.ShoulderNickThreshold = Convert.ToInt32(graLabelNickThresholdValue.Text); _ShoulderAlgoDest.ShoulderBurrSpec = Convert.ToDouble(numUpDownShoulderBurrSpec.Value); _ShoulderAlgoDest.ShoulderNickSpec = Convert.ToDouble(numUpDownShoulderNickSpec.Value); var _ApplyLeadTrimValueEvent = ApplyLeadTrimValueEvent; _ApplyLeadTrimValueEvent?.Invoke(CogLeadTrimAlgo.eAlgoMode.SHOULDER_CHECK, _InspRegion, _ShoulderAlgoDest, ref _CogLeadTrimResult); }
private void btnChipOutAreaCheck_Click(object sender, EventArgs e) { CogRectangle _InspRegion = new CogRectangle(); _InspRegion.SetCenterWidthHeight(ChipOutArea.CenterX, ChipOutArea.CenterY, ChipOutArea.Width, ChipOutArea.Height); CogLeadTrimResult _CogLeadTrimResult = new CogLeadTrimResult(); CogLeadTrimAlgo _LeadTrimAlgoDest = new CogLeadTrimAlgo(ResolutionX, ResolutionY); _LeadTrimAlgoDest.ChipOutThreshold = Convert.ToInt32(graLabelChipOutThresholdValue.Text); _LeadTrimAlgoDest.ChipOutBlobAreaMin = Convert.ToDouble(textBoxChipOutBlobAreaMin.Text); _LeadTrimAlgoDest.ChipOutBlobAreaMax = Convert.ToDouble(textBoxChipOutBlobAreaMax.Text); _LeadTrimAlgoDest.ChipOutWidthMin = Convert.ToDouble(textBoxChipOutWidthSizeMin.Text); _LeadTrimAlgoDest.ChipOutWidthMax = Convert.ToDouble(textBoxChipOutWidthSizeMax.Text); _LeadTrimAlgoDest.ChipOutHeightMin = Convert.ToDouble(textBoxChipOutHeightSizeMin.Text); _LeadTrimAlgoDest.ChipOutHeightMax = Convert.ToDouble(textBoxChipOutHeightSizeMax.Text); _LeadTrimAlgoDest.ChipOutSpec = Convert.ToDouble(numUpDownChipOutSpec.Value); var _ApplyLeadTrimValueEvent = ApplyLeadTrimValueEvent; _ApplyLeadTrimValueEvent?.Invoke(CogLeadTrimAlgo.eAlgoMode.CHIPOUT_CHECK, _InspRegion, _LeadTrimAlgoDest, ref _CogLeadTrimResult); //_ApplyLeadTrimValueEvent?.Invoke(CogLeadTrimAlgo.eAlgoMode.CHIPOUT_CHECK, _InspRegion, CogLeadTrimAlgoRcp, ref _CogLeadTrimResult); }