solidcraft - 纯 Rust 编写的开源参数化 3D CAD 应用
solidcraft 是 tangency-labs 维护的开源参数化 3D CAD 应用,用纯 Rust 编写,提供桌面端、浏览器端、无头 CLI 与内置 MCP 服务器。项目自述支持草图约束、参数化特征时间线、装配、钣金与多种 CAD 文件格式,采用 Apache-2.0 许可。
solidcraft 是一个开源的参数化 3D CAD 应用,由 tangency-labs 维护,使用纯 Rust 编写。它的核心思路是「参数驱动重建」:用户先画草图、加约束,再通过拉伸、旋转、扫掠等特征构建实体,所有操作记录在一条可编辑的参数化时间线上;改动一个尺寸,模型会按时间线重新计算。据项目自述,它同时提供桌面应用、浏览器应用、无头命令行工具和一个内置的 MCP 服务器,四者运行同一套命令。它适合需要可编程、可脚本化建模流程的工程师,也适合希望让 AI 代理参与建模的开发者,以及想在自己机器上跑一套轻量 CAD 工具的个人用户。
维护者与状态
项目由 tangency-labs 维护,仓库创建于 2026-10-07,最后一次提交在 2026-10-22。最新正式版本为 v0.19.0,发布于 2026-10-22。截至 2026-10-22,仓库获得 9127 个星标。从时间线看,这是一个非常年轻的项目,版本号仍处于 0.x 阶段,接口与功能都可能继续调整。
主要能力
以下内容来自项目 README 的自述,属于维护者对自身能力的描述,并非第三方评测结论。
- 草图与约束:支持直线、圆弧、样条、文字等草图元素,由项目自研的约束求解器求解,尺寸可以由参数驱动。
- 特征建模:提供拉伸、旋转、扫掠、放样、圆角、倒角、抽壳、拔模、孔、螺纹、阵列、镜像、分割与组合等特征,全部挂在可编辑的参数化时间线上。
- 参数与配置:支持带单位感知的表达式,可在参数表中修改数值并触发整体重建。
- 装配:支持关节、运动仿真、接触集、干涉检查与质量属性。
- 钣金:包含翻边、卷边、折弯与展开、展开图,以及塑料外壳相关特征。
- 文件格式:据项目说明,在支持范围内可导入导出 STEP、IGES、3MF、STL、OBJ 与 glTF,支持 URDF 导出,原生设计文件为
.solidcraft。 - 多端一致:桌面应用、浏览器应用、无头 CLI 与 MCP 服务器共用同一套命令。
README 还给出了一个自述的验证口径:在 76 个公开参考零件中,有 75 个的体积、面积、质心与包围盒与解析值或 FreeCAD 计算值一致,剩余一个是被跟踪的缺陷。这是项目自己公布的对照结果,读者应将其视为维护者声明而非独立验证。
使用入口
源码与发布物都在 GitHub 仓库:tangency-labs/solidcraft。
据 README,从源码构建桌面应用可以执行:
cargo run --release -p solidcraft -- --sample
运行命令行工具并查看命令注册表:
cargo run --release -p solidcraft-cli -- commands
用脚本驱动建模并导出 STEP:
cargo run --release -p solidcraft-cli -- run examples/bracket.json --out bracket.step
面向 AI 代理,项目提供 MCP 服务器模式。无头运行时它自己开一个设计会话,加上 --connect 则可以驱动正在运行的应用,便于观察建模过程。README 给出的 Claude Code 接入命令为:
claude mcp add solidcraft -- solidcraft-cli mcp
脚本本质上是一份 JSON 命令列表,与界面执行的是同一批命令,通过 solidcraft-cli run 执行。此外,README 提到页面也可以通过浏览器命令 API 被驱动。
许可与限制
仓库采用 Apache-2.0 许可证。README 中另写作「MIT OR Apache-2.0,由使用者选择」,与仓库元数据存在表述差异,实际使用前建议以仓库中的 LICENSE 文件为准。
项目自述的已知限制与注意事项包括:
- 项目自我定位为「早期但可用于简单零件」,复杂模型是否适用需要使用者自行判断。
- 下载包尚未签名。README 说明在 Windows 上需要在 SmartScreen 中选择「更多信息」再「仍要运行」,macOS 首次打开需右键选择「打开」。
- README 提到 0.11 至 0.14 版本需要手动下载一次以完成更新,属于特定版本的升级路径说明。
- 项目声明其为独立项目,行为依据公开文档、通用 CAD 惯例与用户反馈设计,与任何商业 CAD 厂商无隶属或背书关系;文中出现的商业产品名称仅用于描述兼容性。
需要说明的是,本文没有实际运行该项目,上述能力与限制均来自项目自述,具体表现请以实际使用为准。