3D 外壳体系
SHELL 外壳
json
{ "type": "SHELL", "id":"UUID", "ticket": 1 }||
{
"partitionId":null,
"groupId":0,
"locked":1,
"zIndex":0.223,
"shellType":"T&B",
"shellHeight":50,
"pcbHeight":100,
"strokeWidth":10,
"path":"复杂多边形",
"attrs":{},
}|1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
- type 外壳
SHELL - id 图元编号, 文档内唯一
- ticket 逻辑时钟
- partitionId 所属分区编号,为 null 表示无分区,封装忽略该字段
- groupId 分组编号:0 不分组,非 0 为组标志,相同组标志的为一组
- locked 是否锁定
- zIndex Z 轴高度
- shellType 外壳类型
T&B上下壳DRAWER推盖CLAM翻盖
- shellHeight 外壳高度
- pcbHeight PCB 高度
- strokeWidth *线宽(弃用)
- path 参考复杂多边形
- attrs 自定义属性:3D 外壳每种类型都有一组自定义的外壳属性
- T&B
- Thickness:外壳厚度
- BottomHeight:下壳高度
- TopInnerHeight:上壳内壁高度
- TopInnerThickness:上壳内壁厚度
- DRAWER
- Thickness:外壳厚度
- Direction:推盖方向
1X 轴正向2X 轴负向4Y 轴正向8Y 轴负向
- T&B
CREASE 侧面基准线(折痕)
CREASE 折痕图元需要配合 CONNECT 关联 SHELL_ENTITY BOSS,以表达外壳挖槽
json
{ "type": "CREASE", "id":"UUID", "ticket": 1 }||
{
"partitionId":null,
"groupId":0,
"locked":1,
"zIndex":8.275,
"layerId":49,
"startX":20,
"startY":30,
"endX":40,
"endY":50,
"angle":90,
}|1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
- type 折痕
CREASE - id 图元编号, 文档内唯一
- ticket 逻辑时钟
- partitionId 所属分区编号,为 null 表示无分区,封装忽略该字段
- groupId 分组编号:0 不分组,非 0 为组标志,相同组标志的为一组
- locked 是否锁定
- zIndex Z 轴高度
- layerId 层编号
- startX 起始 X
- startY 起始 Y
- endX 结束 X
- endY 结束 Y
- angle 折叠角度
SHELL_ENTITY 外壳实体区域
没有通过 CONNECT 与 CREASE 关联的 SHELL_ENTITY,则垂直进行顶层、底层外壳的填充/裁剪(挖槽)
json
{ "type": "SHELL_ENTITY", "id":"UUID", "ticket": 1 }||
{
"partitionId":null,
"groupId":0,
"locked":1,
"zIndex":0.15,
"layerId":50,
"booleanOperation":0,
"belong":0,
"depth":10,
"strokeWidth":10,
"path":"复杂多边形",
}|1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
- type 外壳实体区域
SHELL_ENTITY - id 图元编号, 文档内唯一
- ticket 逻辑时钟
- partitionId 所属分区编号,为 null 表示无分区,封装忽略该字段
- groupId 分组编号:0 不分组,非 0 为组标志,相同组标志的为一组
- locked 是否锁定
- zIndex Z 轴高度
- layerId 层编号
- booleanOperation 布尔操作:0 裁剪 1 填充
- belong 隶属:0 自动 1 上壳 2 下壳 4 外壳边框 8 螺丝柱 16 实体,可通过加法组合
- 上下壳:3 = 1 + 2
- 外壳边框 + 螺丝柱:12 = 4 + 8
- 螺丝柱 + 实体:24 = 8 + 16
- 外壳边框 + 螺丝柱 + 实体:28 = 4 + 8 + 16
- depth 深度
- strokeWidth 线宽
- path 参考复杂多边形
BOSS 螺丝柱
通过 CONNECT 与 CREASE 关联的 BOSS,添加的是侧方的螺丝柱
json
{ "type": "BOSS", "id":"UUID", "ticket": 1 }||
{
"partitionId":null,
"groupId":0,
"locked":1,
"zIndex":0.8976,
"layerId":50,
"centerX":100,
"centerY":200,
"specification":"M2",
"depth":100,
"thickness":10,
"holeDiameter":20,
"counterBore":[100, 20],
"stiffener":[20, 40, 20, 10],
}|1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
- type 螺丝柱
BOSS - id 图元编号, 文档内唯一
- ticket 逻辑时钟
- partitionId 所属分区编号,为 null 表示无分区,封装忽略该字段
- groupId 分组编号:0 不分组,非 0 为组标志,相同组标志的为一组
- locked 是否锁定
- zIndex Z 轴高度
- layerId 层编号
- centerX 中心 X
- centerY 中心 Y
- specification 螺丝型号:
"M2""M3"等,或者null表示自定义 - depth 螺丝柱高度
- thickness 螺丝柱壁厚
- holeDiameter 螺丝柱通孔直径
- counterBore 沉头所需参数,当此参数为
null时表示不需要沉头- 螺丝头高度
- 螺丝头直径
- stiffener 加强筋所需参数,当此参数为
null时表示不需要加强筋- 加强筋上端宽度
- 加强筋下端宽度
- 加强筋距螺丝柱上端距离
- 加强筋厚度