FornjotCAD 应用程序
Fornjot 是一个用 rust 语言编写的的 CAD 应用程序。Fornjot 是一个早期项目,旨在创建下一代、代码优先的 CAD 应用程序。
Fornjot正在积极开发中,但仍处于试验阶段。目前的工作重点是提供一组稳定的基本 CAD 功能。它:
- 使用代码优先的方法;
- 是开源的;
- 广泛可用,支持所有主要平台;
- 基于新的 b-rep CAD 内核,用 Rust 编写;
- 提供全面的功能集;
- 并支持不同的建模语言。
特性:
Rust 中的代码优先 CAD
模型被定义为 Rust 代码。为了确保快速编译,它们被单独编译,并作为插件加载到 Fornjot 应用程序中。
use fj::syntax::*; #[fj::model] pub fn model( #[param(default = 1.0, min = inner * 1.01)] outer: f64, #[param(default = 0.5, max = outer * 0.99)] inner: f64, #[param(default = 1.0)] height: f64, ) -> fj::Shape { let outer_edge = fj::Sketch::from_circle(fj::Circle::from_radius(outer)); let inner_edge = fj::Sketch::from_circle(fj::Circle::from_radius(inner)); let footprint = outer_edge.difference(&inner_edge); let spacer = footprint.sweep([0., 0., height]); spacer.into() }
这是 spacer model 的代码。
基本建模功能
此时,Fornjot 支持基本的 2D 形状(由线段、圆和它们之间的有限组合制成的草图)并沿直线路径扫过这些 2D 形状以创建 3D 形状。
短期到中期的优先事项是提供 CSG 支持、更灵活的草图和更灵活的扫描(沿圆形或螺旋线)。从长远来看,该计划是继续添加更高级的 CAD 建模功能,以支持甚至复杂的模型和工作流程。
支持主流桌面平台
在撰写本文时,Fornjot 在 Linux、Windows 和 macOS 上运行。该项目主要在 Linux 上开发,因此其他平台可能存在错误。如果你想提供帮助,定期在 Windows 和 macOS 上进行测试并报告错误是一个很好的方法。
短期到中期,计划是增加对 Web 平台的支持,以便 Fornjot 可以在浏览器中运行。从长远来看,计划是额外支持主要的移动平台。
导出到 3MF 和 STL
支持将模型导出为用于 3D 打印的3D 制造格式(3MF) 和 STL。
评论