CAD Studio 发布:用本机 Claude Code 或 Codex 生成可打印参数化 CAD 模型
Show HN: CAD Studio – Describe a part, get parametric CAD you can print (macOS)
CAD Studio 是一款原生 macOS 应用,用户描述零件后由本机已登录的 Claude Code 或 Codex 编写参数化 model.py,再用 build123d 运行并输出 3D 模型、ISO 技术图纸和可直接送入切片软件的文件。
CAD Studio
描述一个零件,即可获得可打印的模型。一款原生 macOS CAD 工作室,由你 Mac 上的编码智能体(Claude Code 或 Codex)和 build123d 驱动。
输入“一个四色、按真实齿轮比动画演示的打印即用行星齿轮箱”,CAD Studio 就会让你的编码智能体编写一个参数化 model.py,用 build123d 运行它,并交给你一个 3D 模型、一份 ISO 技术图纸以及可直接用于切片软件的文件。每次更改都是一个可回退的新版本。
功能
- 与一个智能体聊天,它会为你编写并修复参数化 build123d 脚本
- 实时 3D 查看器,支持旋转、缩放、平移、网格、线框和多色 3MF 零件
- 测量距离并剖切模型
- 用物理模拟(质量、弹簧、摩擦)为机构制作动画,并进行逐帧碰撞检测
- 多零件模型:装配、爆炸或打印板视图,显示、隐藏或保持零件在一起
- 打印板,每个零件都已按打印方向摆放(
plate.3mf,在你的切片软件中打开) - 带滑块的浮动参数面板:无需呼叫智能体即可调整尺寸
- ISO 技术图纸(第一角投影):带零件清单的装配图,外加每个零件一张图纸,合为一个多页 PDF
- 版本历史:跳回任意一次生成,聊天和上下文一并保留,并在 3D 中比较版本
- 将参考图片、草图、PDF 和 STEP/STL 文件附加或粘贴(⌘V)到聊天中
- 将 STEP、3MF、STL、PDF 图纸和
model.py导出为一个 ZIP - 面向 FDM、多材料、树脂和 SLS 的打印机感知设计规则,单位支持毫米、厘米、米或英寸
- 可将面板拖到任意位置:聊天在左侧、右侧或底部,布局按项目保存
- 英语、意大利语、德语和法语
截图
下面的每张截图都来自同一个项目:一个打印即用行星齿轮箱,从首次启动到版本 2。
设置一次,然后描述你的零件。 首次启动时选择你的打印机和单位,创建一个项目并输入你需要的零件。
| 首次启动 | 描述零件 |
|---|---|
![]() |
![]() |
| 智能体工作中 | 完成的齿轮箱 |
![]() |
![]() |
零件、运动和图纸。 展开装配体,播放模拟运动,并翻阅图纸。
| 爆炸视图 | 模拟运动 |
|---|---|
![]() |
![]() |
| 无需智能体即可编辑参数 | 测量距离 |
![]() |
![]() |
| 剖视图 | 每个零件一张图纸 |
![]() |
![]() |
| 请求更改:版本 2 | 与版本 1 比较 |
![]() |
![]() |
| 聊天在右侧 | 聊天在底部 |
![]() |
![]() |
快速开始
前提条件
- macOS 15 或更高版本
- Claude Code 已登录(在终端中运行一次
claude),或 Codex CLI 已登录(codex login);在设置 → 智能体中选择一个 - uv 或 Python 3.10–3.13,用于在首次启动时安装 build123d
下载
从最新发布版获取 CADStudio.dmg,并将 CAD Studio 拖入 Applications。该应用未经过公证,因此首次 macOS 会阻止它:打开系统设置 → 隐私与安全性并点击仍要打开,或运行:
xattr -dr com.apple.quarantine "/Applications/CAD Studio.app"从源代码构建(需要 Xcode 16 或更高版本)
git clone https://github.com/filippofinke/cad-studio.git
cd cad-studio
./build.sh --install这会构建一个通用 CAD Studio.app,将其复制到 /Applications 并启动它。./build.sh --dmg 构建 build/CADStudio.dmg。你也可以打开 CADStudio.xcodeproj 并按 ⌘R。
工作原理
每个项目都是一个文件夹。CAD Studio 在该文件夹内以无头模式运行安装在你的 Mac 上的 agent(claude -p --output-format stream-json,或在其工作区沙箱中的 codex exec --json),并带有 CAD 系统提示,要求生成单个参数化 model.py。agent 使用专用的 Python 环境(~/Library/Application Support/CAD Studio/venv,包含 build123d、matplotlib 和 numpy)运行脚本,直到它生成:
<Project>/
├── model.py # parametric build123d script
├── references/ # images attached in the chat
├── output/
│ ├── model.3mf # main model, with part colors
│ ├── model.stl
│ ├── model.step
│ ├── plate.3mf # parts laid out ready to print
│ ├── schematic.svg / .png / .pdf # page 1 + multi-page PDF
│ ├── schematic-2.svg … # one sheet per part
│ ├── animation.json # optional: simulated motion, values and collisions
│ └── manifest.json # size, volume, parameters, warnings
└── .cadstudio/ # chat, session, logs and versions
应用会将 agent 的文本和工具调用流式传输到聊天中,监视 output/,并在文件发生变化时立即重新加载 3D 视图和图纸。每次成功生成都会连同聊天记录和分叉的 Claude 会话一起复制到 .cadstudio/versions/<n>/,因此回到某个版本时也会恢复 agent 所记住的内容。
注意事项
- 生成会使用你的 Claude Code 或 Codex 套餐。一个简单的零件需要一到两分钟;一个复杂的机构可能需要半小时。
- 默认情况下,agent 会忽略你的个人配置(Claude Code hooks、插件和 MCP servers、Codex
config.toml)。如果你的登录依赖于它们,请在设置 → 高级中关闭此选项。 - 设置 → Agent → 受限 Bash(Claude Code)会将 agent 限制为项目的 Python 解释器和只读命令。
- 文件始终以毫米为单位;所选单位用于回复和图纸中。
贡献
针对 main 提交一个带有 Conventional Commits 标题的 pull request(feat: …、fix: …)。PR 会以 squash 方式合并,release-please 会将它们转换为一个发布 PR,用于提升版本并更新 changelog。合并它会发布一个附带 DMG 的 GitHub release。
作者
👤 Filippo Finke
- 网站:https://filippofinke.ch
- Twitter:@filippofinke
- GitHub:@filippofinke
- LinkedIn:@filippofinke
表达你的支持
如果这个项目对你有帮助,请给一个 ⭐️!
📝 许可证
Copyright © 2026 Filippo Finke。
本项目采用 MIT 许可证。
与 Anthropic 无关联。
来源:Hacker News · github.com














