XLeRobot · 机器人头 · 2026-08-23

头部 V13 · 定稿

七个可打印件全部通过连通性检查,旋转模拟全行程零侵入。 这一页是打印前的完整交代:改了什么、为什么、每一条是怎么被验证的。

验证结论(全部为实测,非估计)

八个件(含内部承力链)  单一连通体 ✅   碎片 0
俯仰 ±50°   最小间隙 6.19 mm @ -50°   侵入点数 0
左右 ±150°  间隙恒定 27.72 mm,极差 0.0000 mm
最不利组合  pitch -50° / pan +30°  ->  6.13 mm
承力链五检  螺丝刀通道 / 壳 / 相机 / 视锥 / 立柱禁区 —— 全空
喇叭背腔    开口率 97.6%,连续通带 30 mm
切面∩经线肋 空(改前 62.784 cm³)

★ 加入承力链后,抬头方向的间隙从 30.13 降到 21.42 mm ★ 后横梁向后伸出,抬头时会摆下来 —— 这正是不建模就看不到的东西。仍然安全。

一、四等分怎么拼(你一直没看到的那张)

四等分爆炸图

蓝 q0 含大眼睛 · 红 q1 含左耳罩 · 绿 q2 含后梁板 · 黄 q3 含右耳罩。缝面上的定位销可见。

四等分等轴测爆炸图

切面角度:45 / 135 / 225 / 315

旧代码切在 0/90/180/270,有两个致命问题,都是布尔实测证实的:

问题实测
每一刀正对着一条经线肋肋 ∩ 切面薄片 = 62.784 cm³
同时正对全部四个接口耳罩(0/180)、眼睛(90)、后梁(270) 全被劈成两半

旧注释写着「切面正好走在两条肋之间」—— 那句话是错的,从来没验证过。 现在肋加了 RIB_PHASE=22.5° 相位,切面移到 45 的倍数,两个问题同时消失, 而且每一块正好完整包住一个接口:

q0   45..135   眼睛
q1  135..225   左耳罩
q2  225..315   后梁板
q3  315.. 45   右耳罩

拼接结构

每条缝 3 个高度(z = 66 / 84 / 122,正好在纬线箍上),每处一套 Ø4 定位销 + M3 螺丝。销负责对齐(打印件靠手摸对不齐曲面),螺丝负责夹紧。

每一块的
  起始面(θ 小的那面) -> 长销 + 螺丝过孔 + 沉头
  结束面(θ 大的那面) -> 销孔 + 热熔螺母孔

第 q 块的起始面 正好对上 第 q-1 块的结束面,绕一圈自洽
装配顺序:q0 -> q1 -> q2 -> q3,最后一条缝自然闭合

拼接高度不能随便选。加厚垫只有 24 mm 宽,够不到 22.5° 外的经线肋,全靠纬线箍接住。 第一版取了 z=46,而 q0 的主体从 z=63 才开始(下前方被相机视锥切光)—— 销悬在空中,quarter0 变成 6 个散件。代码里现在有 assert 钉住 JOIN_Z ⊂ HOOP_Z。

二、★ 内部承力链 core_link ★

你说:「内部的横梁还没有做好…从相机到云台、到头部横梁、到头的后盖内侧, 这部分有很多尺寸当时都量了,但你都没有做在里边。」

这句是对的。V13 之前只有一块 beam_plate(挂壳的孔位), 真正承力的那条链从来没进过 V13 —— 它一直只活在 v12 里。 而 V13 的 CB_HOLE_X = 33.25 恰恰是从这条链推出来的:

ARM_X_O = max(叉臂外侧 29.85, 螺丝刀通道 35.75) = 35.75
CB_W    = 2×35.75 + 7 + 6 = 84.5
挂壳螺母 x = ±(CB_W/2 − 9) = ±33.25 ;z = 抬高 14 ± 6 = 8/20 (+50 → 58/70)

也就是说 V13 一直在用这条链的【结论】,却没有它的【实体】 —— 所以从来没验证过它装不装得进 V13 这个更高、带肋的新头。现在移植进来了。

载荷路径

