|
|
|
|
|
#pragma once
|
|
|
|
|
|
#include <QString>
|
|
|
|
|
|
#include <vector>
|
|
|
|
|
|
#include <iostream>
|
|
|
|
|
|
#include <bitset>
|
|
|
|
|
|
#include <sstream>
|
|
|
|
|
|
#include <iomanip>
|
|
|
|
|
|
#include <string>
|
|
|
|
|
|
#include <algorithm>
|
|
|
|
|
|
#include <cctype>
|
|
|
|
|
|
|
|
|
|
|
|
#include "global.h"
|
|
|
|
|
|
//#include "mappingchart_global.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class _declspec(dllexport) RecipeAttrObj
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
typedef struct
|
|
|
|
|
|
{
|
|
|
|
|
|
int id;
|
|
|
|
|
|
int type; //0:<3A>߶Σ<DFB6>1<EFBFBD><31><EFBFBD><EFBFBD>Բ
|
|
|
|
|
|
double x1;
|
|
|
|
|
|
double x2;
|
|
|
|
|
|
double y1;
|
|
|
|
|
|
double y2;
|
|
|
|
|
|
double diameter; //ֱ<><D6B1>
|
|
|
|
|
|
}MarkGraphics;
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
RecipeAttrObj();
|
|
|
|
|
|
~RecipeAttrObj();
|
|
|
|
|
|
|
|
|
|
|
|
RecipeAttrObj& operator=(const RecipeAttrObj& other);
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
void GenerateWaferIdContent(int autoGenWay, int cassSlot);
|
|
|
|
|
|
int JudgeWaferSize();
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
std::vector<unsigned char> stringToBytes(const std::string& str);
|
|
|
|
|
|
|
|
|
|
|
|
uint8_t crc82(const std::vector<unsigned char>& data);
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
QString m_PPID;
|
|
|
|
|
|
|
|
|
|
|
|
int m_dieMarkFlag; //0<><30><EFBFBD><EFBFBD>δѡ<CEB4>У<EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>
|
|
|
|
|
|
int m_waferIDMarkFlag; //0<><30><EFBFBD><EFBFBD>δѡ<CEB4>У<EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>
|
|
|
|
|
|
|
|
|
|
|
|
QString m_lotID;
|
|
|
|
|
|
double m_waferDie; //waferֱ<72><D6B1>
|
|
|
|
|
|
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; //<2F><><EFBFBD><EFBFBD>QƵ<51><C6B5> Ӣ<>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵƵ<CAB5><C6B5>
|
|
|
|
|
|
double m_laserPower; //<2F><><EFBFBD><EFBFBD>EƵ<45><C6B5> Ӣ<>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD>ձ<EFBFBD>
|
|
|
|
|
|
double m_laserRealPower; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD>ʶ<EFBFBD>Ӧ<EFBFBD><D3A6>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
double m_markZFocus; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD>ʶ<EFBFBD>Ӧ<EFBFBD><D3A6>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
|
|
|
|
|
|
QString m_charContent; //<2F>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
QString m_markCharContent;
|
|
|
|
|
|
double m_charSpacing; //<2F>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
double m_offsetNorchX;
|
|
|
|
|
|
double m_offsetNorchY;
|
|
|
|
|
|
double m_semiWidth;
|
|
|
|
|
|
double m_semiHeight;
|
|
|
|
|
|
int m_isAutoGenerrate; //0<><30><EFBFBD><EFBFBD>ԭʼ<D4AD><CABC>1<EFBFBD><31><EFBFBD><EFBFBD>ԭʼ+SLOT,2<><32><EFBFBD><EFBFBD>ԭʼ+SLOT+CRC8
|
|
|
|
|
|
int m_isMarkChar; //1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̣<EFBFBD>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
double m_markFocal;
|
|
|
|
|
|
|
|
|
|
|
|
int m_markType; //0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
double m_circleMarkAngle;
|
|
|
|
|
|
|
|
|
|
|
|
int m_addSerialFlag; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ģʽ<C4A3><CABD>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD>
|
|
|
|
|
|
QString m_serialStartStr; //<2F><>ˮ<EFBFBD>뿪ʼ<EBBFAA>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>bool DieUI::SetRecipeDie(RecipeAttrObj& obj)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>ֵ
|
|
|
|
|
|
//double m_serialCharWidth; //<2F><>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD>
|
|
|
|
|
|
//double m_serialCharHeight; //<2F><>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD>
|
|
|
|
|
|
//double m_serialCharSpacing; //<2F><>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
//double m_serialCharCoordX;
|
|
|
|
|
|
//double m_serialCharCoordY;
|
|
|
|
|
|
|
|
|
|
|
|
QString m_areaOffsetStr; //<2F><><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
|
|
|
|
|
double m_waferOffsetX; //<2F><><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB>
|
|
|
|
|
|
double m_waferOffsetY; //<2F><><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB>
|
|
|
|
|
|
int m_yDirectionOffsetUseXFlag; //0<><30><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>X<EFBFBD><58><EFBFBD><EFBFBD>Y<EFBFBD><59><EFBFBD><EFBFBD> 1<><31>ʹ<EFBFBD><CAB9>X<EFBFBD><58><EFBFBD><EFBFBD>Y<EFBFBD><59><EFBFBD><EFBFBD>
|
|
|
|
|
|
double m_yDirectionOneOffset; //<2F><><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>һ<EFBFBD>Ų<EFBFBD><C5B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int m_xDirectionAutoOffsetFlag; //0<><30><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD> 1<><31><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
QString m_fontType;
|
|
|
|
|
|
std::vector<MarkChar> m_markCharVec;
|
|
|
|
|
|
std::vector<MarkChar> m_InputMarkCharVec;
|
|
|
|
|
|
std::vector<MarkGraphics> m_markGraphicsVec;
|
|
|
|
|
|
};
|