Build123d Cad

🔧 代码驱动参数化 3D 建模

基于 Python build123d 的参数化 3D CAD 建模工具,支持生成 STEP/STL/SVG 并验证装配干涉,适合机械设计与 3D 打印。

收藏
2.7k
安装
1.2k
版本
1.1.2
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

build123d-cad 是一款基于 Python 的参数化 3D CAD 建模技能,底层采用 build123d 库。用户通过编写 Python 脚本定义三维几何体,系统支持以下核心功能:

| 功能 | 说明 |
|------|------|
| **Generate** | 导出 STEP(工程标准)、STL(3D 打印)、SVG(二维视图) |
| **Measure** | 自动计算体积、表面积、质心、包围盒、面/边数量 |
| **Section** | 生成指定平面的 2D 剖面图 |
| **Validate** | 多部件装配验证:静态干涉检测、最小间隙检查、运动扫掠碰撞检测 |
| **API Reference** | 输出 build123d 速查表 |

脚本需遵循标准格式:单部件使用 with BuildPart() as result 上下文,多部件装配需定义 parts 字典,可选定义 sweeps 描述运动部件。

显著优点

1. 参数化设计:所有尺寸可变量化,便于迭代修改与版本管理
2. 工程级输出:原生支持 STEP 格式,可直接导入 SolidWorks/Fusion 360 等专业 CAD 软件

3. 装配验证:独有的 sweep 模式可模拟旋转关节运动,预防机械干涉

4. 测量自动化:无需手动测量,自动输出精确几何属性

5. 代码复用:Python 脚本可直接纳入版本控制,设计过程可审计

潜在缺点与局限性

  • 学习曲线:需掌握 build123d API 与 Python 基础,非图形界面操作
  • 复杂曲面受限:相比 FreeCAD 或商业软件,高级曲面建模能力较弱
  • 无实时预览:无法像传统 CAD 软件即时可视化操作结果
  • 依赖环境:需 Python 3.12 虚拟环境,首次配置约需数分钟
  • 性能边界:超大规模装配(>1000 部件)可能出现性能瓶颈

适合人群

  • 机械工程师与产品设计师:需要参数化、可版本控制的 3D 建模流程
  • 3D 打印爱好者:快速生成 STL 并验证打印可行性
  • 硬件开发者:设计外壳、支架、安装座等结构件
  • 教育用户:学习程序化 CAD 与几何建模原理

常规风险

| 风险类型 | 说明 | 缓解措施 |
|----------|------|----------|
| 尺寸错误 | 脚本参数错误导致实物尺寸偏差 | 运行 `cad_measure.py` 验证关键尺寸 |
| 装配干涉 | 多部件未经验证直接导出 | **强制要求** 多部件场景执行 `cad_validate.py --mode full` |
| 打印失败 | 悬空结构、壁厚不足 | 遵循设计规则(圆角≥1mm、添加支撑特征) |
| 格式兼容性 | STEP 导入其他软件出现面缺陷 | 优先使用标准几何体,避免过度复杂布尔运算 |

技能内置明确的安全流程:多部件装配必须先通过验证再导出,验证结果分 PASS/WARN/FAIL 三级,并提供可视化扫掠体积文件供人工复核。

安全解读

核心用法

build123d-cad是一款面向工程设计的参数化3D CAD建模技能,用户通过编写Python脚本即可创建精确的机械零件、外壳、支架等三维模型。该技能提供五大核心功能模块:Generate(生成并导出STEP/STL/SVG格式文件)、Measure(计算体积、表面积、质心等工程参数)、Section(生成2D截面SVG用于间隙可视化)、API Reference(输出build123d速查手册)、Validate(多零件装配干涉检测与运动碰撞分析)。

工作流程遵循严谨的工程规范:首次使用时通过uv创建Python 3.12虚拟环境并安装build123d;不确定API时可先调用cad_api.py获取完整接口文档;编写参数化脚本后先用cad_measure.py验证尺寸;多零件装配必须通过cad_validate.py进行静态干涉、间隙 clearance 和运动扫掠体积三重检测,确保PASS后方可导出最终文件。

显著优点

工业级精度与开放性:直接生成STEP(通用CAD交换格式)、STL(3D打印标准)和SVG(技术图纸),无缝对接SolidWorks、Fusion 360、PrusaSlicer等专业软件。参数化设计哲学:所有尺寸通过变量定义,支持快速迭代和系列化设计,避免"魔法数字"导致的维护灾难。装配级验证能力:独有的sweeps运动模拟功能可检测旋转部件在-45°到45°范围内的碰撞风险,这是多数脚本化CAD工具缺失的关键特性。零外部依赖风险:技能本体不声明任何第三方库,仅依赖用户本地安装的build123d,供应链攻击面极小。

潜在缺点与局限性

学习门槛较高:需要掌握Python基础语法和build123d的函数式建模思维(BuildPart上下文管理器、选择器语法等),对非程序员用户不够友好。无实时可视化:不同于Onshape或Fusion 360的交互式界面,该技能采用"编写-运行-查看文件"的离线模式,设计反馈循环较长。格式支持有限:仅输出STEP/STL/SVG,不支持原生.param、.ipt等商业CAD格式,复杂装配体可能在导入时丢失特征树。依赖本地Python环境:需要用户自行维护uv虚拟环境,版本冲突或build123d更新可能导致脚本兼容性问题。

适合的目标群体

机械工程师与产品设计师:需要将快速概念验证脚本集成到自动化工作流中,批量生成系列零件。开源硬件开发者:设计3D打印外壳、安装支架、齿轮传动等机构件,追求可版本控制的参数化方案。教育科研场景:CAD编程教学、机器人结构仿真、科研设备的定制化夹具设计。DevOps导向的硬件团队:希望将CAD生成纳入CI/CD流水线,实现设计参数驱动的自动化构建与测试。

使用风险与注意事项

性能风险:复杂布尔运算(如大量阵列或微细分曲面)可能触发120秒超时机制,建议分解为多个子脚本。文件管理:输出目录固定为~/.openclaw/workspace/cad-output/,多用户环境需注意路径权限。脚本安全边界:虽然技能实现了黑名单(阻止subprocess/eval等)和白名单(限制导入模块)双重验证,但用户仍需避免在脚本中硬编码敏感路径或执行文件操作。依赖维护:建议定期关注build123d官方仓库安全通告,生产环境应锁定兼容版本而非自动更新最新版。

Build123d Cad 内容

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