相机 (Gemini 90 × 30 × 25→22 梯形)
  ↑ 两颗 M3,从【后方】穿过,拧进相机,最大入深 4(★ 不许超 ★)
云台耳板 (厚 6,高 12.5,孔心距 44.5,孔 Ø3;中间 36 是禁区)
  ↑ core_link 法兰贴在耳板【后表面】,厚 4  → 新螺丝 = 原螺丝 10 + 4 = 14
core_link 法兰 → Z 字形悬臂 → 后横梁 (84.5 × 7 × 20)
  ↓ 4 个 M3 热熔螺母  x = ±33.25,z = 58 / 70
后盖内侧 (V13 的 beam_plate)

core_link 等轴测

侧视 · Z 字形

链 + 现有件参考体(灰):左=相机,下=Ø80 立柱与 Ø20 俯仰关节

为什么是 Z 字形而不是直杆

操作者原话:「螺丝刀很难直的插进去然后转」。原来法兰后面紧跟一段横向过渡杆, 正好挡在螺丝轴线后方。改成:往后伸 9 → 拐 90° 往上抬 14 → 再往后伸到横梁。 于是螺丝轴线正后方一格材料都没有,Ø12 的螺丝刀能一路捅到螺丝头。 横梁上另外还开了两个 Ø13 的对穿孔作冗余。

★ 移植时抓到的三个真问题 ★

#问题实测处理
1坐标错位 4mm:v12 的 y 原点是【耳板后表面】, V13 的是【俯仰轴】,CB_REAR_Y = −56 是直接抄过来的 链算出横梁在 −52,壳按 −56 建 CB_REAR_Y 改为由链推导,不再手写
2拼缝加厚垫撞上后横梁 0.168 cm³ ×2 @ z 59–73(JOIN_Z[0]=66 ± 7) 头壳给内部横梁让位(1.2mm 间隙)—— 承力件在先,罩子在后
3一条 assert 从来没生效过 POD_YC/POD_FIX_R/POD_ZC 定义在它后面, openscad 报 unknown 然后跳过 挪到常量之后。看不见输入的 assert 不是保护,是错觉

4mm 那个数:推得,不是量的

两个模型对相机位置的锚点不同:

依据相机后表面
V12相机背面贴耳板,耳板厚 = 螺丝长 10 − 相机螺纹深 4 = 6y = 6
V13操作者实测「相机向前凸约 40」y = 10

两者都成立的唯一解释:耳板后表面不在俯仰轴上,而在轴前 4mm。 旁证很强 —— 按这个换算之后,三段正好首尾相接:

法兰      y  0 .. 4     (法兰厚 4)
云台耳板  y  4 .. 10    (耳板厚 6)
相机      y 10 .. 40    (相机厚 30)

⚠ 这个 4 仍然是【推得】的,不是量的。代码里标了 CHAIN_DY, 如果实际是 0,改这一个数,整条链和后梁板会自动跟着走。

五条自检(全部「为空 = 通过」)

检查问什么结果
driverclash螺丝刀能不能够到螺丝头空 —— 拆得下来
clclash_head与头壳打不打架空
clclash_cam侵不侵入相机实际包络空
clclash_cone挡不挡相机视锥空
clclash_ko进不进立柱禁区空

其中两条一开始都是假阳性,判据本身错了:

二、旋转模拟 —— 数字,不是渲染

把导出的 STL 逐顶点(44,472 个,含内部承力链)绕俯仰轴/竖轴旋转,量与立柱实体 {r ≤ 40, z ≤ 0} 的最小距离。

俯仰角最小间隙侵入点数
−50°(最低头)6.19 mm0
−25°13.00 mm0
0°27.72 mm0
+25°32.43 mm0
+50°(最抬头)21.42 mm0
−60°(超出行程,测余量)2.19 mm0

左右 pan ±150°:间隙恒定 27.72 mm,极差 0.0000 mm —— 实测证实 pan 轴与立柱同心, 印证了你说的「立柱就在轴的正下方,对称的」。

−50° 6.19 mm

−25° 13.00 mm

