|
|
|
|
#pragma once
|
|
|
|
|
#include "module.h"
|
|
|
|
|
#include "OffsetTable.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define OffsetTab_List_Val_Col 3//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>list <20>е<EFBFBD><D0B5>к<EFBFBD>
|
|
|
|
|
#define OFFSET_TAB_PATH "\\OffsetTable\\"
|
|
|
|
|
#define OFFSET_TAB_FILE_PATH "\\OffsetTable\\TableFile\\"
|
|
|
|
|
#define OFFSET_TAB_HISTORY_PATH "\\OffsetTable\\TableHistory\\"
|
|
|
|
|
|
|
|
|
|
#define OFFSET_TAB_FILE_SUFFIX "tbl"
|
|
|
|
|
#define OFFSET_TAB_HISTORY_SUFFIX "xlsx"
|
|
|
|
|
|
|
|
|
|
//<2F><>Բrecipe <20><><EFBFBD>ݹ<EFBFBD><DDB9><EFBFBD>
|
|
|
|
|
class CSlotRecipeDataMgr :public CModule
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
CSlotRecipeDataMgr(void);
|
|
|
|
|
~CSlotRecipeDataMgr(void);
|
|
|
|
|
virtual MODULE GetModuleType(){return _WAFER_RECIPE_DATA_PROP;};
|
|
|
|
|
virtual void OnAppInitialize();
|
|
|
|
|
|
|
|
|
|
void CreatScanPath(vector<bool> SelObjVec);
|
|
|
|
|
void CreatScanPath(int AreaIdx);
|
|
|
|
|
void InitScanAreaComb(CComboBox &ComboBox);
|
|
|
|
|
void InitOffsetTableComb(CComboBox &ComboBox);
|
|
|
|
|
CString SelScanArea(int idx);
|
|
|
|
|
CString SelOffsetTable(int idx);
|
|
|
|
|
void IniRecipeParList(CListCtrl &list);
|
|
|
|
|
CString GetSelRecipePath(int idx);
|
|
|
|
|
|
|
|
|
|
double CalScanSpeedByOverlapRatio(double OverlapRatio,double Fre);
|
|
|
|
|
double CalOverlapRatioByScanSpeed(double ScanSpeed,double Fre);
|
|
|
|
|
double CalRotatoDimmerAng(double LaserSpotX,double LaserSpotY,double Edi,double Fre,double Pow);
|
|
|
|
|
void SetbScanEnd(bool b){m_bScanEnd = b;};
|
|
|
|
|
bool IsbScanEnd(){return m_bScanEnd;};
|
|
|
|
|
|
|
|
|
|
void GetScanAreaName(vector<CString> &Vec);
|
|
|
|
|
void GetOffsetTableName(vector<CString> &Vec);
|
|
|
|
|
bool SelScanAreaByName(CString SelScanAreaName);
|
|
|
|
|
bool CheckScanPathSecurity();
|
|
|
|
|
void InitOffsetTableList(CListCtrl &List);
|
|
|
|
|
void UpdateOffsetTableList(CListCtrl &List,CString FilePath);
|
|
|
|
|
void SaveRcpOffsetTable(CListCtrl &List,CString FilePath);
|
|
|
|
|
void CreateNewOffsetTable(CString Name);
|
|
|
|
|
void DelOffsetTable(CString FilePath);
|
|
|
|
|
private:
|
|
|
|
|
int GetFristSelOutLineObjIdx();
|
|
|
|
|
void SaveOffsetTableHistory(vector<COffsetTablePar>&OffsetTableParVec,CString OperateType,CString TableName);
|
|
|
|
|
private:
|
|
|
|
|
vector<bool> m_CurSelStateVec;//<2F><>ǰѡ<C7B0><D1A1>״̬
|
|
|
|
|
vector<CString> m_RecipeFilePathVec;
|
|
|
|
|
vector<CString> m_ScanAreaPathVec;//<2F><>¼ ɨ<><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>
|
|
|
|
|
vector<CString> m_OffsetTablePathVec;//<2F><>¼ OffsetTable<6C>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>
|
|
|
|
|
|
|
|
|
|
bool m_bScanEnd;//ɨ<><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬,<2C><><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7>ɨ<EFBFBD><C9A8><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD>ɫ
|
|
|
|
|
int m_EndScanLineIdx;//<2F><><EFBFBD><EFBFBD>ɨ<EFBFBD><C9A8>ʱɨ<CAB1><C9A8><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
int m_TotalScanLineCnt;//ɨ<><C9A8><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
COffsetTable m_CurEditOffsetTable;//<2F><>ǰ<EFBFBD>༭<EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern CSlotRecipeDataMgr *gWaferRecipeDataMgr;
|