FornjotCAD 应用程序

联合创作 · 2023-10-01 16:36

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。

浏览 5
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报