0°  27.72 mm

+25° 32.43 mm

+50° 21.42 mm

蓝=骨架 橙=相机框/领结 灰=Ø80 立柱 + Ø20 俯仰关节 + Gemini 335 本体

★★ 2026-08-24 · 后梁接口重做(第五版,操作者逐条纠偏)★★

操作者拿到实件后的原话:「头梁后面那几个螺丝,在后背方向的壳上找不到能打得通的螺丝孔…… 后头壳上没有一个跟头梁锁紧的平面……我看到后头壳上有四个洞,四个洞都没贯穿,被内部结构挡住了。」
后来又指出:「这四个孔目前只是从后面单面可以刺进去,不能从另一面出来」, 以及「他们俩就是一个东西,我从始至终只有 core_link」。全部属实。

根因一:那块板一开始就放在了壳外面

翻出最早那版(提交 42d0e96)的原话:

「后梁接口 —— 操作者找不到它,所以这一版做成一块显眼的实心板」

「让人看得见」被当成了几何要求。板被放到 y=−86(壳外),还加了 hull() 过渡颈往外扩去够壳 —— 那就是实件上摸到的突兀长方体。此后所有尺寸都围着这个错误位置推导, 彼此自洽,所以从来没有报过错。assert 守的是「推导是否一致」,不是「前提是否正确」; 前提错了,越自洽越危险。

根因二:那四个孔本来就不是通孔

core_link 后横梁上的 4 个孔 = 热熔螺母盲孔(从后表面往前钻 6mm)
孔位 x = ±33.25,而两条悬臂占 x 32.25 … 39.25
→ 孔正好在悬臂正后方,就算钻穿也会撞上它

两个原因叠在一起,所以它天生出不来。

根因三:我凭空造了一个不存在的零件

8-23 我加了个 beam_ext(加长件),理由是「core_link 已打印不能改, 造块加长板去够后脑勺」。操作者手上根本没有这个件。它还带来一个死结: 两侧螺丝方向相反,装配顺序怎么排都解不开 —— 那是个由多余零件凭空造出来的假问题。 beam_ext 已整个删除,打印清单从 8 件回到 7 件。

操作者给的方案,也是最终采用的

「把后背板上那四个螺丝孔往中心轴内侧移一到两厘米,这样它就能贯穿整个后背板, 螺钉从后背板的内侧往后头盖骨走。……然后把这几个孔往后脑勺那部分加大直径 extrude, 直接连在后脑勺上。」
项改前改后
孔位 x±33.25(悬臂正后方,盲孔)±18(内移 15.25mm,真通孔)
螺母在哪core_link 里(盲孔)头壳凸台里
螺丝方向壳外 → 里(被拼缝垫挡)腔内 → 后(穿横梁进凸台)
头壳外表面4 个贯穿孔一个孔都没有
连接件板 + beam_ext 加长件4 根 Ø12 凸台(与壳一体)+ 加强筋

为什么内移 15.25mm —— 这个数是算出来的

x=±33.25x=±18
前方是否撞悬臂撞(悬臂 32.25–39.25)空的,可贯穿 ✅
螺丝最深处半径落在拼缝垫的 r≥46 圈里r=38.5,够不到垫 ✅
离 315° 拼缝余量—4 mm,不会被切开 ✅

凸台与加强筋

凸台   Ø12,y = −83.33 … −52,长 31.33 mm
       其中埋进壳壁 3.2mm(整个壁厚) → 与壳一体,不是搭上去的
       根部落点 289.8°,最近经线肋 292.5°(覆盖 289.1–295.9°)→ 正压在肋上
前端   −52 = core_link 后横梁后表面 −52 → 顶住,无缝
螺丝   头在 −45(横梁前表面)→ 穿横梁 7mm → 进凸台 6mm
加强筋 5mm 厚,连接同侧两根柱子,后端埋进壳壁 → 受力从弯矩变成拉压

还有一处不易察觉的:给 core_link 让位的间隙槽(core_link_envelope) 后沿在 y=−53.2,正好会削掉凸台顶端 1.2mm,留一条缝 —— 那样螺丝拧紧只是在把两个件掰弯。 已让这道槽避开凸台。

