43个重大版本

0.49.0 2024年3月21日
0.48.0 2023年12月15日
0.47.0 2023年6月20日
0.42.0 2023年3月27日
0.9.0 2022年7月25日

#392 in 渲染


4 个crate(3个直接) 中使用

0BSD 许可证

1.5MB
4K SLoC

Fornjot

博客 | 社区 | 贡献指南

关于

Fornjot是一个 早期阶段的CAD内核,使用 边界表示(b-rep),用Rust编程语言编写的。

作为一个CAD内核,该项目的目标是提供一个 坚实的开发基础,无论用于特定工具、扩展Fornjot功能集的第三方库,还是完整的CAD应用程序。

在此过程中,Fornjot遵循以下原则

  • 专注于 机械CAD应用,如3D打印、加工、木工;而不是其他用例,如建筑或电子。
  • 优先考虑 可靠性而非特性。你可以做的一切都应该按照预期工作,或者产生一个明确且可操作的错误。
  • 保持 Rust中直接定义模型的友好API。这意味着代码优先的CAD建模(或Code-CAD)是原生支持的。
  • 通过启用第三方API,支持 其他语言中的代码优先CAD建模

Fornjot仍在开发中,并不总是符合这些抱负。尽管如此,这些是项目遵循的优先级。

更多信息,请访问 网站

赞助商

Fornjot 由以下人员支持:@MitchellHansen@webtrax-oz@seanjensengrey@reivilibre@lthiery@ahdinosaur@martindederer@bollian@sucaba@nullstyle@tachiniererin@HalfVoxel@MattOslin@jminer@voxpelli@U007D@guillaumechauvat@mayfieldiv@bglw@hansihe@romixlab@krl,以及 我的其他赞助者。谢谢你们!

请考虑 支持我,以帮助 Fornjot 持续发展。

目录

状态

Fornjot 可以用于简单的模型(请参阅 示例),但当前缺乏更高级功能。正在努力改进。

概述

Fornjot 具有模块化架构,允许您选择使用它的哪些部分。它由以下库组成

  • fj:一个包含以下所有 crate 的完整 API。
  • fj-math:Fornjot 其余部分使用的数学原语。
  • fj-interop:允许其他 crate 互操作的基本类型,而不依赖于彼此。
  • fj-core:核心原语及其操作代码。
  • fj-export:将 Fornjot 模型导出到外部数据格式。
  • fj-viewer:显示 Fornjot 模型。
  • fj-window:用于与 fj-viewer 一起使用的简单窗口抽象。

使用方法

Fornjot 是一套 Rust 库(请参阅上面的列表)。有关如何使用它们的官方文档是它们的参考文档。每个库的 crates.io 页面(请参阅上面的列表)链接到这些文档。

如果您想使用 Fornjot 在 Rust 中创建特定的模型,此存储库中的 示例模型 是最好的起点

  • 要显示一个模型,运行 cargo run -p cuboid(将 cuboid 替换为您想要显示的模型名称)。
  • 要导出模型,运行 cargo run -p cuboid -- --export model.3mf (将 cuboid 替换为你想要导出的模型的名称;可选地将 3mf 替换为其他支持的文件格式)。
  • 要查看完整的命令行选项,运行 cargo run -p cuboid -- --help (所有模型都有相同的命令行界面,因此它们之间不应有太大差异)。

社区

如果您对 Fornjot 感兴趣,请考虑加入社区。我们非常希望您加入我们!

请查看网站上的 社区页面 以获取我们的位置信息!

参与其中

如果您想帮忙,只需从 GitHub 存储库中分叉一个,然后提交一个拉取请求。

如果您不知道要做什么,请查看 good first issues。如果您需要更多指导,请查看 贡献指南或直接询问

许可证

本项目是开源的,根据 零条款 BSD 许可证(0BSD,简称)许可。这基本上意味着您可以随意使用它,没有任何限制,但您不能因为问题而追究作者的责任。

有关详细信息,请参阅 LICENSE.md

依赖关系

~22–52MB
~873K SLoC