Primitives and Records
PCB Primitives
ID 1 - Arc
Represents a footprint arc primitive. Contains only one Block with the following data:
Name |
Size (Bytes) |
Datatype |
Comment |
|---|---|---|---|
Primitive Header |
13 |
||
Location |
8 |
||
Radius |
4 |
||
StartAngle |
8 |
||
EndAngle |
8 |
||
Width |
4 |
||
Unknown |
4 |
Only of length >= 56 |
|
Unknown |
2 |
Only of length >= 56 |
|
Unknown |
1 |
Only of length >= 56 |
|
Unknown |
4 |
Only of length >= 56 |
ID 2 - Pad
Represents a footprint pad primitive. Structured as:
Designator as PCB String Block
Unknown as Block
Unknown constant
|&|0as PCB String BlockUnknown as Block
First Block on information
Second Block on information
First block on information:
Name |
Size (Byte) |
Datatype |
Comment |
|---|---|---|---|
Primitive Header |
13 |
||
Location |
8 |
||
SizeTop |
8 |
||
SizeMiddle |
8 |
||
SizeBottom |
8 |
||
HoleSize |
4 |
||
ShapeTop |
1 |
||
ShapeMiddle |
1 |
||
ShapeBottom |
1 |
||
Rotation |
8 |
||
IsPlated |
1 |
||
Unknown constant |
1 |
Check Value #91 == 0? |
|
StackMode |
1 |
||
Unknown |
1 |
||
Unknown |
2 * 4 |
||
Unknown constant |
1 |
Check Value #102 == 4? |
|
Unknown |
3 * 4 |
||
PasteMaskExpansion |
4 |
||
SolderMaskExpansion |
4 |
||
Unknown |
7 |
||
PasteMaskExpansionManual |
1 |
||
SolderMaskExpansionManual |
1 |
||
Unknown |
3 |
||
Unknown |
4 |
||
JumperId |
2 |
||
Unknown |
2 |
Second block on information:
Name |
Size (Bytes) |
Datatype |
Comment |
|---|---|---|---|
Pad X Size of Middle Layers |
29 * 4 |
Needs to be combined into array of |
|
Pad Y Size of Middle Layers |
29 * 4 |
Needs to be combined into array of |
|
SizeMiddleLayers |
Merge of previous fields |
||
ShapeLayers |
30 * 1 |
||
Unknown |
1 |
||
HoleShape |
1 |
||
HoleSlotLength |
4 |
||
HoleRotation |
8 |
||
Offset X from Hole Center |
32 * 4 |
Needs to be combined into array of |
|
Offset Y from Hole Center |
32 * 4 |
Needs to be combined into array of |
|
OffsetsFromHoleCenter |
Merge of previous fields |
||
HasRoundedRect |
1 |
||
Shape Layers |
32 * 1 |
Use only if |
|
CornerRadiusPercentage |
32 * 1 |
ID 3 - Via
Represents a footprint via primitive. Contains only one Block with the following data:
Name |
Size (Bytes) |
Datatype |
Comment |
|---|---|---|---|
Primitive Header |
13 |
||
Location |
8 |
||
Diameter |
4 |
||
HoleSize |
4 |
||
FromLayer |
1 |
||
ToLayer |
1 |
||
Unknown |
1 |
||
ThermalReliefAirGapWidth |
4 |
||
ThermalReliefConductors |
1 |
||
Unknown |
3 * 4 |
||
SolderMaskExpansion |
4 |
||
Unknown |
8 * 4 |
||
SolderMaskExpansionManual |
1 |
||
Unknown |
1 |
||
Unknown |
2 |
||
Unknown |
4 |
||
DiameterStackMode |
1 |
||
Diameter |
32 * 4 |
Iterate for each Layer |
|
Unknown |
2 |
||
Unknown |
4 |
ID 4 - Track
Represents a footprint track primitive. Contains only one Block with the following data:
Name |
Size (Bytes) |
Datatype |
Comment |
|---|---|---|---|
Primitive Header |
13 |
||
Start |
8 |
X/Y PCBCoordinate |
|
End |
8 |
X/Y PCBCoordinate |
|
Width |
4 |
||
Unknown |
3 * 1 |
||
Unknown |
1 |
Only of length >= 41 |
|
Unknown |
4 |
Only of length >= 41 |
|
Unknown |
4 |
Only of length >= 45 |
ID 5 - String
Represents a footprint string primitive. Structured as:
Information as Block
ASCII text as PCB String Block
If the variable WideStringsIndex is set, read WideStrings
The information are structured as follows:
Name |
Size (Bytes) |
Datatype |
Comment |
|---|---|---|---|
Primitive Header |
13 |
||
Corner |
8 |
||
Height |
4 |
||
StrokeFont |
2 |
||
Rotation |
8 |
||
Mirrored |
1 |
||
StrokeWidth |
4 |
||
Unknown |
2 |
Only of length >= 123 |
|
Unknown |
1 |
Only of length >= 123 |
|
TextKind |
1 |
Only of length >= 123 |
|
FontBold |
1 |
Only of length >= 123 |
|
FontItalic |
1 |
Only of length >= 123 |
|
FontName |
32 |
Only of length >= 123, Unknown Definition |
|
BarcodeLRMargin |
4 |
Only of length >= 123 |
|
BarcodeTBMargin |
4 |
Only of length >= 123 |
|
Unknown |
24 * 1 |
Only of length >= 123 |
|
FontInverted |
1 |
Only of length >= 123 |
|
FontInvertedBorder |
4 |
Only of length >= 123 |
|
WideStringsIndex |
4 |
Only of length >= 123 |
|
Unknown |
4 |
Only of length >= 123 |
|
FontInvertedRect |
1 |
Only of length >= 123 |
|
FontInvertedRectWidth |
4 |
Only of length >= 123 |
|
FontInvertedRectHeight |
4 |
Only of length >= 123 |
|
FontInvertedRectJustification |
1 |
Only of length >= 123 |
|
FontInvertedRectTextOffset |
4 |
Only of length >= 123 |
ID 6 - Fill
Represents a footprint fill primitive. Contains only one Block with the following data:
Name |
Size (Bytes) |
Datatype |
Comment |
|---|---|---|---|
Primitive Header |
13 |
||
Corner1 |
8 |
||
Corner2 |
8 |
||
Rotation |
8 |
||
Unknown |
4 |
Only of length >= 41 |
|
Unknown |
1 |
Only of length >= 46 |
|
Unknown |
4 |
Only of length >= 46 |
ID 11 - Region
Represents a footprint region primitive. Contains only one Block with the following data:
Name |
Size (Bytes) |
Datatype |
Comment |
|---|---|---|---|
Primitive Header |
13 |
||
Unknown |
4 |
||
Unknown |
1 |
||
Parameters |
|||
outlineSize |
4 |
Number of outline points |
|
Outline X Point |
8 |
Needs to be combined into array of |
|
Outline Y Point |
8 |
Needs to be combined into array of |
|
Outline |
n * 8 |
ID 12 - Component Body
Represents a footprint component body primitive.
Schematic Records
ID 1 - Component
Set up schematic component part. Other objects, such as lines, pins and labels exist, which are “owned” by the component. The component object seems to occur before any of its child objects.
The parameters of this record are given a Schematic Record. This collection includes the default parameters Schematic Common Parameter and the following parameters:
Parameter |
Datatype |
Comment |
|---|---|---|
LibReference |
Symbol Name |
|
ComponentDescription |
optional Symbol Description |
|
PartCount |
Number of separated parts within component + 1 |
|
AllPinCount |
Number of Pins |
|
DisplayModeCount |
Number of alternative symbols for part |
ID 2 - Pin
Component pin, including line, name and number.
The parameters of this record are given a Schematic Record. This collection includes the default parameters Schematic Common Parameter as binary type Schematic Binary Pin. Some additional parameter are stored in a seperate
and the following parameters:
Parameter |
Datatype |
Comment |
|---|---|---|
Symbol_InnerEdge |
see ID 3 - IEEE Symbol |
|
Symbol_OuterEdge |
see ID 3 - IEEE Symbol |
|
Symbol_Inside |
see ID 3 - IEEE Symbol |
|
Symbol_Outside |
see ID 3 - IEEE Symbol |
|
Symbol_LineWdith |
||
Name |
||
Designator |
||
Description |
||
FormalType |
||
Electrical |
||
PinConglomerate |
||
PinLength; PinLength_Frac |
ID 3 - IEEE Symbol
Located near some component pins (see ID 2 - Pin)
The parameters of this record are given a Schematic Record. This collection includes the default parameters Schematic Common Parameter and the following parameters:
Parameter |
Datatype |
Comment |
|---|---|---|
Symbol |
||
IsMirrored |
||
LineWidth |
||
ScaleFactor |
ID 4 - Label
Text Note
The parameters of this record are given a Schematic Record. This collection includes the default parameters Schematic Common Parameter and the following parameters:
Parameter |
Datatype |
Comment |
|---|---|---|
Orientation |
||
Justification |
||
FontId |
||
Text |
||
IsMirrored |
||
IsHidden |
ID 5 - Bezier
Bezier curve for component symbol. Similar structure as ID 6 - Polyline.
The parameters of this record are given a Schematic Record. This collection includes the default parameters Schematic Common Parameter and the following parameters:
Parameter |
Datatype |
Comment |
|---|---|---|
LineStyle |
||
LineWidth |
||
IsSolid |
||
LocationCount |
Number of vertices |
|
X; X_Frac; Y; Y_Frac |
||
Transparent |
ID 6 - Polyline
Polyline for component symbol. Similar structure as ID 5 - Bezier.
The parameters of this record are given a Schematic Record. This collection includes the default parameters Schematic Common Parameter and the following parameters:
Parameter |
Datatype |
Comment |
|---|---|---|
LineStyle |
||
LineWidth |
||
IsSolid |
||
LocationCount |
Number of vertices |
|
X; X_Frac; Y; Y_Frac |
||
Transparent |
||
StartLineShape |
||
EndLineShape |
||
LineShapeSize |
ID 7 - Polygon
Polygon for component symbol. Similar structure as ID 6 - Polyline.
The parameters of this record are given a Schematic Record. This collection includes the default parameters Schematic Common Parameter and the following parameters:
Parameter |
Datatype |
Comment |
|---|---|---|
LineWidth |
||
IsSolid |
||
LocationCount |
Number of vertices |
|
X; X_Frac; Y; Y_Frac |
||
Transparent |
ID 8 - Ellipse
Ellipse for component symbol. Inherits Circle/Pie properties
The parameters of this record are given a Schematic Record. This collection includes the default parameters Schematic Common Parameter and the following parameters:
Parameter |
Datatype |
Comment |
|---|---|---|
Radius |
one coordinate for X-direction |
|
SecondaryRadius |
one coordinate for Y-direction |
|
IsSolid |
||
Linewidth |
||
X; X_Frac; Y; Y_Frac |
||
Transparent |
ID 9 - Pie
Same as Arc component (ID = 12). Start Angle is 0 degree and End Angle is 360 Degree
ID 10 - Rounded Rectangle
Similar to Rectangle for component symbol. One corner radius paraneter added
The parameters of this record are given a Schematic Record. This collection includes the default parameters Schematic Common Parameter and the following parameters:
Parameter |
Datatype |
Comment |
|---|---|---|
Corner |
Second Coordinate |
|
IsSolid |
||
Linewidth |
||
Transparent |
||
CornerXRadius |
||
CornerYRadius |
ID 11 - Elliptical Arc
Elliptical Arc for component symbol. Inherits Arc properties.
The parameters of this record are given a Schematic Record. This collection includes the default parameters Schematic Common Parameter and the following parameters:
Parameter |
Datatype |
Comment |
|---|---|---|
Radius |
one coordinate for X-direction |
|
SecondaryRadius |
one coordinate for Y-direction |
|
StartAngle |
||
EndAngle |
||
Linewidth |
||
Transparent |
ID 12 - Arc
Arc for component symbol.
The parameters of this record are given a Schematic Record. This collection includes the default parameters Schematic Common Parameter and the following parameters:
Parameter |
Datatype |
Comment |
|---|---|---|
Radius |
one coordinate for X-direction |
|
StartAngle |
||
EndAngle |
||
Linewidth |
||
Transparent |
ID 13 - Line
Line for component symbol
The parameters of this record are given a Schematic Record. This collection includes the default parameters Schematic Common Parameter and the following parameters:
Parameter |
Datatype |
Comment |
|---|---|---|
Corner |
||
LineStyle |
||
Linewidth |
ID 14 - Rectangle
Rectangle for component symbol.
The parameters of this record are given a Schematic Record. This collection includes the default parameters Schematic Common Parameter and the following parameters:
Parameter |
Datatype |
Comment |
|---|---|---|
Corner |
Second Coordinate |
|
IsSolid |
||
Linewidth |
||
Transparent |
ID 34 - Designator
Designator record for component symbol.
The parameters of this record are given a Schematic Record. This collection includes the default parameters Schematic Common Parameter and the following parameters:
Parameter |
Datatype |
Comment |
|---|---|---|
FontId |
||
Text |
||
IsMirrored |
||
IsHidden |
ID 41 - Parameter
Parameter record for component symbol.
The parameters of this record are given a Schematic Record. This collection includes the default parameters Schematic Common Parameter and the following parameters:
Parameter |
Datatype |
Comment |
|---|---|---|
FontId |
||
Name |
||
Text |
||
IsMirrored |
||
IsHidden |