★ 验证方法:把螺丝建成实体 ★

这是操作者教的:「你实在不知道该怎么建模的时候,就把那个螺丝在里边做出来, 看他会不会贯穿、会不会交点。如果不交点那就是对的,如果交点肯定就有问题, 最后再出图的时候把这些螺丝删掉。」
照做:Ø3 螺杆 + Ø5.5 螺帽建成实体,与 core_link ∪ 整个头壳求交 ——

solid OpenSCAD_Model
endsolid OpenSCAD_Model      ← 45 字节空文件,面数 0
→ 四条通道零干涉,全部打通

这个判据比看渲染图可靠得多。今晚渲染图三次都没提示过任何异常, 而布尔和连通性脚本每次都抓到了。

★ 拼缝卡扣配合修正(实物试装反馈)★

操作者试装:「quarter 之间的卡扣卡不起来 —— 衔接杆的宽度大于洞的宽度太多,卡不进去。」 名义间隙只有 0.35mm,FDM 打出来销偏大、洞偏小,直接过盈。

操作者的修法(聪明在改动只落在本来就要重打的两片上): 左右两片(q1/q3)已经打好,一个字不动; 前片 q0 和后片 q2 的销做小(Ø4.0→Ø3.4)、洞做大(Ø4.35→Ø4.85)。 四条缝全部受益:

缝位置配对间隙 旧→新
45°前片右q0 新销 3.4 → q3 旧洞 4.350.35 → 0.95
135°前片左q1 旧销 4.0 → q0 新洞 4.850.35 → 0.85
225°后片左q2 新销 3.4 → q1 旧洞 4.350.35 → 0.95
315°后片右q3 旧销 4.0 → q2 新洞 4.850.35 → 0.85

销只管对位,压紧靠缝上的螺丝 —— 松一点没坏处,插不进才是致命的。 q1/q3 的 STL 逐字节未变(MD5 校验),已打印的两片继续有效。

今晚在这一块上错了四次,每次是谁抓到的

版本错在哪谁抓到的
原始板放在壳外(源头是一句注释)操作者,摸实件
修复①改球壳环带,半径方向写反(65.8 而非 51.8)check_parts 报 连通体 2
修复②用球去裁圆柱段,切出 0.002 cm³ 细条check_parts 报 碎片 1
修复③平板只在两侧边缘搭住,中间悬空;且造了多余的 beam_ext操作者:「单纯用螺栓去衔接,这不是很危险吗?」
修复④凸台+加强筋,孔内移到 ±18通过

三视图 + 修正处详图(2026-08-24 深夜重渲)

全部由改完的源码重新出图,不是旧图。 前两张是这次修的地方,看后壳内侧那块贴着壳弯的板,以及贯穿壳体的四个孔。

后梁接口 轴测
后梁接口 · 轴测
板贴在壳内表面,跟着球面弯;壳外只剩四个沉头孔,没有凸出的长方体
后梁接口 侧视
后梁接口 · 侧视
后壳外表面光滑,只剩四个沉头孔口
后梁 水平剖视
★ 水平剖视(切在螺丝高度 z=58)★
黄=头壳(含凸台,同一块实体);青=core_link;红=螺丝。 凸台从后脑壳长出来,一路顶到 core_link 后横梁的后表面; 螺丝从横梁前表面(腔内侧)往后拧进凸台。头壳外表面一个孔都没有。
眼睛 轴测
眼睛 · 轴测
中央 22×12 走线口(≥ 要求的 20×10)
眼睛 背面
眼睛 · 背面
屏幕沉槽 + 排线槽 + 中央走线口 + 两个 Ø8 侧孔
正视图
正视(正交)
侧视图
侧视(正交)
俯视图
俯视(正交)
轴测 前
轴测 · 前
轴测 后
轴测 · 后(看后梁那一侧)

四个打印分块

q0
q0 45–135° 含眼睛
q1
q1 135–225° 含左耳罩
q2
q2 225–315° 含后梁板
q3
q3 315–45° 含右耳罩

