介绍 CADara:一个开源的、基于浏览器的 CAD 引擎
计算机辅助设计 (CAD) 的领域长期以来一直由需要大量安装和硬件资源的重量级桌面应用程序所主导。然而,WebAssembly (WASM) 的出现正在改变这一范式,允许复杂的几何内核在浏览器中高效运行。CADara 是一个全新的开源项目,旨在弥合专业级 CAD 功能与 Web 的易用性之间的鸿沟。
通过将强大的工业级内核与现代 Web 技术栈相结合,CADara 提供了一个平台,用于进行草图绘制、拉伸和零件建模,而无需传统软件部署带来的摩擦。
技术基础
CADara 的核心是基于 OpenCascade 7.9 构建的,这是一个备受推崇的开源几何内核。为了使这个强大的 C++ 库在浏览器环境中发挥作用,开发者利用了 WebAssembly (WASM),这使得内核能够以接近原生的速度执行。这种架构选择确保了 B-Rep (Boundary Representation) 建模的繁重工作由一个经过验证的引擎来处理。
与 OpenCascade 内核相辅相成的是用 TypeScript 编写的自定义草图求解器。根据创建者 @ttouch 的说法,这种自定义实现已被证明比最初预期的“快得多”,为草图阶段的实时约束求解提供了必要的响应速度。
当前功能集
虽然目前处于 pre-alpha/alpha 阶段,但 CADara 已经实现了一系列标准的 CAD 操作。该工具集旨在模仿参数化建模器中的专业工作流程:
草图绘制与原语生成
- Sketching: 使用基于 TypeScript 的求解器创建 2D 轮廓的能力。
- Extrude: 将 2D 草图推入 3D 体积。
- Revolve, Sweep, and Loft: 通过路径和轮廓生成复杂体积的高级方法。
细化与修改
- Fillet and Chamfer: 为零件几何形状添加圆角或斜角。
- Shell and Thicken: 将实体转换为薄壁壳体或为表面添加厚度。
- Boolean Operations: 合并、减去或交集多个实体以创建复杂零件。
组织与分析
- C-Planes: 支持 Top、Right 和 Front 平面,以便在 3D 空间中组织草图。
- Measurement Tools: 内置用于验证尺寸的实用程序。
- Transformations: 用于镜像、移动面和通用对象变换的工具。
路线图与局限性
作为一个 pre-alpha 版本,CADara 的重点是在扩展功能集之前建立一个稳定的基础。当前版本缺乏对基于网格的操作和曲线面操作的支持。开发者已表示,一旦确保了应用程序的基础稳定性,这些功能计划在未来的更新中实现。
社区观察
来自社区的早期反馈指出,现有专业工具的强烈影响。具体而言,用户观察到用户界面元素与 OnShape 非常相似,这是一种领先的云原生 CAD 平台。这表明其设计理念旨在降低那些已经熟悉行业标准云 CAD 工作流程的用户的使用学习曲线。
对于有兴趣贡献或测试 alpha 版本的人,CADara 是开源的,并在 GitHub 上可用,同时还设有专门的 Discord 社区用于开发讨论。