evnchn-agentic/power-board-enclosure

GitHub: evnchn-agentic/power-board-enclosure

一款基于单应性变换从厂家照片逆向测绘尺寸、用 build123d 参数化生成的 Raspberry-Pi 堆叠电源板 3D 打印外壳,在实物到货前即可完成设计与打印。

Stars: 0 | Forks: 0

# 电源板外壳 —— 在电路板到货前就已构建完成 *我需要为我还没收到的一款电源板制作一个外壳。所以我仅凭手头仅有的 东西 —— 厂家的尺寸图和一张照片 —— 就把它建出来了,我利用电路板自身的 Raspberry-Pi 安装孔作为单应性锚点,将照片转换为真实的毫米尺寸。 等电路板终于到货时,外壳刚好完美契合。* ![打印好的盖板和底座 —— 腔体外带有边角安装耳,内部有支撑柱和接口插槽](https://static.pigsec.cn/wp-content/uploads/repos/cas/15/156e69d9c68a8119cf4645b1f2563c1fcc70d91db8c7d9c27d850c3e9b1959be.jpg) ## 这是什么 这是一个 3D 打印的 **底座与盖板外壳**,适用于现成的、可堆叠于 Raspberry-Pi 的电源 板(约 65×56 毫米的电路板,6–24 V → 5 V 降压,M2.5 Pi 安孔位)。整个过程都是在 **尚未拿到实物电路板之前进行的逆向工程**,随后在 [build123d](https://github.com/gumyr/build123d) 中使用 [`agentic-3d-modeling`](https://github.com/evnchn-agentic/agentic-3d-modeling) 规范进行了参数化建模。 ![俯视 CAD 视图 —— 位于支撑柱上的电路板轮廓、边角安装耳、沿边缘的接口开口](https://static.pigsec.cn/wp-content/uploads/repos/cas/1b/1bc5458e81abf92a3f7c1beafda5141d10a01ebd058a2136f2eb04a94d1626df.png) ## 探索历程 ### 阶段 0 —— 没有电路板,也没有卡尺 当时电路板还在邮寄途中。我手头只有厂家的规格图和一张俯视 照片。因此,外壳必须完全依靠这些资料来设计。 ### 阶段 1 —— 安装孔就是一把现成的尺子 支持堆叠的 Pi 电路板都共享 **Raspberry-Pi 安装孔位:58×49 毫米,Ø2.7 (M2.5),内缩 3.5 毫米**。这四个孔构成了一个精确、已知的矩形 —— 这是一个完美的 **4 点单应性锚点**。在照片中检测出这四个孔的中心,求解单应性矩阵(通过 numpy DLT),将图像校正为以毫米为单位的真实俯视图,然后直接读取电路板轮廓和接口的 X 坐标。在此场景下,经典 CV 胜过训练模型:具有确定性、亚毫米级精度,且无需数据集。 ### 阶段 2 —— 照片无法提供的信息 校正后的照片能提供 X 和 Y 坐标,但 **无法提供接口相对于 PCB 的高度**。这些数据是通过按部件类型(接线端子、DC 圆孔插口、USB-C、排针)查找数据手册获得的。高度只是 *估算值*,这正是下一阶段的全部原因。 ### 阶段 3 —— SAFE(安全)与 BEAUTIFUL(美观)(仅凭一个布尔值) 该模型通过一个标志位输出两个版本: - **SAFE** —— 前后壁一直敞开至边缘。对高度误差具有包容性,不会发生短路或干扰, 并且 **在电路板到货之前即可打印**。当你的接口高度全靠猜测时,就该运行这个版本。 - **BEAUTIFUL** —— 在估算高度处为每个接口提供紧密的独立开口,适用于已拿到 实物电路板并确认了具体数值的情况。 ![SAFE 版本的接口窗口,一直敞开至边缘 —— 在设计上对高度误差具有包容性](https://static.pigsec.cn/wp-content/uploads/repos/cas/24/2491a39cd3bf8b64c7713a35b5c0eb883271fc0ac2db027d9d94ce8b13a4e0bc.jpg) ### 阶段 4 —— 互不冲突的装配设计 底座 + 螺纹固定盖板,全程使用 M2 螺丝,电路板置于符合 58×49 孔位的四个支撑柱上。盖板 螺丝固定在 **置于腔体 *外部* 的四个边角安装耳上** —— 因为内壁内部的柱体会与电路板发生干涉。盖板带有定位唇边,并在接线端子螺钉上方开设了螺丝刀操作槽。 ![SAFE 装配图 —— 底座、位于支撑柱上的电路板以及盖板,边角安装耳在腔体外侧承载螺丝](https://static.pigsec.cn/wp-content/uploads/repos/cas/6b/6bf85d57c44d8a8a520f8974ae2fc8902557401deaa145eddc2f73b2411becbe.png) ### 诚实之言 基于数据手册估算的高度进行设计,等同于在根据你并未完全信任的数字进行设计 —— 因此 SAFE 版本不是备用方案,它是 *默认选择*,而紧密贴合的 BEAUTIFUL 版本则要等到 实物电路板能验证这些估算值后才会派上用场。使用 PETG 打印;SAFE 外壳一次试装就完美契合。 *该电路板是常规通用零件,外壳也能独立使用 —— 此处不涉及任何部署上下文。 使用 [`agentic-3d-modeling`](https://github.com/evnchn-agentic/agentic-3d-modeling) 规范构建。* ## 文件 `build_box.py`(参数化模型 → STEP/STL + 视图)· `box_safe` / `box_beautiful` / `box_lid`(`.step`/`.stl`)。
标签:3D打印, build123d, CAD建模, 单应性变换, 参数化设计, 计算机视觉, 逆向工具