feat(arm): 线束走线可视化落地,并修复承压面盒切误伤底壁

- 查看器新增线束/走线指示系统(4芯主干、电机出线分支、过关节缓冲环、T接小板),
  配套《线束走线与总线拓扑设计方案》文档与 src/test_harness_collision.py 干涉校验
- 取消 P04/P06/P07/P08 的敞口侧定位环盒切(俯仰关节局部坐标使切刀上侵底壁 3mm,
  平白造出 3x6.1mm 缺角),底壁补齐;盒切仅保留原本专用的 P05(M3),开关改名 M3_FENCE_OPEN_CUT
- 3MF 基准 profile(537 键)从手作原件抽出固化到 docs/bambu_profile_reference.json,
  导出链路不再依赖 out/ 二进制;P01_A 也改由当前模型生成,原件备份进 .bak/
- strength.json、BOM、screws、截图与三份查看器 HTML 同步重生成
This commit is contained in:
cbb
2026-10-07 19:08:47 +08:00
parent d8f6c69406
commit c754521bde
175 changed files with 5719 additions and 332 deletions
+6 -5
View File
@@ -73,8 +73,8 @@ LMAX = {"S08": 17.0, "S10": 22.0} # 可见段截断:螺杆伸到底座底
# 电机尾端 4x M3 螺纹径向槽的实测孔位(电机.STEP):BCD55、相位 39.9°+90k,
# 槽宽 2.5、径向可调约 ±1.25mm。S02(P04~P08 后端板)与 S03(P03 后法兰)共用;
# 旧 35.1×40.9 矩形孔距对角两颗偏出螺纹槽 ~4.7mm(2026-10-02 用户指出"螺钉没有对齐")。
REAR_SLOTS = tuple((27.5 * math.cos(math.radians(39.9 + 90.0 * k)),
27.5 * math.sin(math.radians(39.9 + 90.0 * k))) for k in range(4))
REAR_SLOTS = tuple((27.5 * math.cos(math.radians(39.65 + 90.0 * k)),
27.5 * math.sin(math.radians(39.65 + 90.0 * k))) for k in range(4))
# ---------------------------------------------------------------- 局部坐标系工具
@@ -195,7 +195,8 @@ def instances(m2_bcd, m2_clock):
z01 = {"J1": 63.0, "J2": 58.0, "J3": 58.0, "J4": 58.0, "J5": 58.0, "J6": 58.0}
for tag in ("J1", "J2", "J3", "J4", "J5", "J6"):
d = frame(tag)[1]
for a in clock01:
c_list = m2_clock if tag == "J1" else clock01
for a in c_list:
u, v = r01 * math.cos(math.radians(a)), r01 * math.sin(math.radians(a))
out.append(("S01", to_global(tag, u, v, z01[tag]), d, tag,
"%s 输出毂" % DRIVEN[tag], "φ%.0f @%.1f°" % (m2_bcd, a)))
@@ -208,14 +209,14 @@ def instances(m2_bcd, m2_clock):
"%s 后端板" % PROX[tag], "孔位(%.2f,%.2f) -> %s 电机尾端面" % (u, v, tag)))
d1 = frame("J1")[1]
for deg in (17.8, 107.8, 197.8, 287.8):
for deg in (17.47, 107.48, 197.48, 287.47):
u = 27.5 * math.cos(math.radians(deg))
v = 27.5 * math.sin(math.radians(deg))
out.append(("S04", to_global("J1", u, v, 60.5), d1, "root",
"P03 前置锁紧凸台", "BCD55 @%.1f° -> M1 前端面" % deg))
for u, v in REAR_SLOTS:
out.append(("S03", to_global("J1", u, v, -5.5), tuple(-c for c in d1), "root",
"P03 后置法兰", "BCD55 @39.9° 螺纹槽 -> M1 尾端面"))
"P03 后置法兰", "BCD55 @45° 螺纹槽 -> M1 尾端面"))
# S12 电机前端压盖 -> 电机前端盖:J2(P04 夹 M2) / J3(P05 夹 M3) / J4(P06 夹 M4) /
# J5(P07 夹 M5) / J6(P08 夹 M6) 各 4 颗。J2/J4/J5 三处压盖几何完全相同,