#pragma once #include #include #include #include #include #include #include #include #include #include "global.h" //#include "mappingchart_global.h" class _declspec(dllexport) RecipeAttrObj { public: typedef struct { int id; int type; //0:线段,1代表圆 double x1; double x2; double y1; double y2; double diameter; //直径 }MarkGraphics; public: RecipeAttrObj(); ~RecipeAttrObj(); RecipeAttrObj& operator=(const RecipeAttrObj& other); public: void GenerateWaferIdContent(int autoGenWay, int cassSlot); int JudgeWaferSize(); private: std::vector stringToBytes(const std::string& str); uint8_t crc82(const std::vector& data); public: QString m_PPID; int m_dieMarkFlag; //0代表未选中,1代表选中 int m_waferIDMarkFlag; //0代表未选中,1代表选中 QString m_lotID; double m_waferDie; //wafer直径 double m_waferThick; double m_dieWidth; double m_dieHeight; double m_baseDieCoordX; double m_baseDIeCoordY; double m_mark1CoordX; double m_mark1CoordY; double m_mark2CoordX; double m_mark2CoordY; double m_watchDie1X; double m_watchDie1Y; double m_watchDie2X; double m_watchDie2Y; double m_mark1ToAxisCoordX; double m_mark1ToAxisCoordY; double m_mark2ToAxisCoordX; double m_mark2ToAxisCoordY; double m_norchToAxisCoordX; double m_norchToAxisCoordY; QString m_cameraModuleID; QString m_cameraMark1ModuleID; QString m_cameraMark2ModuleID; QString m_cameraZFocus; double m_workSpeed; double m_emptySpeed; double m_openFrontDelay; double m_openBackDelay; double m_closeFrontDelay; double m_closeBackDelay; double m_drTime; double m_laserFreq; //激光Q频率 英谷激光器代表真实频率 double m_laserPower; //激光E频率 英谷激光器代表占空比 double m_laserRealPower; //激光器频率对应真实功率值 double m_markZFocus; //激光器频率对应真实功率值 QString m_charContent; //字符内容 QString m_markCharContent; double m_charSpacing; //字符间距 double m_offsetNorchX; double m_offsetNorchY; double m_semiWidth; double m_semiHeight; int m_isAutoGenerrate; //0代表原始,1代表原始+SLOT,2代表原始+SLOT+CRC8 int m_isMarkChar; //1代表标刻,0代表不标刻只是跑流程 double m_markFocal; int m_markType; //0代表正常打,1 代表环打 double m_circleMarkAngle; int m_addSerialFlag; //是否增加流水码模式,0不增加,1增加 QString m_serialStartStr; //流水码开始字符串,在bool DieUI::SetRecipeDie(RecipeAttrObj& obj)函数内设置默认值 //double m_serialCharWidth; //流水码宽 //double m_serialCharHeight; //流水码高 //double m_serialCharSpacing; //流水码间隔 //double m_serialCharCoordX; //double m_serialCharCoordY; QString m_areaOffsetStr; //区域偏移字符串 double m_waferOffsetX; //整体偏移 double m_waferOffsetY; //整体偏移 int m_yDirectionOffsetUseXFlag; //0:不使用X方向补偿Y方向 1:使用X方向补偿Y方向 double m_yDirectionOneOffset; //根据测试之后,一颗补偿多少 int m_xDirectionAutoOffsetFlag; //0:不自动补偿 1:自动补偿 QString m_fontType; std::vector m_markCharVec; std::vector m_InputMarkCharVec; std::vector m_markGraphicsVec; };