核心用法
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/中的同名文件会被静默覆盖