基础图元格式
NET 配置网络信息
网络信息和 AD 的设计有区别
- AD 这里是必选的
- 本格式只是需要有特殊
网络类型和网络颜色才填写上去 设计差异的原因在于是否有一个专门的网络设置界面,会列出所有网络去设置
json
{ "type": "NET","id": "A", "ticket": 1 }||
{
"netType":"High Speed",
"specialColor":"#666666",
"hideRetLine":0,
"differentialName":"AASDF",
"isPositiveNet":1,
"equalLengthGroupName":"ABC",
}|1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
- type 网络配置
NET - id 唯一标识,网络名称
- ticket 逻辑时钟
- netType 网络类型:
null为无类型 - specialColor 特殊颜色:
null为无特殊颜色 - hideRetLine 是否隐藏飞线
- differentialName 差分对名称:
null为非差分对 - isPositiveNet 是否差分对正极
- equalLengthGroupName 等长组名称:
null为非等长组
json
{ "type": "NET","id": "B", "ticket": 1 }||
{
"netType":null,
"specialColor":"#666666",
"hideRetLine":1,
"differentialName":"AASDF",
"isPositiveNet":0,
"equalLengthGroupName":"ABC",
}|1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
json
{ "type": "NET","id": "C", "ticket": 1 }||
{
"netType":"High Speed",
"specialColor":null,
"hideRetLine":1,
"differentialName":null,
"isPositiveNet":0,
"equalLengthGroupName":null,
}|1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
PRIMITIVE 图元配置
json
{ "type": "PRIMITIVE","id": "VIA", "ticket": 1 }||
{
"display":1,
"pick":0,
}|1
2
3
4
5
2
3
4
5
- type 图元配置
PRIMITIVE - id 唯一标识,图元名称
- ticket 逻辑时钟
- display 是否显示
- pick 是否可拾取
json
{ "type": "PRIMITIVE","id": "PAD", "ticket": 1 }||
{
"display":0,
"pick":1,
}|1
2
3
4
5
2
3
4
5
GROUP 分组配置
通过分组配置,给每个组一个名称,如果无名称,由 EDA 决定如何显示默认组名
json
{ "type": "GROUP","id": "2", "ticket": 1 }||
{
"groupName":"ABCD",
}|1
2
3
4
2
3
4
- type 分组配置
GROUP - id 分组编号
- ticket 逻辑时钟
- groupName 名称
json
{ "type": "GROUP","id": "5", "ticket": 1 }||
{
"groupName":"中文名称",
}|1
2
3
4
2
3
4
CONNECT 图元关联
图元关联用于表达一些图元的内部组合逻辑,例如
- 泪滴与
LINEARCPADVIA的联系 - 焊盘与其相关的引脚 3D 外形
FILL的联系 - 3D 外壳中
CREASE与BOSSSHELL_ENTITY的联系 - PCB 针对封装内图元的覆盖
只支持表达一对多的关系
json
{ "type": "CONNECT","id": "e3", "ticket": 1 }||{ "relatedIds":["e15", "e18", "e100"] }|1
- type 图元关联
CONNECT - id 主图元编号
- ticket 逻辑时钟
- relatedIds 关联的图元编号
多对多的关系可以用多个表达,暂时没有对应场景
json
{ "type": "CONNECT","id": "e4", "ticket": 1 }||{ "relatedIds":["e5", "e6"] }|1
json
{ "type": "CONNECT","id": "e5", "ticket": 1 }||{ "relatedIds":["e4", "e6"] }|1
json
{ "type": "CONNECT","id": "e6", "ticket": 1 }||{ "relatedIds":["e4", "e5"] }|1
PCB 中针对封装内图元的覆盖,使用形如 /^[a-z]+\d+[a-z]+\d+$/i 的形式将封装和里面图元 ID 拼一起来引用,表达如下
json
["DOCTYPE", "PCB", "1.0"]
["COMPONENT", "e13", 5, 1, ...]
["VIA", "e13e20", 0, "GND", "asdf", ....]
["PAD", "e13e25", 1, "GND", 0, "1", ....]
["CONNECT", "e13", ["e13e20", "e13e25"]]1
2
3
4
5
2
3
4
5
封装内容如下
json
["DOCTYPE", "FOOTPRINT", "1.0"]
["VIA", "e20", 0, "GND", "sss", ....]
["PAD", "e25", 1, "GND", 0, "3", ....]1
2
3
2
3
PROP 附加图元属性
有一些图元属性非必须表达,且相对通用,则用 PROP 辅助描述
json
{ "type": "PROP", "id":"UUID", "ticket": 1 }||{ "color":"#22ee44" }|1
- type 附加图元属性:PROP
- id 被附加的图元编号:有两种编码形式
- 普通编号:形式为
/^[a-z]+\d+$/i,如e1e123等 - 封装实例编号:形式为
/^[a-z]+\d+[a-z]+\d+$/i,用于如封装中的丝印等,如e1e5e12e22等
- 普通编号:形式为
- color 特殊颜色
json
{ "type": "PROP", "id":"e7e25", "ticket": 1 }||{ "color":"#22ee44" }|1
如果要覆盖封装内的图元,则采用此复合编号的形式去描述
EQLEN_GRP
json
{ "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"]
],
}|1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
- type 等长组:
EQLEN_GRP - id 唯一编号
- ticket 逻辑时钟
- name 等长组名称:全工程唯一
- sort 排序
- pads 用
位号:焊盘编号标识焊盘的数组