Rust 中的参数化 CAD
Parametric CAD in Rust

原始链接: https://campedersen.com/vcad

## vcad:将CAD作为代码 作者对传统GUI CAD软件迭代且容易出错的过程感到沮丧,因此构建了**vcad**,一个用Rust编写的CAD库。其核心思想是将零件定义为代码——使用基本体和布尔运算描述几何体,从而提供版本控制、参数化设计和可测试性。 vcad利用一个简单的API:基本体(立方体、圆柱体)、布尔运算(+表示并集,-表示差集)、变换和模式。这允许简洁的零件定义——一个带有孔的复杂板材只需十二行代码即可创建。除了用于3D打印的STL导出外,vcad还支持带有材质的glTF导出以进行可视化。 主要优点包括其几何引擎保证的封闭网格、Rust带来的零成本抽象以及具有测试和linting的强大工具链。重要的是,vcad的设计目的是与AI编码代理集成,从而实现自动零件生成、导出和渲染——Claude在Blender中无需人工干预即可生成并渲染所有图像,这已得到证明。 vcad采用MIT许可,目前版本为0.1,未来开发计划包括倒角和Web GUI等功能。它旨在将CAD从基于点击的工作流程转变为基于代码的工作流程。

一个新的用 Rust 构建的参数化 CAD 项目在 Hacker News 上引发了讨论。项目对三角形网格几何内核的依赖性正在被争论,一些用户认为这限制了它在“严肃 CAD”工作中的适用性。 有人提出了三角形网格的替代方案,例如商业 CAD 软件中使用的边界表示 (Breps),并特别提到了 OpenCASCADE 和 libfive 作为潜在选项。 对话还涉及了大型语言模型 (LLM) 在 CAD 中的潜在作用,并表示有兴趣将其用于不仅仅是文本到 STL 转换。一位用户指出他们正在学习 OpenSCAD,强调了对易于访问的建模工具的需求。总的来说,讨论的中心是 CAD 软件开发的的技术挑战和潜在未来方向。
相关文章

原文

I keep designing physical parts for our robots. Motor mounts, sensor brackets, wheel hubs. Every time, the workflow is the same: open a GUI CAD program, click around for an hour, export an STL, realize the bolt pattern is 2mm off, repeat.

I wanted to write my parts the way I write firmware. In Rust. With types. With version control. With the ability to change one number and regenerate everything.

So I built vcad.