LWQ
2025-07-29 04116d765c7113cfa1a9ec04e6067487a4ba0a20
修复单像素精度单独分配精度测量与研磨量测量功能
已修改5个文件
76 ■■■■ 文件已修改
ENRIT/ENRIT.rc 补丁 | 查看 | 原始文档 | blame | 历史
ENRIT/Process/InspectCamera.cpp 62 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ENRIT/View/ViewScanImage.cpp 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ENRIT/View/ViewScanImage.h 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ENRIT/resource.h 补丁 | 查看 | 原始文档 | blame | 历史
ENRIT/ENRIT.rc
Binary files differ
ENRIT/Process/InspectCamera.cpp
@@ -1091,7 +1091,20 @@
    dConv = pCamera->m_dConvResolution[nStageNo];
    dScan = pCamera->m_dScanResolution[nStageNo];
    if(dConv <= 0 || dScan <= 0)
        return FALSE;
        return FALSE;
    if (m_pRecipe != nullptr) {
        CProfileInspect_Prm& profile = m_pRecipe->m_ProfilePrm;
        double dConvRes = profile.m_dConvResolution[eDimension][nStageNo];
        if (dConvRes > 0.0) {
            dConv = dConvRes;
        }
        double dScanRes = profile.m_dScanResolution[eDimension][nStageNo];
        if (dScanRes > 0.0) {
            dScan = dScanRes;
        }
    }
    srand((unsigned int)time(NULL));
@@ -1674,7 +1687,15 @@
    double dConv = pCamera->m_dConvResolution[g_pBase->m_nStageNo];
    if(dConv <= 0)
        return FALSE;
        return FALSE;
    if (m_pRecipe != nullptr) {
        CProfileInspect_Prm& profile = m_pRecipe->m_ProfilePrm;
        double dConvRes = profile.m_dConvResolution[emDim][g_pBase->m_nStageNo];
        if (dConvRes > 0.0) {
            dConv = dConvRes;
        }
    }
    double        dProfileAvg;
    double        dChamferAvg;
@@ -1851,7 +1872,15 @@
    double dConv = pCamera->m_dConvResolution[g_pBase->m_nStageNo];
    if(dConv <= 0)
        return FALSE;
        return FALSE;
    if (m_pRecipe != nullptr) {
        CProfileInspect_Prm& profile = m_pRecipe->m_ProfilePrm;
        double dConvRes = profile.m_dConvResolution[emDim][g_pBase->m_nStageNo];
        if (dConvRes > 0.0) {
            dConv = dConvRes;
        }
    }
    INS_EDGE_RESULT_INFO *pResInfo =  NULL;
    pResInfo =  m_pGlassData->GetEdgeResultInfo(emDim);
@@ -1955,6 +1984,19 @@
    {
        g_pLog->DisplayMessage(_T("%s MakeProfilePosition Res Null : Frame %d, %d,%.3f,%.3f"),PANEL_SIDE[emDim],stFrame.nFrameIdx,g_pBase->m_nStageNo,dConv,dScan);
        return FALSE;
    }
    if (m_pRecipe != nullptr) {
        CProfileInspect_Prm& profile = m_pRecipe->m_ProfilePrm;
        double dConvRes = profile.m_dConvResolution[emDim][g_pBase->m_nStageNo];
        if (dConvRes > 0.0) {
            dConv = dConvRes;
        }
        double dScanRes = profile.m_dScanResolution[emDim][g_pBase->m_nStageNo];
        if (dScanRes > 0.0) {
            dScan = dScanRes;
        }
    }
    ptOffset.x = (float)((double)ptOffset.x / dConv);
@@ -4011,13 +4053,13 @@
    double dConvRes = pCamera->m_dConvResolution[nStageNo];
    if (m_pRecipe != nullptr) {
        CProfileInspect_Prm& profile = m_pRecipe->m_ProfilePrm;
        double dProfileRes = profile.m_dConvResolution[eDim][nStageNo];
        if (dProfileRes > 0.0) {
            dConvRes = dProfileRes;
        }
    }
    //if (m_pRecipe != nullptr) {
    //    CProfileInspect_Prm& profile = m_pRecipe->m_ProfilePrm;
    //    double dProfileRes = profile.m_dConvResolution[eDim][nStageNo];
    //    if (dProfileRes > 0.0) {
    //        dConvRes = dProfileRes;
    //    }
    //}
    int        nChipInsArea = (int)((double)pChipPrm->m_nChippingInsArea / dConvRes);
    CRect    rectChip = CRect(rectChamfer.CenterPoint().x, 0, rectChamfer.CenterPoint().x, rectChamfer.Height());
ENRIT/View/ViewScanImage.cpp
@@ -164,6 +164,7 @@
    ON_EVENT(CViewScanImage, IDC_SAVE_ALL, DISPID_CLICK, CViewScanImage::OnBnClickedSaveAll, VTS_NONE)
    ON_EVENT(CViewScanImage, IDC_BTN_START_BATCH, DISPID_CLICK, CViewScanImage::OnBtnStartBatch, VTS_NONE)
    ON_EVENT(CViewScanImage, IDC_BTN_STOP_BATCH, DISPID_CLICK, CViewScanImage::OnBtnStopBatch, VTS_NONE)
    ON_EVENT(CViewScanImage, IDC_BTN_STOP_BATCH2, DISPID_CLICK, CViewScanImage::OnClickBtnStopBatch2, VTS_NONE)
END_EVENTSINK_MAP()
@@ -1078,7 +1079,7 @@
BOOL CViewScanImage::ManualThreadStart(int nCmd,int nIndex /*= -1*/)
{
    if (m_pManualProcess) {
        DWORD dwWait = ::WaitForSingleObject(m_pManualProcess->m_hThread, 3000);
        DWORD dwWait = ::WaitForSingleObject(m_pManualProcess->m_hThread, 10000);
        if (dwWait == WAIT_TIMEOUT) {
            DWORD dwExitCode;
            if ((::GetExitCodeThread(m_pManualProcess->m_hThread, &dwExitCode)) && (dwExitCode == STILL_ACTIVE)) {
@@ -1532,4 +1533,9 @@
        else
            m_frameImg[i].ResetMode(MODE_AUTO_MEASURE); 
    }
}
}
void CViewScanImage::OnClickBtnStopBatch2()
{
    SendMessage(WM_BATCH_PROCESS_NEXT, NULL, NULL);
}
ENRIT/View/ViewScanImage.h
@@ -80,7 +80,7 @@
    void            OnBnClickedSaveAll();
    void            OnBtnStartBatch();
    void            OnBtnStopBatch();
    void            OnClickBtnStopBatch2();
protected:
    int                GetSideIdx(int nViewIndex);
    BYTE            *GetBufferPoint(int nViewIndex,int nPos = 0);
@@ -122,4 +122,6 @@
    int                m_nCurrentFolderIndex;
    BOOL            m_bIsBatchProcessing;
    CStringArray    m_arrFolderList;
};
ENRIT/resource.h
Binary files differ