新增的 assert —— 这次守的是前提

写完立刻抓到我自己的两个错:板宽 90.5 穿出球面、球面反算 58.6 包不住孔。 看不见输入的 assert 不是保护,是错觉 —— 这几条是能报出来的那种。

★ 2026-08-24 早间 两处修正 ★

① 眼圈那圈孔原来装不了任何东西。操作者:「眼睛一圈留的孔太靠里面, 被肋条挡住了,外面加不了东西」。实测确实如此:

头前表面      y = 38
眼圈凸出到    y = 42   (凸出 4mm)
而那圈孔在    y = 32   -> 在头表面【里面 6mm】,正好埋在肋条里

已挪到 y = 40,落在凸出那 4mm 的中间,从外面直接够得到(装胡子之类的)。 加了 assert 钉住:孔位必须在头前表面之外。

② 肋条外表面加了皮肤安装孔。操作者:「肋条框架外面要不要加一点, 以后好打印好皮肤卡上去,不然我以后打了皮肤也装不上去」。

原来肋笼外表面是光的曲面,皮肤只能靠粘。粘的问题不是丑,是拆不下来 —— 以后要动内部的相机线、喇叭、屏幕,都得先把皮肤撕掉,撕一次废一次。

项值为什么
数量8 条肋 × 3 圈 = 24 个沿经线肋打,不打在箍上 —— 肋是连续的,箍被相机切口和底部扫掠断过好几处;而且肋沿曲面走,皮肤按肋分块天然对得上
高度z = 72 / 100 / 128都在圆柱段(26–136)上,避开纬线箍
规格Ø2.5 深 4.5(M3 自攻底孔)肋只有 7 宽、壳壁 3.2 厚,埋不下 6mm 热熔螺母

加了 assert:底孔深度不许超过壳壁,钻穿了就是一排漏光漏灰的通孔。

连通性复检:5/5 全部单一连通体、碎片 0(frame 245.401 / q0 63.041 / q1 43.741 / q2 88.877 / q3 44.507 cm³)。

四、眼睛:上移 18mm,并入壳体,穿线孔补齐

你说「眼睛下面要装胡子,得往上挪」—— 实测证实,而且比看上去糟:

改前  相机顶面 62.0,眼睛下沿 56.0  ->  胡子空间 = −6 mm【重叠】
      眼睛上沿 116.0 = 圆柱顶      ->  已经顶到天花板,一毫米都上不去
项改前改后
眼睛中心 EYE_ZC86104(上移 18 = 一个箍间距)
圆柱顶 CYL_Z1116136
纬线箍46/66/84/12246/66/84/122/142(间距不变,圆柱长了补一道)
胡子空间−6 mm+12 mm
头总高178198

眼窝底板的四类开口

改前只有一个 18×9 的显示窗 —— 屏幕模块(20×10 带 PCB 和排线)放不进去, 而且一个穿线孔都没有。

#开口尺寸用途
①显示窗18 × 9 透到正面只露屏幕可视区
②屏幕沉槽24 × 14 深 2.6,从背面挖模块整个坐进去、正面齐平
③排线槽7 mm 宽,开到板边排线直出不打折
④穿线孔Ø12 ×1(屏下方)+ Ø8 ×2(左右)喇叭线及其它

底板厚 4 → 5,挖完 2.6 深的沉槽还留 2.4 mm(有 assert 守着)。

正视 · 眼睛已上移

等轴测

五、相机出线口

左右我搞反过,已改。代码里之前从来没有定义过 +x 是哪一侧, 我只是在注释里断言了一句,那是没有依据的。现在把约定写死: −x 是相机的右侧,FR_OPEN_SIDE = -1。

这条比看起来重要:vr_extras.py:44 原文 HEAD_PAN_LIMITS = ±150 deg. Bounded by the depth camera's CABLE, not a stop. —— 左右旋转的极限本来就是被这根线卡住的,不是机械限位。线出不去 = pan 行程直接缩水。

