Build123d Cad

🔧 代码驱动,精确造物

通过 Python 脚本实现参数化 3D CAD 建模,支持生成 STEP、STL、SVG 格式文件,适用于机械零件、外壳、支架等工程设计场景。

收藏
2.8k
安装
1.2k
版本
1.0.0
CLS 安全性认证2026-08-04
点击查看完整报告 >

使用说明

核心用法

build123d-cad 技能基于 build123d 开源库,提供了一套完整的 Python 驱动型 3D 建模工作流。用户通过编写参数化脚本定义几何体,利用 BuildPart 上下文管理器构建实体,最终导出工业标准格式(STEP 用于 CAD 软件协作,STL 用于 3D 打印,SVG 用于 2D 剖面展示)。

技能包含四大命令模块:

  • Generate:执行脚本并导出指定格式的 3D 文件
  • Measure:计算体积、表面积、质心、包围盒等工程参数
  • Section:生成指定平面的 2D 剖面 SVG,用于间隙检查
  • API Reference:输出 build123d 速查表,辅助脚本编写

显著优点

1. 完全参数化设计:所有尺寸以变量形式嵌入脚本,便于迭代修改和版本管理
2. 代码即文档:Python 脚本天然具备可读性和可复现性,优于传统 CAD 的鼠标操作记录

3. 多格式输出:原生支持 STEP(ISO 10303-21)、STL(三角网格)、SVG,覆盖从设计到制造的完整链路

4. 精确测量能力:自动计算质心、转动惯量等物理属性,支撑工程验证

5. 开源生态:基于 CadQuery 衍生的 build123d,社区活跃,无商业授权限制

潜在缺点与局限性

  • 学习曲线陡峭:需掌握 Python 语法及 build123d 的链式 API(如 .edges().filter_by(Axis.Z)),无 GUI 辅助直观调试
  • 复杂曲面受限:相比专业 NURBS 建模软件(Rhino、Fusion 360),自由曲面造型能力较弱
  • 依赖本地环境:首次运行需通过 uv 安装 Python 3.12 虚拟环境及 build123d,网络与磁盘空间有要求
  • 无实时渲染:脚本执行后仅输出文件,无交互式视口预览,需借助外部工具查看

适合人群

  • 硬件工程师、机械设计师需快速生成参数化零件原型
  • 嵌入式开发者设计 PCB 外壳、散热器、固定支架
  • 3D 打印爱好者需要精确控制模型拓扑与尺寸
  • 开源硬件项目维护者追求可版本控制的 CAD 资产

常规风险

  • 脚本注入风险--script 参数直接执行用户输入的 Python 代码,若输入未经验证可能触发系统命令(如 os.system
  • 资源占用:复杂布尔运算可能消耗大量内存与 CPU,导致执行超时
  • 单位混淆:强制毫米单位,若脚本混入英寸常量将导致尺寸错误(建议通过变量命名如 width_mm 规避)
  • 文件覆盖:输出目录 ~/.openclaw/workspace/cad-output/ 中的同名文件会被静默覆盖

安全解读

核心用法

build123d-cad 是一款将专业 CAD 能力注入 Agent 的技术型 Skill,采用 Python 代码驱动的方式实现参数化 3D 建模。用户通过编写符合 build123d 语法的 Python 脚本,即可完成从基础几何体(立方体、圆柱、球体)到复杂机械特征(倒角、沉头孔、加强筋)的构建。Skill 提供四条核心命令:cad_generate.py 负责导出 STEP(工程协作)、STL(3D 打印)或 SVG(技术插图);cad_measure.py 计算体积、质心、表面积等关键工程参数;cad_section.py 生成交叉剖面用于装配间隙检查;cad_api.py 则提供实时 API 速查,降低学习门槛。

首次使用时,Skill 自动通过 uv 工具链创建隔离的 Python 3.12 虚拟环境并安装依赖,后续所有脚本均在该环境中运行。输出文件统一存放于 ~/.openclaw/workspace/cad-output/,便于版本管理和团队协作。

显著优点

专业级建模内核:底层依托 build123d——一个基于 Open CASCADE 几何内核、活跃维护的开源项目,几何引擎可靠性与商业 CAD 软件同源,支持实体布尔运算、扫掠、放样等高级特征。

完全参数化工作流:所有尺寸以变量形式嵌入脚本,设计迭代时仅需修改参数即可再生模型,彻底告别重复手绘草图的低效模式,特别适合系列化产品设计和公差分析。

开源零成本生态:无需订阅费或授权管理,脚本文件即设计源文件,天然适合 Git 版本控制、代码审查和自动化流水线集成,契合现代硬件团队 DevOps 实践。

多格式无缝衔接:STEP 格式确保与 SolidWorks、Fusion 360、FreeCAD 等主流软件的互操作性;STL 直接对接 Prusa、Bambu Lab 等切片软件;SVG 剖面图可用于激光切割或技术文档插图。

潜在缺点与局限性

代码门槛显著:相比图形化 CAD 的拖拽式建模,本 Skill 要求用户掌握 Python 语法和 build123d 的链式 API,机械工程师中的非程序员群体需要额外学习投入。

动态执行风险:为实现灵活建模,Skill 内部使用 exec() 执行用户传入的脚本代码,虽运行在隔离命名空间,但仍属潜在的代码注入攻击面,不建议在特权环境或生产服务器中运行不可信脚本。

复杂装配能力有限:build123d 定位为零件级建模工具,缺乏装配体约束求解、运动仿真、有限元分析等系统级功能,整机设计需导出至外部软件完成。

渲染与可视化依赖外部:Skill 本身不内置 3D 预览窗口,用户需将导出的 STEP/STL 文件拖入 MeshLab、Blender 或切片软件查看,无法即时验证设计效果。

适合的目标群体

  • 硬件创客与独立开发者:快速验证结构原型、设计定制支架和外壳,3D 打印前即完成尺寸验证。
  • 机械工程师与产品设计师:需要批量生成系列化零件、自动化输出工程图纸,或建立可参数化的企业零件库。
  • 教育机构与科研团队:CAD 教学场景中,代码驱动方式便于讲解几何算法和参数化设计思想;科研场景利于实验装置的快速迭代。
  • 开源硬件贡献者:设计文件以可读的 Python 脚本形式发布,社区协作透明度高,便于 fork 和二次开发。

使用风险与注意事项

性能与资源占用:build123d 依赖 Open CASCADE 几何内核,处理高面数网格或复杂布尔运算时可能消耗大量内存,建议在配备 8GB 以上 RAM 的环境中运行。

依赖项稳定性:Skill 依赖 build123d 及其底层 OCP (Open CASCADE Python) 绑定库,这些项目虽活跃但更新频繁,偶发的版本不兼容可能导致脚本失效,建议锁定依赖版本并定期测试升级。

沙箱执行建议:鉴于 exec() 的使用,强烈推荐在容器化环境(Docker/Podman)或专用虚拟机中运行本 Skill,避免与主系统共享敏感文件路径,降低潜在代码执行风险。

长期维护考量:当前由个人开发者 wngfra 维护(T2 级别),虽代码结构规范但存在长期维护不确定性,关键业务场景建议 fork 后自行维护或关注官方认证进度。

Build123d Cad 内容

scripts文件夹
tests文件夹
手动下载zip · 7.5 kB
cad_api.pytext/plain
请选择文件