Basic Primitive Format
NET Net Information Configuration
Net information is different from AD's design.
- AD requires it here.
- This format only fills it in when there are special
net typesandnet colors. The design difference stems from whether there is a dedicated net settings interface listing all nets for configuration.
{ "type": "NET","id": "A", "ticket": 1 }||
{
"netType":"High Speed",
"specialColor":"#666666",
"hideRetLine":0,
"differentialName":"AASDF",
"isPositiveNet":1,
"equalLengthGroupName":"ABC",
}|2
3
4
5
6
7
8
9
- type net configuration
NET. - id unique identifier, net name.
- ticket logical clock.
- netType net type:
nullmeans no type. - specialColor special color:
nullmeans no special color. - hideRetLine whether to hide airwires.
- differentialName differential pair name:
nullmeans not a differential pair. - isPositiveNet whether positive net of differential pair.
- equalLengthGroupName equal-length group name:
nullmeans not in an length-matching group.
{ "type": "NET","id": "B", "ticket": 1 }||
{
"netType":null,
"specialColor":"#666666",
"hideRetLine":1,
"differentialName":"AASDF",
"isPositiveNet":0,
"equalLengthGroupName":"ABC",
}|2
3
4
5
6
7
8
9
{ "type": "NET","id": "C", "ticket": 1 }||
{
"netType":"High Speed",
"specialColor":null,
"hideRetLine":1,
"differentialName":null,
"isPositiveNet":0,
"equalLengthGroupName":null,
}|2
3
4
5
6
7
8
9
PRIMITIVE Primitive Configuration
{ "type": "PRIMITIVE","id": "VIA", "ticket": 1 }||
{
"display":1,
"pick":0,
}|2
3
4
5
- type primitive configuration
PRIMITIVE. - id unique identifier, primitive name.
- ticket logical clock.
- display whether displayed.
- pick whether pickable.
{ "type": "PRIMITIVE","id": "PAD", "ticket": 1 }||
{
"display":0,
"pick":1,
}|2
3
4
5
GROUP Group Configuration
Through group configuration, each group is given a name. If there is no name, EDA decides how to display the default group name.
{ "type": "GROUP","id": "2", "ticket": 1 }||
{
"groupName":"ABCD",
}|2
3
4
- type group configuration
GROUP. - id group number.
- ticket logical clock.
- groupName name.
{ "type": "GROUP","id": "5", "ticket": 1 }||
{
"groupName":"Chinese Name",
}|2
3
4
CONNECT Primitive Association
Primitive association is used to express the internal combination logic of primitives, such as:
- Teardrops and their connections to
LINE,ARC,PAD,VIA. - Pads and their related pin 3D outline
FILL. CREASEandBOSS/SHELL_ENTITYconnections in 3D shells.- PCB overrides for primitives inside footprints.
Only one-to-many relationships are supported.
{ "type": "CONNECT","id": "e3", "ticket": 1 }||{ "relatedIds":["e15", "e18", "e100"] }|- type primitive association
CONNECT. - id main primitive ID.
- ticket logical clock.
- relatedIds associated primitive IDs.
Many-to-many relationships can be expressed with multiple records; there is no corresponding scenario at present.
{ "type": "CONNECT","id": "e4", "ticket": 1 }||{ "relatedIds":["e5", "e6"] }|{ "type": "CONNECT","id": "e5", "ticket": 1 }||{ "relatedIds":["e4", "e6"] }|{ "type": "CONNECT","id": "e6", "ticket": 1 }||{ "relatedIds":["e4", "e5"] }|For PCB overrides of primitives inside footprints, use the form /^[a-z]+\d+[a-z]+\d+$/i to combine footprint and inner primitive IDs to reference, as follows:
["DOCTYPE", "PCB", "1.0"]
["COMPONENT", "e13", 5, 1, ...]
["VIA", "e13e20", 0, "GND", "asdf", ....]
["PAD", "e13e25", 1, "GND", 0, "1", ....]
["CONNECT", "e13", ["e13e20", "e13e25"]]2
3
4
5
Footprint content is as follows:
["DOCTYPE", "FOOTPRINT", "1.0"]
["VIA", "e20", 0, "GND", "sss", ....]
["PAD", "e25", 1, "GND", 0, "3", ....]2
3
PROP Additional Primitive Properties
Some primitive properties are not required and are relatively generic, so PROP is used to assist in describing them.
{ "type": "PROP", "id":"UUID", "ticket": 1 }||{ "color":"#22ee44" }|- type additional primitive properties: PROP.
- id ID of the primitive being attached, two encoding forms:
- Normal ID: form
/^[a-z]+\d+$/i, e.g.e1,e123. - Footprint instance ID: form
/^[a-z]+\d+[a-z]+\d+$/i, used for silkscreen in footprints, e.g.e1e5,e12e22.
- Normal ID: form
- color special color.
{ "type": "PROP", "id":"e7e25", "ticket": 1 }||{ "color":"#22ee44" }|To override primitives inside a footprint, use this composite ID form.
EQLEN_GRP
{ "type": "EQLEN_GRP", "id":"UUID", "ticket": 1 }||
{
"name":"equal length pad group 2",
"sort":1.97,
"pads":
[
["U1:1", "U2:3"],
["U1:2", "U1:a"]
],
}|2
3
4
5
6
7
8
9
10
- type equal-length group:
EQLEN_GRP. - id unique ID.
- ticket logical clock.
- name equal-length group name, unique within the project.
- sort sort order.
- pads array identifying pads by
designator:pad number.