第一版第二版定稿
侧别+x(错)−x−x
截面44 × 36(凭空定)42 × 3742 × 25.8=相机剖面
沿 x90 mm 一路外扫40 mm40 mm
后果削掉不该动的东西把领结翅膀切成三块通孔,翅膀完整

第二版为什么还错:相机框端面上有料的只有两条 3.5 mm 的窄边(z 33.1–36.6 / 62.4–65.9), 洞高 37 → z 31–68,把这两条边全吃掉,翅膀就没有任何东西连着了(实测掉下来 3.361 cm³)。 所以 z 方向一毫米余量都不能给:洞高 = 框的内开口 = 相机剖面本身。现在有 assert 钉住。

出线口侧视

六、纯肋笼(结构本身)

箍是完整的圈,肋是完整的经线 —— 结构本身不碎。 你在整只骨架上看到的「碎块」是叠在上面的接口:拼缝加厚垫 ×12、耳罩台 ×2、后梁板、 相机视锥切口、大眼睛。碎的是接口,不是结构。

七、整机关系

头骑在 Ø80 立柱上方,相机(灰色横条)+领结框(橙)当下巴挂在前下方。

八、连通性检查 —— 现在是脚本,不是肉眼

你问「悬空的碎片你想怎么办呢」。答案不是「我下次注意看」—— 渲染图看不出连通性:一颗悬在空中的销和长在本体上的销,图上一模一样。

所以写了 02-hardware/robot-head/v13-frame-first/check_parts.py: 导出每个会被打印的件,做并查集连通分析,任何件只要不是单一连通体、 或存在 <0.05 cm³ 的碎片,就判不合格并打印碎片的包围盒。

连通性检查  generate_head_v13.scad   碎片阈值 0.05 cm³
──────────────────────────────────────────────────────
  frame      ✅ 主体  245.725 cm³   连通体 1   碎片 0
  quarter0   ✅ 主体   63.071 cm³   连通体 1   碎片 0
  quarter1   ✅ 主体   43.837 cm³   连通体 1   碎片 0
  quarter2   ✅ 主体   88.978 cm³   连通体 1   碎片 0
  quarter3   ✅ 主体   44.603 cm³   连通体 1   碎片 0
  cam_frame  ✅ 主体   53.323 cm³   连通体 1   碎片 0
  core_link  ✅ 主体   22.450 cm³   连通体 1   碎片 0   ← 内部承力链
──────────────────────────────────────────────────────
✅ 7/7 个件都是单一连通体,没有碎片

它抓到的五个缺陷(全部肉眼不可见)

#缺陷实测根因
1quarter0 是 6 个散件0.162 cm³ 悬空销拼接高度 z=46 在 q0 的材料之下
24 片零体积退化面z=26.0 整RIM_Z=26 与 CYL_Z0=26 共面
3两粒碎屑0.001 cm³ @ z≈35底部扫掠的离散棱与内壳面相切
4beam_ext 是 3 块两块 8.237 cm³螺丝柱离侧壁差 2.5 mm,四根柱悬在盒子中间
5cam_frame 是 2–3 块0.663 / 3.361 cm³出线口比相机框还高,切断端面上下边

另外底部原来有 4 根悬空细腿(取消下缘那圈之后,肋从最低的箍 z=46 一路伸到 26, 20 mm 没东西拉住)—— 已把肋笼底裁到最低那道箍。

九、完整尺寸表

每一个数都是从模型 echo 导出的(PART="dims"),不是手抄 —— 手抄必然和代码漂移。

