Files
Robot_Arm/docs/travel_detail.json
T
cbb b0efb44368 feat(arm): 建模代码拆成每件一模块,查看器新增工程图与装配步骤页
- src/parts/p01~p09 + src/part_tools.py:几何、件号/配色/说明与装配帧归属随各自件文件走,arm_model.py 只留装配流水线并对件级符号做只读转发;P04_CH / P07_CH / P06_WIN_XZ / FENCE_OPEN_CUT 这类开关必须写所在件文件,写 arm_model.X 不生效,A/B 判据为翻转后体积变化
- docs/sheet_{exploded,front,side,joint}.svg + draw_sheet.py:四张工程图进查看器页签,支持图层开关、件号高亮与 BOM/3D 联动跳转
- travel/travel_detail/collide/bom/screws 随最新几何重生成;补线束走线、拆卸定位点与 P04 承压面剖切验证图
- .gitignore 排除 .bak/ 与 *.bak_* 源码快照(旧版本 git 历史里已有)
2026-10-14 22:03:18 +08:00

1304 lines
20 KiB
JSON

{
"generated": "2026-10-13 22:00:28",
"vol_min": 2.0,
"step": 2.0,
"combo_step": 6.0,
"workers": 20,
"fixture_included": true,
"singles": {
"J1": {
"lo": -180.0,
"hi": 180.0,
"jams": {}
},
"J2": {
"lo": -93.38,
"hi": 10.38,
"jams": {
"12.0": [
[
"P01_A_立柱下段_三角形30%_墙4底5_竖打",
"P08_腕偏转座_螺旋体25%_墙4底5_竖打",
2668.7,
[
-52.9,
137.2,
152.9
]
]
],
"-94.0": [
[
"P04_肩叉_螺旋体30%_墙5底5_竖打",
"P05_大臂旋转座_螺旋体30%_墙4底5_竖打",
83.6,
[
56.7,
133.7,
523.3
]
]
]
}
},
"J3": {
"lo": -180.0,
"hi": 180.0,
"jams": {}
},
"J4": {
"lo": -112.62,
"hi": 17.88,
"jams": {
"18.0": [
[
"P01_A_立柱下段_三角形30%_墙4底5_竖打",
"P09_工具法兰_螺旋体30%_墙4底5_竖打",
6.2,
[
-82.2,
128.0,
116.1
]
]
],
"-114.0": [
[
"P05_大臂旋转座_螺旋体30%_墙4底5_竖打",
"P07_小臂骨架_螺旋体30%_墙5底5_竖打",
30.3,
[
53.6,
128.0,
384.9
]
]
]
}
},
"J5": {
"lo": -94.75,
"hi": 35.75,
"jams": {
"36.0": [
[
"P01_A_立柱下段_三角形30%_墙4底5_竖打",
"P09_工具法兰_螺旋体30%_墙4底5_竖打",
11.4,
[
-82.4,
128.0,
140.6
]
]
],
"-96.0": [
[
"P07_小臂骨架_螺旋体30%_墙5底5_竖打",
"P08_腕偏转座_螺旋体25%_墙4底5_竖打",
144.8,
[
55.5,
130.4,
257.0
]
]
]
}
},
"J6": {
"lo": -180.0,
"hi": 180.0,
"jams": {}
}
},
"combos": [
{
"pass_": 0,
"hold": "J1",
"hold_at": -180.0,
"swept": "J2",
"direction": "hi",
"old": 10.375,
"new": 5.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J1",
"hold_at": -180.0,
"swept": "J2",
"direction": "lo",
"old": -93.375,
"new": -91.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J1",
"hold_at": -180.0,
"swept": "J3",
"direction": "hi",
"old": 180.0,
"new": 179.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J1",
"hold_at": -180.0,
"swept": "J4",
"direction": "hi",
"old": 17.875,
"new": 11.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J1",
"hold_at": -180.0,
"swept": "J4",
"direction": "lo",
"old": -112.625,
"new": -109.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J1",
"hold_at": -180.0,
"swept": "J5",
"direction": "hi",
"old": 35.75,
"new": 29.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J1",
"hold_at": -180.0,
"swept": "J5",
"direction": "lo",
"old": -94.75,
"new": -91.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J1",
"hold_at": -180.0,
"swept": "J6",
"direction": "hi",
"old": 180.0,
"new": 179.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J1",
"hold_at": 180.0,
"swept": "J2",
"direction": "hi",
"old": 5.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J1",
"hold_at": 180.0,
"swept": "J3",
"direction": "hi",
"old": 179.0,
"new": 173.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J1",
"hold_at": 180.0,
"swept": "J4",
"direction": "hi",
"old": 11.0,
"new": 5.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J1",
"hold_at": 180.0,
"swept": "J5",
"direction": "hi",
"old": 29.0,
"new": 23.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J1",
"hold_at": 180.0,
"swept": "J6",
"direction": "hi",
"old": 179.0,
"new": 173.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J2",
"hold_at": -91.0,
"swept": "J1",
"direction": "hi",
"old": 180.0,
"new": 179.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J2",
"hold_at": -91.0,
"swept": "J3",
"direction": "hi",
"old": 173.0,
"new": 167.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J2",
"hold_at": -91.0,
"swept": "J4",
"direction": "hi",
"old": 5.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J2",
"hold_at": -91.0,
"swept": "J5",
"direction": "hi",
"old": 23.0,
"new": 17.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J2",
"hold_at": -91.0,
"swept": "J6",
"direction": "hi",
"old": 173.0,
"new": 167.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J3",
"hold_at": -180.0,
"swept": "J1",
"direction": "hi",
"old": 179.0,
"new": 173.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J3",
"hold_at": -180.0,
"swept": "J2",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J3",
"hold_at": -180.0,
"swept": "J4",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {
"-18.0": [
[
"P01_A_立柱下段_三角形30%_墙4底5_竖打",
"P09_工具法兰_螺旋体30%_墙4底5_竖打",
6.2,
[
-82.2,
128.0,
116.1
]
]
]
}
},
{
"pass_": 0,
"hold": "J3",
"hold_at": -180.0,
"swept": "J4",
"direction": "lo",
"old": -109.0,
"new": -18.625,
"jams": {
"-18.0": [
[
"P01_A_立柱下段_三角形30%_墙4底5_竖打",
"P09_工具法兰_螺旋体30%_墙4底5_竖打",
6.2,
[
-82.2,
128.0,
116.1
]
]
]
}
},
{
"pass_": 0,
"hold": "J3",
"hold_at": -180.0,
"swept": "J5",
"direction": "hi",
"old": 17.0,
"new": 11.0,
"jams": {
"-36.0": [
[
"P01_A_立柱下段_三角形30%_墙4底5_竖打",
"P09_工具法兰_螺旋体30%_墙4底5_竖打",
11.4,
[
-82.4,
128.0,
140.6
]
]
]
}
},
{
"pass_": 0,
"hold": "J3",
"hold_at": -180.0,
"swept": "J5",
"direction": "lo",
"old": -91.0,
"new": -36.625,
"jams": {
"-36.0": [
[
"P01_A_立柱下段_三角形30%_墙4底5_竖打",
"P09_工具法兰_螺旋体30%_墙4底5_竖打",
11.4,
[
-82.4,
128.0,
140.6
]
]
]
}
},
{
"pass_": 0,
"hold": "J3",
"hold_at": -180.0,
"swept": "J6",
"direction": "hi",
"old": 167.0,
"new": 161.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J3",
"hold_at": 167.0,
"swept": "J1",
"direction": "hi",
"old": 173.0,
"new": 167.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J3",
"hold_at": 167.0,
"swept": "J2",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J3",
"hold_at": 167.0,
"swept": "J4",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {
"-18.0": [
[
"P01_A_立柱下段_三角形30%_墙4底5_竖打",
"P09_工具法兰_螺旋体30%_墙4底5_竖打",
186.7,
[
-83.1,
104.7,
120.8
]
]
]
}
},
{
"pass_": 0,
"hold": "J3",
"hold_at": 167.0,
"swept": "J4",
"direction": "lo",
"old": -18.625,
"new": -17.875,
"jams": {
"-18.0": [
[
"P01_A_立柱下段_三角形30%_墙4底5_竖打",
"P09_工具法兰_螺旋体30%_墙4底5_竖打",
186.7,
[
-83.1,
104.7,
120.8
]
]
]
}
},
{
"pass_": 0,
"hold": "J3",
"hold_at": 167.0,
"swept": "J5",
"direction": "hi",
"old": 11.0,
"new": 5.0,
"jams": {
"-36.0": [
[
"P01_A_立柱下段_三角形30%_墙4底5_竖打",
"P09_工具法兰_螺旋体30%_墙4底5_竖打",
2.5,
[
-82.0,
108.0,
138.4
]
]
]
}
},
{
"pass_": 0,
"hold": "J3",
"hold_at": 167.0,
"swept": "J6",
"direction": "hi",
"old": 161.0,
"new": 155.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J4",
"hold_at": -17.875,
"swept": "J1",
"direction": "hi",
"old": 167.0,
"new": 161.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J4",
"hold_at": -17.875,
"swept": "J2",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J4",
"hold_at": -17.875,
"swept": "J3",
"direction": "hi",
"old": 167.0,
"new": 157.625,
"jams": {
"162.0": [
[
"P01_A_立柱下段_三角形30%_墙4底5_竖打",
"P09_工具法兰_螺旋体30%_墙4底5_竖打",
52.0,
[
-82.5,
104.7,
117.4
]
]
],
"-162.0": [
[
"P01_A_立柱下段_三角形30%_墙4底5_竖打",
"P09_工具法兰_螺旋体30%_墙4底5_竖打",
52.0,
[
-82.5,
151.3,
117.4
]
]
]
}
},
{
"pass_": 0,
"hold": "J4",
"hold_at": -17.875,
"swept": "J3",
"direction": "lo",
"old": -180.0,
"new": -159.625,
"jams": {
"162.0": [
[
"P01_A_立柱下段_三角形30%_墙4底5_竖打",
"P09_工具法兰_螺旋体30%_墙4底5_竖打",
52.0,
[
-82.5,
104.7,
117.4
]
]
],
"-162.0": [
[
"P01_A_立柱下段_三角形30%_墙4底5_竖打",
"P09_工具法兰_螺旋体30%_墙4底5_竖打",
52.0,
[
-82.5,
151.3,
117.4
]
]
]
}
},
{
"pass_": 0,
"hold": "J4",
"hold_at": -17.875,
"swept": "J5",
"direction": "hi",
"old": 5.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J4",
"hold_at": -17.875,
"swept": "J6",
"direction": "hi",
"old": 155.0,
"new": 149.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J5",
"hold_at": -36.625,
"swept": "J1",
"direction": "hi",
"old": 161.0,
"new": 155.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J5",
"hold_at": -36.625,
"swept": "J2",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J5",
"hold_at": -36.625,
"swept": "J3",
"direction": "hi",
"old": 157.625,
"new": 155.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J5",
"hold_at": -36.625,
"swept": "J3",
"direction": "lo",
"old": -159.625,
"new": -157.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J5",
"hold_at": -36.625,
"swept": "J4",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J5",
"hold_at": -36.625,
"swept": "J4",
"direction": "lo",
"old": -17.875,
"new": -13.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J5",
"hold_at": -36.625,
"swept": "J6",
"direction": "hi",
"old": 149.0,
"new": 143.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J6",
"hold_at": -180.0,
"swept": "J1",
"direction": "hi",
"old": 155.0,
"new": 149.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J6",
"hold_at": -180.0,
"swept": "J2",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J6",
"hold_at": -180.0,
"swept": "J3",
"direction": "hi",
"old": 155.0,
"new": 149.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J6",
"hold_at": -180.0,
"swept": "J4",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J6",
"hold_at": -180.0,
"swept": "J5",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J6",
"hold_at": 143.0,
"swept": "J1",
"direction": "hi",
"old": 149.0,
"new": 143.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J6",
"hold_at": 143.0,
"swept": "J2",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J6",
"hold_at": 143.0,
"swept": "J3",
"direction": "hi",
"old": 149.0,
"new": 143.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J6",
"hold_at": 143.0,
"swept": "J4",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 0,
"hold": "J6",
"hold_at": 143.0,
"swept": "J5",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J1",
"hold_at": -180.0,
"swept": "J2",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J1",
"hold_at": -180.0,
"swept": "J3",
"direction": "hi",
"old": 143.0,
"new": 137.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J1",
"hold_at": -180.0,
"swept": "J4",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J1",
"hold_at": -180.0,
"swept": "J5",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J1",
"hold_at": -180.0,
"swept": "J6",
"direction": "hi",
"old": 143.0,
"new": 137.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J1",
"hold_at": 143.0,
"swept": "J2",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J1",
"hold_at": 143.0,
"swept": "J3",
"direction": "hi",
"old": 137.0,
"new": 131.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J1",
"hold_at": 143.0,
"swept": "J4",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J1",
"hold_at": 143.0,
"swept": "J5",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J1",
"hold_at": 143.0,
"swept": "J6",
"direction": "hi",
"old": 137.0,
"new": 131.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J2",
"hold_at": -91.0,
"swept": "J1",
"direction": "hi",
"old": 143.0,
"new": 137.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J2",
"hold_at": -91.0,
"swept": "J3",
"direction": "hi",
"old": 131.0,
"new": 125.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J2",
"hold_at": -91.0,
"swept": "J4",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J2",
"hold_at": -91.0,
"swept": "J5",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J2",
"hold_at": -91.0,
"swept": "J6",
"direction": "hi",
"old": 131.0,
"new": 125.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J3",
"hold_at": -157.0,
"swept": "J1",
"direction": "hi",
"old": 137.0,
"new": 131.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J3",
"hold_at": -157.0,
"swept": "J2",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J3",
"hold_at": -157.0,
"swept": "J4",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J3",
"hold_at": -157.0,
"swept": "J5",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J3",
"hold_at": -157.0,
"swept": "J6",
"direction": "hi",
"old": 125.0,
"new": 119.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J3",
"hold_at": 125.0,
"swept": "J1",
"direction": "hi",
"old": 131.0,
"new": 125.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J3",
"hold_at": 125.0,
"swept": "J2",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J3",
"hold_at": 125.0,
"swept": "J4",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J3",
"hold_at": 125.0,
"swept": "J5",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J3",
"hold_at": 125.0,
"swept": "J6",
"direction": "hi",
"old": 119.0,
"new": 113.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J4",
"hold_at": -13.0,
"swept": "J1",
"direction": "hi",
"old": 125.0,
"new": 119.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J4",
"hold_at": -13.0,
"swept": "J2",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J4",
"hold_at": -13.0,
"swept": "J3",
"direction": "hi",
"old": 125.0,
"new": 119.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J4",
"hold_at": -13.0,
"swept": "J5",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J4",
"hold_at": -13.0,
"swept": "J6",
"direction": "hi",
"old": 113.0,
"new": 107.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J5",
"hold_at": -36.625,
"swept": "J1",
"direction": "hi",
"old": 119.0,
"new": 113.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J5",
"hold_at": -36.625,
"swept": "J2",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J5",
"hold_at": -36.625,
"swept": "J3",
"direction": "hi",
"old": 119.0,
"new": 113.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J5",
"hold_at": -36.625,
"swept": "J4",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J5",
"hold_at": -36.625,
"swept": "J6",
"direction": "hi",
"old": 107.0,
"new": 101.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J6",
"hold_at": -180.0,
"swept": "J1",
"direction": "hi",
"old": 113.0,
"new": 107.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J6",
"hold_at": -180.0,
"swept": "J2",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J6",
"hold_at": -180.0,
"swept": "J3",
"direction": "hi",
"old": 113.0,
"new": 107.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J6",
"hold_at": -180.0,
"swept": "J4",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J6",
"hold_at": -180.0,
"swept": "J5",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J6",
"hold_at": 101.0,
"swept": "J1",
"direction": "hi",
"old": 107.0,
"new": 101.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J6",
"hold_at": 101.0,
"swept": "J2",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J6",
"hold_at": 101.0,
"swept": "J3",
"direction": "hi",
"old": 107.0,
"new": 101.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J6",
"hold_at": 101.0,
"swept": "J4",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
},
{
"pass_": 1,
"hold": "J6",
"hold_at": 101.0,
"swept": "J5",
"direction": "hi",
"old": 0.0,
"new": 0.0,
"jams": {}
}
],
"final": [
{
"axis": "J1",
"lo": -180.0,
"hi": 180.0,
"continuous": true,
"zero": 0.0,
"combo_warn_deg": null,
"note": "单轴整周无干涉(滑块按单轴限位给出);组合扫描未发现该轴卡死"
},
{
"axis": "J2",
"lo": -92.0,
"hi": 9.0,
"continuous": false,
"zero": 0.0,
"combo_warn_deg": null,
"note": "单轴正向 +9° / 反向 -92°,总行程 101°(单关节硬限位,含相邻件与电机)"
},
{
"axis": "J3",
"lo": -180.0,
"hi": 180.0,
"continuous": true,
"zero": 0.0,
"combo_warn_deg": 162.0,
"note": "单轴整周无干涉(滑块按单轴限位给出);组合折叠姿态下(其余关节同时处于各自极限)约 ±162° 起与躯干占位(台架 P01 立柱)干涉,见 travel_detail.combos,运行期由查看器碰撞模型按姿态夹取"
},
{
"axis": "J4",
"lo": -111.0,
"hi": 16.0,
"continuous": false,
"zero": 0.0,
"combo_warn_deg": 18.0,
"note": "单轴正向 +16° / 反向 -111°,总行程 127°(单关节硬限位,含相邻件与电机);组合折叠姿态下(其余关节同时处于各自极限)约 ±18° 起与躯干占位(台架 P01 立柱)干涉,见 travel_detail.combos,运行期由查看器碰撞模型按姿态夹取"
},
{
"axis": "J5",
"lo": -93.0,
"hi": 34.0,
"continuous": false,
"zero": 0.0,
"combo_warn_deg": 36.0,
"note": "单轴正向 +34° / 反向 -93°,总行程 127°(单关节硬限位,含相邻件与电机);组合折叠姿态下(其余关节同时处于各自极限)约 ±36° 起与躯干占位(台架 P01 立柱)干涉,见 travel_detail.combos,运行期由查看器碰撞模型按姿态夹取"
},
{
"axis": "J6",
"lo": -180.0,
"hi": 180.0,
"continuous": true,
"zero": 0.0,
"combo_warn_deg": null,
"note": "单轴整周无干涉(滑块按单轴限位给出);组合扫描未发现该轴卡死"
}
]
}