From 0bc51843405b703c9fbabc81365625f393ff7d86 Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期日, 10 八月 2025 14:27:19 +0800
Subject: [PATCH] 1. 添加Rip Thickness报警

---
 EdgeInspector_App/Process/InspectCamera.cpp |   29 +++++++++++++++++++----------
 1 files changed, 19 insertions(+), 10 deletions(-)

diff --git a/EdgeInspector_App/Process/InspectCamera.cpp b/EdgeInspector_App/Process/InspectCamera.cpp
index dda71b4..b7b32b7 100644
--- a/EdgeInspector_App/Process/InspectCamera.cpp
+++ b/EdgeInspector_App/Process/InspectCamera.cpp
@@ -3826,7 +3826,7 @@
 			defectInfo.m_nSideIdx = (int)emDim;
 			defectInfo.m_ptDefectPos_pxl = rtRotateArea.CenterPoint();
 			defectInfo.m_rtDefectPos_pxl = rtRotateArea;
-			defectInfo.m_DefectLoc = DefectLoc_Notch_Crack;
+			defectInfo.m_DefectLoc = DefectLoc_Notch_NoGrind;
 			m_pDefectControl->ExtractDefect(emDim, m_iCamera, stFrame.nScanIdx, defectInfo);
 
 			cvReleaseImageHeader(&pOriginImage);
@@ -4127,13 +4127,13 @@
 {
 	if (m_pRecipe == NULL || m_pGlassData == NULL)
 		return FALSE;
-
+	int NotchFlag = 0;
 	for (int nMeasureIdx = 0; nMeasureIdx < MAX_SIDE_NOTCH_MEASURE_COUNT; nMeasureIdx++)
 	{
 		CPoint ptRef_pxl = m_pGlassData->GetSideData(emDim)->m_ptNotch_Reference[nNotchIdx][nMeasureIdx];
 		CPoint ptDim_pxl = m_pGlassData->GetSideData(emDim)->m_ptNotch_Dimension_Edge[nNotchIdx][nMeasureIdx];
-
-		if (ptRef_pxl.x < 0 || ptRef_pxl.y < 0) {
+		
+	/*	if (ptRef_pxl.x < 0 || ptRef_pxl.y < 0) {
 			g_pLog->DisplayMessage(_T("[ERROR] Invalid Ref Point at Notch_Process_Calculate, NotchIdx: %d, MeasureIdx: %d, Point: (%d, %d)"), nNotchIdx, nMeasureIdx, ptRef_pxl.x, ptRef_pxl.y);
 			continue;
 		}
@@ -4141,7 +4141,7 @@
 		if (ptDim_pxl.x < 0 || ptDim_pxl.y < 0) {
 			g_pLog->DisplayMessage(_T("[ERROR] Invalid Dim Point at Notch_Process_Calculate, NotchIdx: %d, MeasureIdx: %d, Point: (%d, %d)"), nNotchIdx, nMeasureIdx, ptDim_pxl.x, ptDim_pxl.y);
 			continue;
-		}
+		}*/
 
 		// Dimension
 		double dX_dim_um = (double)(ptRef_pxl.x - ptDim_pxl.x) * m_dPixelSizeX;
@@ -4150,22 +4150,25 @@
 		m_pGlassData->GetSideData(emDim)->m_dNotch_Dimension_Edge_Result_um[nNotchIdx][nMeasureIdx] = dDimension;
 
 		CPoint ptChamfer_pxl = m_pGlassData->GetSideData(emDim)->m_ptNotch_Chamfer_Edge[nNotchIdx][nMeasureIdx];
-		if (ptChamfer_pxl.x < 0 || ptChamfer_pxl.y < 0) {
+	/*	if (ptChamfer_pxl.x < 0 || ptChamfer_pxl.y < 0) {
 			g_pLog->DisplayMessage(_T("[ERROR] Invalid Chamfer Point at Notch_Process_Calculate, NotchIdx: %d, MeasureIdx: %d, Point: (%d, %d)"), nNotchIdx, nMeasureIdx, ptChamfer_pxl.x, ptChamfer_pxl.y);
 			continue;
-		}
+		}*/
 
 		double dX_Chamfer = (double)(ptChamfer_pxl.x - ptDim_pxl.x) * m_dPixelSizeX;
 		double dY_Chamfer = (double)(ptChamfer_pxl.y - ptDim_pxl.y) * m_dPixelSizeY;
 		double dChamfer = sqrtf((dX_Chamfer * dX_Chamfer) + (dY_Chamfer * dY_Chamfer));
 		m_pGlassData->GetSideData(emDim)->m_dNotch_Chamfer_Edge_Result_um[nNotchIdx][nMeasureIdx] = dChamfer;
 
-		if (dDimension > 2000.0 && dChamfer > 2000.0) {
+		if (dDimension > 5000.0 && dChamfer > 5000.0) {
 			g_pLog->DisplayMessage(_T("[ERROR] Abnormal Dimension & Chamfer too large at Notch_Process_Calculate, NotchIdx: %d, MeasureIdx: %d, Dimension: %.2f, Chamfer: %.2f"), nNotchIdx, nMeasureIdx, dDimension, dChamfer);
-			continue;
+			NotchFlag=1;
 		}
 	}
-
+	if (NotchFlag == TRUE)
+	{
+		return FALSE;
+	}else
 	return TRUE;
 }
 
@@ -6256,6 +6259,12 @@
 		// 1. Find End Line.. (Corner毳� 鞝滌櫢頃� Side霛检澑鞚� 彀娟赴 鞙勴暣 End Line攵�韯� 彀倦姅雼�)
 		FindEndLine(iThread, emDim, stFrame);
 
+		bool bIsRipSide = (emDim == DIMENSION_A_RIP || emDim == DIMENSION_B_RIP || emDim == DIMENSION_C_RIP || emDim == DIMENSION_D_RIP);
+		if (bIsRipSide) {
+			CRIP_THICKNESS_PARM& rip = m_pRecipe->m_SideParam[emDim].m_RipThk;
+			return TRUE;
+		}
+
 		// 2. Find Side Line.. (頃措嫻 頂勲爤鞛勳棎靹� Corner/Notch 毳� 鞝滌櫢頃� Side 霛检澑 彀娟赴)
 #if USE_AI_DETECT
 		FindSideLine(iThread, emDim, stFrame);

--
Gitblit v1.9.3