组项值备注
头体半径 HEAD_R62mm
头宽 = 2R124mm
圆柱段 z26 .. 136mm
半球顶 DOME_TOP198mm
圆心后偏 HEAD_YC-24mm
壁厚 SHELL_T3.2mm
骨架经线肋 平面数 RIB_N4绕一圈 8 条
肋相位 RIB_PHASE22.5deg ★新增★
肋宽 RIB_W7mm
纬线箍 z[46, 66, 84, 122, 142]mm 宽 8,共 5 道
实心顶盖 z >158mm
实心下缘 z <22mm
四等分切面角度45 +90q -> 45/135/225/315deg ★改★
拼缝间隙 QSEG_GAP0.15mm 每侧,合缝 0.3
拼接高度 JOIN_Z[66, 84, 122]mm 每缝 3 处
眼睛下沿 / 相机顶 / 胡子空间74 / 62 / 12mm ★改★
拼接加厚垫 跨缝宽 x 径深 x 高24 x 16 x 14mm
定位销 Ø x 伸出 / 埋入4 x 7 / 6mm
销孔 Ø4.35mm 单边配合 0.175
销 / 螺丝 所在半径57 / 50mm
螺丝M3 过孔Ø3.4 沉头Ø7.1 螺母孔Ø4.2x6mm
耳罩外形 (锁死)67.2 见方mm
4 固定孔半径 (锁死)29mm
中心 (y, z)-14, 82mm
通风窗46 x 46mm
台壁 x 范围50 .. 57mm 厚 7
眼睛通光孔 EYE_D48mm
外径 = D + 2×RIM60mm
中心高 EYE_ZC104mm 在圆柱段上
侧面挂载孔8 x Ø2.5 深5mm
后梁板 宽x高x厚100.5 x 42 x 7mm ★定死★
板 y 位置-82 .. -75mm
过渡颈 y / 宽 / 高-64 / 72 / 56mm ★改★
4 孔 x = +-33.25mm z = 58 / 70
走线窗46 x 22mm
相机Gemini 335 本体90 x 30 x 25mm
底面高 CAM_BOT_Z37mm 由 SWEEP 决定
承力链坐标换算 Δy / Δz4 / 50mm Δy 为【推得·待确认】
云台孔心距 L_HOLE44.5mm ★操作者实测★
中间禁区 KEEPOUT_W36mm ★实测★ 这段不许放东西
现有孔径Ø3mm ★实测★ => M3
耳板 厚 / 高6 / 12.5mm 厚=螺丝长10−相机螺纹深4【推得】
原螺丝 长 / 新螺丝长10 / 14mm ★实测+法兰厚★
相机螺纹最大入深4mm ★实测·不许超★
法兰 厚 / 高 / 内缘4 / 12.5 / 18.5mm 高≤12.5 内伸≤5 是操作者硬约束
悬臂 x / 截面±35.75 / 7x15mm x 取 max(叉臂 29.85, 螺丝刀 35.75)
Z 字形 后伸 / 抬高9 / 14mm 抬高是为了让开螺丝刀
悬臂总长 ARM_LEN56mm ★操作者定★ 46->56
后横梁 宽x厚x高84.5 x 7 x 20mm 宽由悬臂 x 推导
横梁 y 位置-52 .. -45mm ★CB_REAR_Y 由此推导★
挂壳螺母 x / z±33.25 / 58、70mm 与 beam_plate 由 assert 锁死
螺丝刀通道 Ø12mm 横梁上另有对穿孔 Ø13 冗余
壳与横梁间隙 CL_CLR1.2mm
叉臂 半宽 / 顶面23.85 / 47mm ★照片估·待实测★
约束俯仰行程 SWEEP+-50deg 实测
立柱 Ø / 关节 Ø80 / 20mm 实测
底部开口扫掠 Ø132mm

十、STL 下载

全部为上面那次检查实际验证过的同一批文件(不是另外导出的)。

件体积含什么下载
quarter063.07 cm³大眼睛(含屏幕沉槽/排线槽/穿线孔)STL
quarter143.84 cm³左耳罩安装台STL
quarter288.98 cm³后梁板STL
quarter344.60 cm³右耳罩安装台STL
cam_frame53.32 cm³相机框=领结,含出线口STL
core_link22.45 cm³★ 内部承力链 ★ 相机 → 云台耳板 → 后横梁 → 后盖内侧。整个头挂在它上面STL
frame(整只,不分块)245.73 cm³只用来看整体,一般不打这个STL

十一、打印与装配

所有体积、连通体数、间隙均为实测导出,非估计值。 渲染由 z-buffer 直接绘制导出的 STL(OpenSCAD 在这台 Jetson 上无头渲染会段错误)。 尺寸表由模型 echo 直接生成。