mrDarker
2025-07-24 27b45f7dd911640b4c8fefe6e060fc35a1f98e6e
1. 更新视觉程序(代提交)
已修改12个文件
340 ■■■■■ 文件已修改
BlVisionPro/BlVisionPro.rc 补丁 | 查看 | 原始文档 | blame | 历史
BlVisionPro/View/KeyVisionSetDlg.cpp 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BlVisionPro/Vision/BlVisionLib.cpp 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
BlVisionPro/Vision/VisionRecipe.cpp 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BlVisionPro/Vision/VisionRecipe.h 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BlVisionPro/resource.h 补丁 | 查看 | 原始文档 | blame | 历史
Common_Class/BlVisionPro/BlVisionPro.rc 补丁 | 查看 | 原始文档 | blame | 历史
Common_Class/BlVisionPro/View/KeyVisionSetDlg.cpp 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Common_Class/BlVisionPro/Vision/BlVisionLib.cpp 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Common_Class/BlVisionPro/Vision/VisionRecipe.cpp 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Common_Class/BlVisionPro/Vision/VisionRecipe.h 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Common_Class/BlVisionPro/resource.h 补丁 | 查看 | 原始文档 | blame | 历史
BlVisionPro/BlVisionPro.rc
Binary files differ
BlVisionPro/View/KeyVisionSetDlg.cpp
@@ -185,6 +185,71 @@
    m_btnDebugKey[6].SetCheck(info.isRcutKey);
    LockBtn(!m_btnDebugKey[0].GetCheck());
    CString strText;
    CBlSideData* pSide1 = pInstance->getSideData(DimensionDir(0));
    if (nullptr != pSide1) {
        strText.Format(_T("%.4f"), pSide1->m_dPixelSizeX);
        SetDlgItemText(IDC_EDT_MMVSPX1, strText);
        strText.Format(_T("%.4f"), pSide1->m_dPixelSizeY);
        SetDlgItemText(IDC_EDT_MMVSPY1, strText);
    }
    CBlSideData* pSide2 = pInstance->getSideData(DimensionDir(1));
    if (nullptr != pSide2) {
        strText.Format(_T("%.4f"), pSide2->m_dPixelSizeX);
        SetDlgItemText(IDC_EDT_MMVSPX2, strText);
        strText.Format(_T("%.4f"), pSide2->m_dPixelSizeY);
        SetDlgItemText(IDC_EDT_MMVSPY2, strText);
    }
    CBlSideData* pSide3 = pInstance->getSideData(DimensionDir(2));
    if (nullptr != pSide3) {
        strText.Format(_T("%.4f"), pSide3->m_dPixelSizeX);
        SetDlgItemText(IDC_EDT_MMVSPX3, strText);
        strText.Format(_T("%.4f"), pSide3->m_dPixelSizeY);
        SetDlgItemText(IDC_EDT_MMVSPY3, strText);
    }
    CBlSideData* pSide4 = pInstance->getSideData(DimensionDir(3));
    if (nullptr != pSide4) {
        strText.Format(_T("%.4f"), pSide4->m_dPixelSizeX);
        SetDlgItemText(IDC_EDT_MMVSPX4, strText);
        strText.Format(_T("%.4f"), pSide4->m_dPixelSizeY);
        SetDlgItemText(IDC_EDT_MMVSPY4, strText);
    }
    CBlSideData* pSide5 = pInstance->getSideData(DimensionDir(4));
    if (nullptr != pSide5) {
        strText.Format(_T("%.4f"), pSide5->m_dPixelSizeX);
        SetDlgItemText(IDC_EDT_MMVSPX5, strText);
        strText.Format(_T("%.4f"), pSide5->m_dPixelSizeY);
        SetDlgItemText(IDC_EDT_MMVSPY5, strText);
    }
    CBlSideData* pSide6 = pInstance->getSideData(DimensionDir(5));
    if (nullptr != pSide6) {
        strText.Format(_T("%.4f"), pSide6->m_dPixelSizeX);
        SetDlgItemText(IDC_EDT_MMVSPX6, strText);
        strText.Format(_T("%.4f"), pSide6->m_dPixelSizeY);
        SetDlgItemText(IDC_EDT_MMVSPY6, strText);
    }
    CBlSideData* pSide7 = pInstance->getSideData(DimensionDir(6));
    if (nullptr != pSide7) {
        strText.Format(_T("%.4f"), pSide7->m_dPixelSizeX);
        SetDlgItemText(IDC_EDT_MMVSPX7, strText);
        strText.Format(_T("%.4f"), pSide7->m_dPixelSizeY);
        SetDlgItemText(IDC_EDT_MMVSPY7, strText);
    }
    CBlSideData* pSide8 = pInstance->getSideData(DimensionDir(7));
    if (nullptr != pSide8) {
        strText.Format(_T("%.4f"), pSide8->m_dPixelSizeX);
        SetDlgItemText(IDC_EDT_MMVSPX8, strText);
        strText.Format(_T("%.4f"), pSide8->m_dPixelSizeY);
        SetDlgItemText(IDC_EDT_MMVSPY8, strText);
    }
}
@@ -234,7 +299,75 @@
    info.isRcutKey = (1 == m_btnDebugKey[6].GetCheck());
    pInstance->setKeyInfo(info);
    CString strTextX, strTextY;
    GetDlgItemText(IDC_EDT_MMVSPX1, strTextX);
    GetDlgItemText(IDC_EDT_MMVSPY1, strTextY);
    CBlSideData* pSide1 = pInstance->getSideData(DimensionDir(0));
    if (nullptr != pSide1) {
        pSide1->m_dPixelSizeX = _wtof(strTextX);
        pSide1->m_dPixelSizeY = _wtof(strTextY);
    }
    GetDlgItemText(IDC_EDT_MMVSPX2, strTextX);
    GetDlgItemText(IDC_EDT_MMVSPY2, strTextY);
    CBlSideData* pSide2 = pInstance->getSideData(DimensionDir(1));
    if (nullptr != pSide2) {
        pSide2->m_dPixelSizeX = _wtof(strTextX);
        pSide2->m_dPixelSizeY = _wtof(strTextY);
    }
    GetDlgItemText(IDC_EDT_MMVSPX3, strTextX);
    GetDlgItemText(IDC_EDT_MMVSPY3, strTextY);
    CBlSideData* pSide3 = pInstance->getSideData(DimensionDir(2));
    if (nullptr != pSide3) {
        pSide3->m_dPixelSizeX = _wtof(strTextX);
        pSide3->m_dPixelSizeY = _wtof(strTextY);
    }
    GetDlgItemText(IDC_EDT_MMVSPX4, strTextX);
    GetDlgItemText(IDC_EDT_MMVSPY4, strTextY);
    CBlSideData* pSide4 = pInstance->getSideData(DimensionDir(3));
    if (nullptr != pSide4) {
        pSide4->m_dPixelSizeX = _wtof(strTextX);
        pSide4->m_dPixelSizeY = _wtof(strTextY);
    }
    GetDlgItemText(IDC_EDT_MMVSPX5, strTextX);
    GetDlgItemText(IDC_EDT_MMVSPY5, strTextY);
    CBlSideData* pSide5 = pInstance->getSideData(DimensionDir(4));
    if (nullptr != pSide5) {
        pSide5->m_dPixelSizeX = _wtof(strTextX);
        pSide5->m_dPixelSizeY = _wtof(strTextY);
    }
    GetDlgItemText(IDC_EDT_MMVSPX6, strTextX);
    GetDlgItemText(IDC_EDT_MMVSPY6, strTextY);
    CBlSideData* pSide6 = pInstance->getSideData(DimensionDir(5));
    if (nullptr != pSide6) {
        pSide6->m_dPixelSizeX = _wtof(strTextX);
        pSide6->m_dPixelSizeY = _wtof(strTextY);
    }
    GetDlgItemText(IDC_EDT_MMVSPX7, strTextX);
    GetDlgItemText(IDC_EDT_MMVSPY7, strTextY);
    CBlSideData* pSide7 = pInstance->getSideData(DimensionDir(6));
    if (nullptr != pSide7) {
        pSide7->m_dPixelSizeX = _wtof(strTextX);
        pSide7->m_dPixelSizeY = _wtof(strTextY);
    }
    GetDlgItemText(IDC_EDT_MMVSPX8, strTextX);
    GetDlgItemText(IDC_EDT_MMVSPY8, strTextY);
    CBlSideData* pSide8 = pInstance->getSideData(DimensionDir(7));
    if (nullptr != pSide8) {
        pSide8->m_dPixelSizeX = _wtof(strTextX);
        pSide8->m_dPixelSizeY = _wtof(strTextY);
    }
    pInstance->saveVisionConfig();
    pInstance->saveResolution();
}
BlVisionPro/Vision/BlVisionLib.cpp
@@ -3,7 +3,7 @@
#include "VisionRecipe.h"
#include "SoftVisionApp.h"
#define BLVISION_VERSION    _T("1.0.1.1")
#define BLVISION_VERSION    _T("1.0.2.0")
int BlVision_GetVersion(char *pszVersion, int nBufferSize) {
    /* code */
    // 将ANSI字符串转换为宽字符串
BlVisionPro/Vision/VisionRecipe.cpp
@@ -113,10 +113,23 @@
    WriteRecipeVisionFile();
    saveResolution();
    //if (CStdioFile::hFileNull != m_recipeFile.m_hFile) {
    //    m_recipeFile.Close();
    //}
    return 0;
}
void CVisionRecipe::saveResolution(void) {
    /* code */
    std::string array_dir_use[8] = { "A TOP","B TOP", "C TOP", "D TOP", "A BOT", "B BOT","C BOT", "D BOT" };
    std::string strSection = "";
    for (int i = 0; i < 8; i++) {
        strSection = array_dir_use[i];
        m_configVision.WriteFloat(strSection.c_str(), "Pixel SizeX", m_pBlSideData[i]->m_dPixelSizeX);
        m_configVision.WriteFloat(strSection.c_str(), "Pixel SizeY", m_pBlSideData[i]->m_dPixelSizeY);
    }
}
int CVisionRecipe::WriteRecipeVisionFile(void) {
@@ -244,6 +257,9 @@
    ReadRecipeFile();
    loadResolution();
#if 0
    if (!isExist) {
        if (CStdioFile::hFileNull != m_recipeFile.m_hFile) {
@@ -255,6 +271,21 @@
    return 0;
}
void CVisionRecipe::loadResolution(void) {
    /* code */
    std::string array_dir_use[8] = { "A TOP","B TOP", "C TOP", "D TOP", "A BOT", "B BOT","C BOT", "D BOT" };
    std::string strSection = "";
    for (int i = 0; i < 8; i++) {
        strSection = array_dir_use[i];
        double dPixelSizeX = m_configVision.ReadFloat(strSection.c_str(), "Pixel SizeX", 0.0);
        double dPixelSizeY = m_configVision.ReadFloat(strSection.c_str(), "Pixel SizeY", 0.0);
        if (fabs(dPixelSizeX) > 0.001 || fabs(dPixelSizeY) > 0.001) {
            m_pBlSideData[i]->m_dPixelSizeX = dPixelSizeX;
            m_pBlSideData[i]->m_dPixelSizeY = dPixelSizeY;
        }
    }
}
void CVisionRecipe::ReadRecipeFile(void) {
    /* code */
    std::string strDir = m_workDir + "\\" + m_strVisionName + "\\";
BlVisionPro/Vision/VisionRecipe.h
@@ -132,6 +132,10 @@
    void setStage(int nStage);
    int getStage(void);
    //14. 保存分辨率
    void saveResolution(void);
    void loadResolution(void);
private:
    bool m_isInit;
    std::string m_workDir;
BlVisionPro/resource.h
Binary files differ
Common_Class/BlVisionPro/BlVisionPro.rc
Binary files differ
Common_Class/BlVisionPro/View/KeyVisionSetDlg.cpp
@@ -185,6 +185,71 @@
    m_btnDebugKey[6].SetCheck(info.isRcutKey);
    LockBtn(!m_btnDebugKey[0].GetCheck());
    CString strText;
    CBlSideData* pSide1 = pInstance->getSideData(DimensionDir(0));
    if (nullptr != pSide1) {
        strText.Format(_T("%.4f"), pSide1->m_dPixelSizeX);
        SetDlgItemText(IDC_EDT_MMVSPX1, strText);
        strText.Format(_T("%.4f"), pSide1->m_dPixelSizeY);
        SetDlgItemText(IDC_EDT_MMVSPY1, strText);
    }
    CBlSideData* pSide2 = pInstance->getSideData(DimensionDir(1));
    if (nullptr != pSide2) {
        strText.Format(_T("%.4f"), pSide2->m_dPixelSizeX);
        SetDlgItemText(IDC_EDT_MMVSPX2, strText);
        strText.Format(_T("%.4f"), pSide2->m_dPixelSizeY);
        SetDlgItemText(IDC_EDT_MMVSPY2, strText);
    }
    CBlSideData* pSide3 = pInstance->getSideData(DimensionDir(2));
    if (nullptr != pSide3) {
        strText.Format(_T("%.4f"), pSide3->m_dPixelSizeX);
        SetDlgItemText(IDC_EDT_MMVSPX3, strText);
        strText.Format(_T("%.4f"), pSide3->m_dPixelSizeY);
        SetDlgItemText(IDC_EDT_MMVSPY3, strText);
    }
    CBlSideData* pSide4 = pInstance->getSideData(DimensionDir(3));
    if (nullptr != pSide4) {
        strText.Format(_T("%.4f"), pSide4->m_dPixelSizeX);
        SetDlgItemText(IDC_EDT_MMVSPX4, strText);
        strText.Format(_T("%.4f"), pSide4->m_dPixelSizeY);
        SetDlgItemText(IDC_EDT_MMVSPY4, strText);
    }
    CBlSideData* pSide5 = pInstance->getSideData(DimensionDir(4));
    if (nullptr != pSide5) {
        strText.Format(_T("%.4f"), pSide5->m_dPixelSizeX);
        SetDlgItemText(IDC_EDT_MMVSPX5, strText);
        strText.Format(_T("%.4f"), pSide5->m_dPixelSizeY);
        SetDlgItemText(IDC_EDT_MMVSPY5, strText);
    }
    CBlSideData* pSide6 = pInstance->getSideData(DimensionDir(5));
    if (nullptr != pSide6) {
        strText.Format(_T("%.4f"), pSide6->m_dPixelSizeX);
        SetDlgItemText(IDC_EDT_MMVSPX6, strText);
        strText.Format(_T("%.4f"), pSide6->m_dPixelSizeY);
        SetDlgItemText(IDC_EDT_MMVSPY6, strText);
    }
    CBlSideData* pSide7 = pInstance->getSideData(DimensionDir(6));
    if (nullptr != pSide7) {
        strText.Format(_T("%.4f"), pSide7->m_dPixelSizeX);
        SetDlgItemText(IDC_EDT_MMVSPX7, strText);
        strText.Format(_T("%.4f"), pSide7->m_dPixelSizeY);
        SetDlgItemText(IDC_EDT_MMVSPY7, strText);
    }
    CBlSideData* pSide8 = pInstance->getSideData(DimensionDir(7));
    if (nullptr != pSide8) {
        strText.Format(_T("%.4f"), pSide8->m_dPixelSizeX);
        SetDlgItemText(IDC_EDT_MMVSPX8, strText);
        strText.Format(_T("%.4f"), pSide8->m_dPixelSizeY);
        SetDlgItemText(IDC_EDT_MMVSPY8, strText);
    }
}
@@ -234,7 +299,75 @@
    info.isRcutKey = (1 == m_btnDebugKey[6].GetCheck());
    pInstance->setKeyInfo(info);
    CString strTextX, strTextY;
    GetDlgItemText(IDC_EDT_MMVSPX1, strTextX);
    GetDlgItemText(IDC_EDT_MMVSPY1, strTextY);
    CBlSideData* pSide1 = pInstance->getSideData(DimensionDir(0));
    if (nullptr != pSide1) {
        pSide1->m_dPixelSizeX = _wtof(strTextX);
        pSide1->m_dPixelSizeY = _wtof(strTextY);
    }
    GetDlgItemText(IDC_EDT_MMVSPX2, strTextX);
    GetDlgItemText(IDC_EDT_MMVSPY2, strTextY);
    CBlSideData* pSide2 = pInstance->getSideData(DimensionDir(1));
    if (nullptr != pSide2) {
        pSide2->m_dPixelSizeX = _wtof(strTextX);
        pSide2->m_dPixelSizeY = _wtof(strTextY);
    }
    GetDlgItemText(IDC_EDT_MMVSPX3, strTextX);
    GetDlgItemText(IDC_EDT_MMVSPY3, strTextY);
    CBlSideData* pSide3 = pInstance->getSideData(DimensionDir(2));
    if (nullptr != pSide3) {
        pSide3->m_dPixelSizeX = _wtof(strTextX);
        pSide3->m_dPixelSizeY = _wtof(strTextY);
    }
    GetDlgItemText(IDC_EDT_MMVSPX4, strTextX);
    GetDlgItemText(IDC_EDT_MMVSPY4, strTextY);
    CBlSideData* pSide4 = pInstance->getSideData(DimensionDir(3));
    if (nullptr != pSide4) {
        pSide4->m_dPixelSizeX = _wtof(strTextX);
        pSide4->m_dPixelSizeY = _wtof(strTextY);
    }
    GetDlgItemText(IDC_EDT_MMVSPX5, strTextX);
    GetDlgItemText(IDC_EDT_MMVSPY5, strTextY);
    CBlSideData* pSide5 = pInstance->getSideData(DimensionDir(4));
    if (nullptr != pSide5) {
        pSide5->m_dPixelSizeX = _wtof(strTextX);
        pSide5->m_dPixelSizeY = _wtof(strTextY);
    }
    GetDlgItemText(IDC_EDT_MMVSPX6, strTextX);
    GetDlgItemText(IDC_EDT_MMVSPY6, strTextY);
    CBlSideData* pSide6 = pInstance->getSideData(DimensionDir(5));
    if (nullptr != pSide6) {
        pSide6->m_dPixelSizeX = _wtof(strTextX);
        pSide6->m_dPixelSizeY = _wtof(strTextY);
    }
    GetDlgItemText(IDC_EDT_MMVSPX7, strTextX);
    GetDlgItemText(IDC_EDT_MMVSPY7, strTextY);
    CBlSideData* pSide7 = pInstance->getSideData(DimensionDir(6));
    if (nullptr != pSide7) {
        pSide7->m_dPixelSizeX = _wtof(strTextX);
        pSide7->m_dPixelSizeY = _wtof(strTextY);
    }
    GetDlgItemText(IDC_EDT_MMVSPX8, strTextX);
    GetDlgItemText(IDC_EDT_MMVSPY8, strTextY);
    CBlSideData* pSide8 = pInstance->getSideData(DimensionDir(7));
    if (nullptr != pSide8) {
        pSide8->m_dPixelSizeX = _wtof(strTextX);
        pSide8->m_dPixelSizeY = _wtof(strTextY);
    }
    pInstance->saveVisionConfig();
    pInstance->saveResolution();
}
Common_Class/BlVisionPro/Vision/BlVisionLib.cpp
@@ -3,7 +3,7 @@
#include "VisionRecipe.h"
#include "SoftVisionApp.h"
#define BLVISION_VERSION    _T("1.0.1.1")
#define BLVISION_VERSION    _T("1.0.2.0")
int BlVision_GetVersion(char *pszVersion, int nBufferSize) {
    /* code */
    // 将ANSI字符串转换为宽字符串
Common_Class/BlVisionPro/Vision/VisionRecipe.cpp
@@ -113,10 +113,23 @@
    WriteRecipeVisionFile();
    saveResolution();
    //if (CStdioFile::hFileNull != m_recipeFile.m_hFile) {
    //    m_recipeFile.Close();
    //}
    return 0;
}
void CVisionRecipe::saveResolution(void) {
    /* code */
    std::string array_dir_use[8] = { "A TOP","B TOP", "C TOP", "D TOP", "A BOT", "B BOT","C BOT", "D BOT" };
    std::string strSection = "";
    for (int i = 0; i < 8; i++) {
        strSection = array_dir_use[i];
        m_configVision.WriteFloat(strSection.c_str(), "Pixel SizeX", m_pBlSideData[i]->m_dPixelSizeX);
        m_configVision.WriteFloat(strSection.c_str(), "Pixel SizeY", m_pBlSideData[i]->m_dPixelSizeY);
    }
}
int CVisionRecipe::WriteRecipeVisionFile(void) {
@@ -244,6 +257,9 @@
    ReadRecipeFile();
    loadResolution();
#if 0
    if (!isExist) {
        if (CStdioFile::hFileNull != m_recipeFile.m_hFile) {
@@ -255,6 +271,21 @@
    return 0;
}
void CVisionRecipe::loadResolution(void) {
    /* code */
    std::string array_dir_use[8] = { "A TOP","B TOP", "C TOP", "D TOP", "A BOT", "B BOT","C BOT", "D BOT" };
    std::string strSection = "";
    for (int i = 0; i < 8; i++) {
        strSection = array_dir_use[i];
        double dPixelSizeX = m_configVision.ReadFloat(strSection.c_str(), "Pixel SizeX", 0.0);
        double dPixelSizeY = m_configVision.ReadFloat(strSection.c_str(), "Pixel SizeY", 0.0);
        if (fabs(dPixelSizeX) > 0.001 || fabs(dPixelSizeY) > 0.001) {
            m_pBlSideData[i]->m_dPixelSizeX = dPixelSizeX;
            m_pBlSideData[i]->m_dPixelSizeY = dPixelSizeY;
        }
    }
}
void CVisionRecipe::ReadRecipeFile(void) {
    /* code */
    std::string strDir = m_workDir + "\\" + m_strVisionName + "\\";
Common_Class/BlVisionPro/Vision/VisionRecipe.h
@@ -132,6 +132,10 @@
    void setStage(int nStage);
    int getStage(void);
    //14. 保存分辨率
    void saveResolution(void);
    void loadResolution(void);
private:
    bool m_isInit;
    std::string m_workDir;
Common_Class/BlVisionPro/resource.h
Binary files differ