BOOL C_RecipeData::C_ModelMaskData::Load(int nNum)
{
m_file.Format(_T("%s\\Cmm\\Recipe\\%02d\\%s"), theApp.GetExeFolder(), nNum, CMM_FILE_NAME_RECIPE_MODEL);
try
{
m_dSizeX = GetProfileDouble (m_sec, _T("m_dSizeX" ), m_dSizeX );
m_dSizeY = GetProfileDouble (m_sec, _T("m_dSizeY" ), m_dSizeY );
m_dSizeZ = GetProfileDouble (m_sec, _T("m_dSizeZ" ), m_dSizeZ );
m_dMarkSize = GetProfileDouble (m_sec, _T("m_dMarkSize" ), m_dMarkSize );
m_dMarkLTX = GetProfileDouble (m_sec, _T("m_dMarkLTX" ), m_dMarkLTX );
m_dMarkLTY = GetProfileDouble (m_sec, _T("m_dMarkLTY" ), m_dMarkLTY );
m_dMarkRTX = GetProfileDouble (m_sec, _T("m_dMarkRTX" ), m_dMarkRTX );
m_dMarkRTY = GetProfileDouble (m_sec, _T("m_dMarkRTY" ), m_dMarkRTY );
m_dMarkLBX = GetProfileDouble (m_sec, _T("m_dMarkLBX" ), m_dMarkLBX );
m_dMarkLBY = GetProfileDouble (m_sec, _T("m_dMarkLBY" ), m_dMarkLBY );
m_dMarkRBX = GetProfileDouble (m_sec, _T("m_dMarkRBX" ), m_dMarkRBX );
m_dMarkRBY = GetProfileDouble (m_sec, _T("m_dMarkRBY" ), m_dMarkRBY );
m_nCellRows = GetProfileInt (m_sec, _T("m_nCellRows"), m_nCellRows);
m_nCellCols = GetProfileInt (m_sec, _T("m_nCellCols"), m_nCellCols);
for (int i = 0; i < CMM_MASK_CELL_COLS_MAX; i++)
{
m_dCellColPitchX[i] = GetProfileDouble (m_sec, jfcStr(_T("m_dCellColPitchX[%02d]"), i), m_dCellColPitchX[i]);
}
for (int i = 0; i < CMM_MASK_CELL_ROWS_MAX; i++)
{
m_dCellRowPitchY[i] = GetProfileDouble (m_sec, jfcStr(_T("m_dCellRowPitchY[%02d]"), i), m_dCellRowPitchY[i]);
}
// Meas Hole
m_nPpaMeasHoleCnt = GetProfileInt (m_sec, _T("m_nMeasPpaHoleCnt"), m_nPpaMeasHoleCnt);
m_dPpaMeasHoleSize = GetProfileDouble (m_sec, _T("m_dMeasPpaHoleSize"), m_dPpaMeasHoleSize);
for (int i = 0; i < CMM_MASK_PPA_MEAS_HOLE_MAX; i++)
{
m_dPpaMeasHoleFirstPosX[i] = GetProfileDouble (m_sec, jfcStr(_T("m_dMeasPpaHoleFirstPosX[%02d]"), i), m_dPpaMeasHoleFirstPosX[i]);
}
for (int i = 0; i < CMM_MASK_PPA_MEAS_HOLE_MAX; i++)
{
m_dPpaMeasHoleFirstPosY[i] = GetProfileDouble (m_sec, jfcStr(_T("m_dMeasPpaHoleFirstPosY[%02d]"), i), m_dPpaMeasHoleFirstPosY[i]);
}
// Meas Edge
//m_dCellMeasEdgeRetractX = GetProfileDouble (m_sec, _T("m_dCellMeasEdgeRetractX"), m_dCellMeasEdgeRetractX);
//m_dCellMeasEdgeRetractY = GetProfileDouble (m_sec, _T("m_dCellMeasEdgeRetractY"), m_dCellMeasEdgeRetractY);
//for (int i = 0; i < CMM_MASK_CELL_EDGE_CNT; i++)
//{
// m_dCellEdgeFirstPosX[i] = GetProfileDouble (m_sec, jfcStr(_T("m_dCellEdgeFirstPosX[%d]"), i), m_dCellEdgeFirstPosX[i]);
//}
//for (int i = 0; i < CMM_MASK_CELL_EDGE_CNT; i++)
//{
// m_dCellEdgeFirstPosY[i] = GetProfileDouble (m_sec, jfcStr(_T("m_dCellEdgeFirstPosY[%d]"), i), m_dCellEdgeFirstPosY[i]);
//}
// Tension Hole
m_nTensionCols = GetProfileInt (m_sec, _T("m_nTensionCols"), m_nTensionCols);
m_nTensionRows = GetProfileInt (m_sec, _T("m_nTensionRows"), m_nTensionRows);
m_dTensionHoleSize = GetProfileDouble (m_sec, _T("m_dTensionHoleSize"), m_dTensionHoleSize);
for (int i = 0; i < CMM_MASK_TENSION_COLS_MAX; i++)
{
m_dTensionHolePosLX[i] = GetProfileDouble (m_sec, jfcStr(_T("m_dTensionHolePosLX[%02d]"), i), m_dTensionHolePosLX[i]);
}
for (int i = 0; i < CMM_MASK_TENSION_COLS_MAX; i++)
{
m_dTensionHolePosLY[i] = GetProfileDouble (m_sec, jfcStr(_T("m_dTensionHolePosLY[%02d]"), i), m_dTensionHolePosLY[i]);
}
for (int i = 0; i < CMM_MASK_TENSION_COLS_MAX; i++)
{
m_dTensionHolePosRX[i] = GetProfileDouble (m_sec, jfcStr(_T("m_dTensionHolePosRX[%02d]"), i), m_dTensionHolePosRX[i]);
}
for (int i = 0; i < CMM_MASK_TENSION_COLS_MAX; i++)
{
m_dTensionHolePosRY[i] = GetProfileDouble (m_sec, jfcStr(_T("m_dTensionHolePosRY[%02d]"), i), m_dTensionHolePosRY[i]);
}
for (int i = 0; i < CMM_MASK_TENSION_ROWS_MAX; i++)
{
m_dTensionHolePosFX[i] = GetProfileDouble (m_sec, jfcStr(_T("m_dTensionHolePosFX[%02d]"), i), m_dTensionHolePosFX[i]);
}
for (int i = 0; i < CMM_MASK_TENSION_ROWS_MAX; i++)
{
m_dTensionHolePosFY[i] = GetProfileDouble (m_sec, jfcStr(_T("m_dTensionHolePosFY[%02d]"), i), m_dTensionHolePosFY[i]);
}
for (int i = 0; i < CMM_MASK_TENSION_ROWS_MAX; i++)
{
m_dTensionHolePosBX[i] = GetProfileDouble (m_sec, jfcStr(_T("m_dTensionHolePosBX[%02d]"), i), m_dTensionHolePosBX[i]);
}
for (int i = 0; i < CMM_MASK_TENSION_ROWS_MAX; i++)
{
m_dTensionHolePosBY[i] = GetProfileDouble (m_sec, jfcStr(_T("m_dTensionHolePosBY[%02d]"), i), m_dTensionHolePosBY[i]);
}
for (int i = 0; i < CMM_MASK_TENSION_COLS_MAX; i++)
{
m_dTensionEdgePosLX[i] = GetProfileDouble (m_sec, jfcStr(_T("m_dTensionEdgePosLX[%02d]"), i), m_dTensionEdgePosLX[i]);
}
for (int i = 0; i < CMM_MASK_TENSION_COLS_MAX; i++)
{
m_dTensionEdgePosLY[i] = GetProfileDouble (m_sec, jfcStr(_T("m_dTensionEdgePosLY[%02d]"), i), m_dTensionEdgePosLY[i]);
}
for (int i = 0; i < CMM_MASK_TENSION_COLS_MAX; i++)
{
m_dTensionEdgePosRX[i] = GetProfileDouble (m_sec, jfcStr(_T("m_dTensionEdgePosRX[%02d]"), i), m_dTensionEdgePosRX[i]);
}
for (int i = 0; i < CMM_MASK_TENSION_COLS_MAX; i++)
{
m_dTensionEdgePosRY[i] = GetProfileDouble (m_sec, jfcStr(_T("m_dTensionEdgePosRY[%02d]"), i), m_dTensionEdgePosRY[i]);
}
for (int i = 0; i < CMM_MASK_TENSION_ROWS_MAX; i++)
{
m_dTensionEdgePosFX[i] = GetProfileDouble (m_sec, jfcStr(_T("m_dTensionEdgePosFX[%02d]"), i), m_dTensionEdgePosFX[i]);
}
for (int i = 0; i < CMM_MASK_TENSION_ROWS_MAX; i++)
{
m_dTensionEdgePosFY[i] = GetProfileDouble (m_sec, jfcStr(_T("m_dTensionEdgePosFY[%02d]"), i), m_dTensionEdgePosFY[i]);
}
for (int i = 0; i < CMM_MASK_TENSION_ROWS_MAX; i++)
{
m_dTensionEdgePosBX[i] = GetProfileDouble (m_sec, jfcStr(_T("m_dTensionEdgePosBX[%02d]"), i), m_dTensionEdgePosBX[i]);
}
for (int i = 0; i < CMM_MASK_TENSION_ROWS_MAX; i++)
{
m_dTensionEdgePosBY[i] = GetProfileDouble (m_sec, jfcStr(_T("m_dTensionEdgePosBY[%02d]"), i), m_dTensionEdgePosBY[i]);
}
for (int i = 0; i < CMM_MASK_CORNER_EDGE_CNT; i++)
{
m_dCornerEdgePosX[i] = GetProfileDouble(m_sec, jfcStr(_T("m_dCornerEdgePosX[%02d]"), i), m_dCornerEdgePosX[i]); // 2019-10-29 Corner Edge KDO
m_dCornerEdgePosY[i] = GetProfileDouble(m_sec, jfcStr(_T("m_dCornerEdgePosY[%02d]"), i), m_dCornerEdgePosY[i]);
}
// Meas Edge
// 2019-10-31 PPA Edge KDO
for (int i = 0; i < CMM_MASK_CELL_EDGE_CNT * CMM_MASK_CELL_KIND_MAX; i++)
{
m_dPpaMeasEdgeFirstPosX[i] = GetProfileDouble(m_sec, jfcStr(_T("m_dPpaMeasEdgeFirstPosX[%02d]"), i), m_dPpaMeasEdgeFirstPosX[i]);
m_dPpaMeasEdgeFirstPosY[i] = GetProfileDouble(m_sec, jfcStr(_T("m_dPpaMeasEdgeFirstPosY[%02d]"), i), m_dPpaMeasEdgeFirstPosY[i]);
}
m_nPpaMeasRetractCnt = GetProfileInt(m_sec, _T("m_nPpaMeasRetractCnt"), m_nPpaMeasRetractCnt);
for (int i = 0; i < CMM_MASK_PPA_RETRACT_MAX * CMM_MASK_CELL_KIND_MAX; i++)
{
m_dPpaMeasRetractPosX[i] = GetProfileDouble(m_sec, jfcStr(_T("m_dPpaMeasRetractPosX[%02d]"), i), m_dPpaMeasRetractPosX[i]);
m_dPpaMeasRetractPosY[i] = GetProfileDouble(m_sec, jfcStr(_T("m_dPpaMeasRetractPosY[%02d]"), i), m_dPpaMeasRetractPosY[i]);
}
m_dHoleCellFirstX = 0;
m_dHoleCellFirstY = 0;
m_dFoleCellRadius = 0;
m_dHoleCellFirstX = GetProfileDouble(m_sec, _T("m_dHoleCellFirstX"), m_dHoleCellFirstX);
m_dHoleCellFirstY = GetProfileDouble(m_sec, _T("m_dHoleCellFirstY"), m_dHoleCellFirstY);
m_dFoleCellRadius = GetProfileDouble(m_sec, _T("m_dFoleCellRadius"), m_dFoleCellRadius);
m_nEdgeCellType = 0;
m_nEdgeCellType = GetProfileInt(m_sec, _T("m_nEdgeCellType"), m_nEdgeCellType);
m_nTotalCellKind = GetProfileInt(m_sec, _T("m_nTotalCellKind"), m_nTotalCellKind);
for (int i = 0; i < CMM_MASK_CELL_ROWS_MAX; i++)
{
m_nCellUse[i] = GetProfileInt(m_sec, jfcStr(_T("m_nCellUse[%02d]"), i), m_nCellUse[i]);
}
for (int i = 0; i < CMM_MASK_CELL_KIND_MAX; i++)
{
m_nCellRows1[i] = GetProfileInt(m_sec, jfcStr(_T("m_nCellRows1[%02d]"), i), m_nCellRows1[i]);
}
for (int i = 0; i < CMM_MASK_CELL_KIND_MAX; i++)
{
m_nCellCols1[i] = GetProfileInt(m_sec, jfcStr(_T("m_nCellCols1[%02d]"), i), m_nCellCols1[i]);
}
for (int i = 0; i < CMM_MASK_CELL_KIND_MAX; i++)
{
m_nPpaMeasRetractCnt1[i] = GetProfileInt(m_sec, jfcStr(_T("m_nPpaMeasRetractCnt1[%02d]"), i), m_nPpaMeasRetractCnt1[i]);
}
}
catch (CString)
{
return FALSE;
}
return TRUE;
}优化函数,提高效率,减少I/O