📄 common.h
字号:
typedef unsigned int Uint;
typedef unsigned char Uchar;
//LIA component define
typedef struct _alts{
bool ieeeAlt;
bool deMorganAlt;
} ALTS;
typedef struct _compHeader{
CString sourceLibrary;
CString compType;
int numPins;
Uchar numParts;
CString composition;
ALTS alts;
CString refDesPrefix;
} COMPHEADER;
typedef struct _compPin{
CString pinDes;
CString pinName;
CString strPartNum;
int partNum;
Uint symPinNum;
Uchar gateEq;
Uchar pinEq;
CString pinType;
} COMPPIN,*PCOMPPIN;
typedef struct _attachedSymbol{
int partNum;
Uchar numparts;
CString strPartNum;
CString altType;
CString symbolName;
CString symbolPathName;
CString symbolFileName;
CString tmpSymbolFileName;
} ATTACHEDSYMBOL,*PATTACHEDSYMBOL;
typedef struct _attachedPattern{
Uchar patternNum;
CString patternName;
Uint numPads;
} ATTACHEDPATTERN;
typedef struct _compDef{ //component definition
ATTACHEDPATTERN attachedPattern;
bool isAttachedSymbol;
bool isCompPin;
CString deviceName;
CString originalName;
CString allCompPinName;
CString allCompPinDes;
COMPHEADER compHeader;
CArray <COMPPIN,COMPPIN&> compPinCA;
CArray <ATTACHEDSYMBOL,ATTACHEDSYMBOL&> attachedSymbolCA;
UINT maxPadNum;
CArray <UINT,UINT&> padNumCA;
CArray <CString,CString&> aliasComponentCA;
} COMPDEF;
//LIA symbol define
typedef struct _aliasSymbol {
CString srcSymbolName;
CString desSymbolName;
CString srcSymbolFileName;
CString desSymbolFileName;
} ALIASSYMBOL;
typedef struct _arc{
float startAngle;
float endAngle;
float sweepAngle;
float biAangle;
float angle[3];
float x[4];
float y[4];
float radius;
float xRadius,yRadius;//a -long axis b-short axis
CString style;
} ARC;
typedef struct _attr{
CString attrName;
CString attrContent;
float pt[2];
bool isVisible;
CString justify;
} ATTR;
typedef struct _line{
float x[2];
float y[2];
CString style;
} LINE;
typedef struct _retangle {
int coordinate[4];
int x[2];
int y[2];
int borderType;
int borderColor;
int fillColor;
char select;
char isFilled;
} RECTANGLE;
typedef struct _poly{
//float x[50];
//float y[50];
CArray <float,float&> xCA;
CArray <float,float&> yCA;
char numPoints;
} POLY;
typedef struct _pin{
bool isInvert;
bool isClock;
char pinTypeIndex;
bool dispPin;
bool dispPinName;
bool dispPinDes;
char location;
char pinDesAlign;
char pinNameAlign;
char pinTypeAlign;
Uint pinNum;
int partNum;
bool isFlipped; //place flag of not above pinName
float x[2],y[2];
Uint rotation;
Uint pinLength;
CString pinDes;
CString pinName;
CString pinType;
CString thisKeyWord;
} PIN,*PINDEFP;
typedef struct _homoPinName{
int numPins;
CString pinName;
} HOMOPINNAME,*HOMO;
typedef struct _IEEESYMBOL {
float symbolNum;
float x0;
float y0;
float size;
float degree;
float lineType;
float color;
float isSelected;
float x[10],y[10];
} IEEESYMBOL, *IEEESYMBOLP;
typedef struct _signal{
CString pinName;
CString pinDes;
} SIGNAL;
typedef struct _text{
CString textContent;
float x,y;
Uint rotation;
CString justify;
} TEXT;
typedef struct _hetero {
CString symbolName;
Uchar numParts;
CString strPartNums;
//CArray <int,int&>partNumCA;
} HETERO;
typedef struct _symbolDef{ //symbol definition
float xMin,yMin,xMax,yMax;
float x,y;
UINT numSymbols;
Uint numParts;
Uint numAliasSymbols;
int partNum;
char rotation;
CString deviceName; //if deviceName=="" don't creat this symbol
CString desc;
CString originalName;
CString symbolName;
CString symbolPathName;
CString symbolFileName;
CString symbolListFileName;
CString hetero;
CString thisKeyWord;
CString symbolClass;
CString manufacture;
CArray <PIN,PIN&> pinCA;
CArray <LINE,LINE&> lineCA;
CArray <ATTR,ATTR&> attrCA;
CArray <ARC,ARC&> arcCA;
CArray <SIGNAL,SIGNAL&> signalCA;
CArray <HETERO,HETERO&> heteroCA;
CArray <HOMOPINNAME,HOMOPINNAME&> homoPinNameCA;
CArray <CString,CString&> aliasComponentCA;
CArray <RECTANGLE,RECTANGLE&> retangleCA;
CArray <TEXT,TEXT&> LableCA;
CArray <CString,CString&> polylineStrCA;
CArray <CString,CString&> IEEESymbolCA;
CArray <CString,CString&> BezierCA;
}SYMBOLDEF;
typedef struct _schDef {
CString placedSymbolName;
UINT numSymbols;
UINT x,y;
} SCHDEF;
//Expediont Part definition
typedef struct _partDef{ //device definition
CString desc;
CString deviceName;
CString refDesPrefix;
CString partFileName;
CString partFilePath;
CString partName;
CString partFileBuf;
CString partition;
Uint numPartFiles;
UINT numPads;
CString attachedSymbolName; //symbolName or HeteroName(max234_1,max234_2)
CString attachedPatternName; //if attachedPatternName="" don't creat this part
Uint numHeteros;
CArray <CString,CString&> heteroNameCA; //symbolName of different heteros
CArray <COMPPIN,COMPPIN&> supplyCA;
CArray <COMPPIN,COMPPIN&> powerCA;
CArray <CString,CString&> NCPinDesCA;
CArray <CString,CString&> pkgTypeCA;
} PARTDEF;
//Homonym pinName
//SAMEPINNAME
/* Note:
part definition refer to the definition of part in Expedtion
compDef refer to the definition of component in PROTEL DXP
In protel number of parts equal number of heteros
In Expedition number of parts don't equal number of heteros
Heteros and parts are different in symbol,if parts have same
symbol,they are parts,if parts in Protel have different symbol
thay are heteros.
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -