Build123d Cad

🔧 代码驱动工业级 3D 建模

基于 Python 的 build123d 参数化 3D CAD 建模工具,支持生成 STEP、STL、SVG 格式,提供测量、剖面、干涉检测与运动仿真功能。

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

使用说明

核心用法

build123d-cad 是一套基于 Python 的参数化三维 CAD 建模解决方案,通过代码驱动的方式生成工业级机械零件。用户通过编写 Python 脚本定义几何体,利用 BuildPart 上下文管理器构建实体,最终导出为标准 CAD 格式(STEP 用于工程协作,STL 用于 3D 打印)。

主要功能模块

| 命令 | 用途 |
|------|------|
| `cad_generate.py` | 导出 STEP/STL/SVG 文件 |
| `cad_measure.py` | 测量尺寸、体积、质心、面/边数量 |
| `cad_section.py` | 生成 2D 剖面 SVG 用于间隙检查 |
| `cad_api.py` | 输出 build123d API 速查表 |
| `cad_validate.py` | **干涉检测、最小间隙验证、运动体积碰撞检测** |

关键特性:装配体验证

cad_validate.py 支持三种验证模式:

  • Static: 布尔交集检测零件间硬干涉
  • Clearance: 检查最小间隙是否低于阈值
  • Sweep: 模拟旋转部件的运动轨迹,检测扫掠体积碰撞

典型工作流

1. 调用 cad_api.py 查询 API
2. 编写参数化脚本(所有尺寸变量化)

3. cad_measure.py 验证几何

4. 多零件装配必须运行 `cad_validate.py --mode full`

5. cad_generate.py 导出最终文件

显著优点

  • 完全参数化:修改尺寸即重新生成,适合迭代设计
  • 工业级精度:基于 OpenCASCADE 内核,支持复杂曲面
  • 验证闭环:内置干涉检测填补纯生成工具的空白
  • 版本可控:Python 脚本易于 Git 管理,优于二进制 CAD 文件
  • 自动化友好:命令行接口适合 CI/CD 集成

潜在缺点与局限性

| 局限 | 说明 |
|------|------|
| 学习曲线陡峭 | 需掌握 Python + build123d API,无图形界面反馈 |
| 实时预览缺失 | 无法交互式旋转查看,依赖导出后外部软件验证 |
| 复杂装配效率 | 大型装配体脚本编写繁琐,无约束求解器 |
| 材料属性简化 | 仅支持基于密度的质量估算,无有限元分析 |
|  swept volume 性能 | 密集角度步进的旋转扫掠可能计算缓慢 |

适合人群

  • 硬件工程师:设计外壳、支架、安装结构件
  • 创客/极客:开源硬件项目的参数化零件库
  • 自动化团队:需要将 CAD 生成集成到数据管道
  • 教育场景:教授参数化设计与编程思维结合

常规风险

1. 干涉漏检风险sweep 模式的角度步进过大可能遗漏碰撞,建议关键部件用 1-5° 步进
2. 单位混淆:所有尺寸强制为毫米,英制项目需手动转换

3. Python 环境依赖uv 管理的虚拟环境若损坏需重新初始化

4. STEP 兼容性问题:复杂布尔运算可能导致其他 CAD 软件导入失败,建议保留原始脚本

5. 运动仿真简化:仅支持绕轴旋转扫掠,不包含动力学或柔性体变形

Build123d Cad 内容

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