Fornjot

CAD 应用程序
授权协议 BSD
开发语言 Rust
所属分类 企业应用、 计算机辅助设计CAD/CAM
软件类型 开源软件
地区 不详
投 递 者 罗凯
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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。

  • Fornjot: 世界需要另一个CAD程序 Fornjot (Code-CAD in Rust) - Weekly Dev Log - 2022-W09 关于Fornjot Fornjot是一个早期项目,旨在创建新一代的Code-CAD应用程序:因为世界需要另一个CAD程序。 这个项目的目标是创建一个有如下特色的CAD应用程序: 使用代码优先的方法; 是开源的; 广泛使用,支持所有主要平台; 基于

 相关资料
  • Application是CatLib程序的核心,也是所谓的程序入口。应用程序通过引导来加载服务提供者和其他一些必须的资源。应用程序在一般情况下只允许启动一个,且只能在主线程中启动。 在任何位置,您可以通过App全局变量访问应用程序。 启动流程 Application.Bootstrap -> Application.Register -> Application.Init Application.

  • Leafpad Leafpad是一个十分小巧、快捷的图形界面文本编辑器,它可以用于作笔记或者编辑文件。你可以在菜单中找到它,或者直接在命令行中指定Leafpad编辑文件: $ leafpad Templates/script-shell.sh ISO 大师 —— 创建并且编辑ISO文件 ISO大师是一个可以创建、操作、编辑ISO镜像的图形工具,你可以储存或刻录生成的ISO文件。这个软件简单、直观

  • The best software in the world only sucks. The worst software is significantly worse than that. — Luke Kanies 在本章中,我们将学习如下内容: 管理 Apache 服务 创建 Apache 虚拟主机 创建 Nginx 虚拟主机 创建 MySQL 数据库及用户 管理 Drupal 站点 管理

  • 下图说明数据流如何贯穿整个系统: index.php 作为前端控制器,初始化运行 CodeIgniter 所需要的基本资源。 Router 检查 HTTP 请求,以确定谁来处理请求。 如果缓存(Cache)文件存在,它将绕过通常的系统执行顺序,被直接发送给浏览器。 安全(Security)。应用程序控制器(Application Controller)装载之前,HTTP 请求和任何用户提交的数据将

  • 我有一个Winforms应用程序,它目前正在使用application Insights SDK捕获错误日志、事件、异常、表单视图和另一个遥测。App Center现在支持WinForms应用程序,它还支持将遥测数据导出到应用程序洞察中。我现在的问题是,我是否应该从WinForms应用程序中删除Application Insights SDK,而使用AppCenter SDK?这样做有什么好处吗?

  • 下图说明了整个系统的数据流程: index.php 文件作为前端控制器,初始化运行 CodeIgniter 所需的基本资源; Router 检查 HTTP 请求,以确定如何处理该请求; 如果存在缓存文件,将直接输出到浏览器,不用走下面正常的系统流程; 在加载应用程序控制器之前,对 HTTP 请求以及任何用户提交的数据进行安全检查; 控制器加载模型、核心类库、辅助函数以及其他所有处理请求所需的资源;

  • 我有一个nodejs应用程序,它只不过是一个使用微软botbuilder框架构建的机器人。我创建了azure应用程序服务来托管此应用程序。我想找到一种方法,将所有应用程序日志和web服务器日志(如果可能的话)持久化到某个持久化存储中。就像本地web应用程序一样,我们可以在应用程序服务器上查找日志 在做了一些研究之后,我找到了微软关于这方面的官方文件,但看起来它有以下局限性。 我们不能使用应用程序服

  • 主要内容:XML 文档实例,在 HTML div 元素中显示第一个 CD,实例,添加导航脚本,实例,当点击 CD 时显示专辑信息本章演示一些基于 XML, HTML, XML DOM 和 JavaScript 构建的小型 XML 应用程序。 XML 文档实例 在本应用程序中,我们将使用 "cd_catalog.xml" 文件。 在 HTML div 元素中显示第一个 CD 下面的实例从第一个 CD 元素中获取 XML 数据,然后在 id="showCD" 的 HTML 元素中显示数据。displ