42次重大发布
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日 |
#1706 in 数学
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
替换为另一种支持的文件格式)。 - 要查看完整的 CLI 选项,运行
cargo run -p cuboid -- --help
(所有模型具有相同的 CLI 界面,因此它们之间不应有太大差异)。
社区
如果您对 Fornjot 感兴趣,请考虑加入社区。我们非常欢迎您加入!
请访问网站上的 社区页面 以获取我们的位置信息!
参与其中
如果您想帮忙,只需 fork GitHub 中的一个存储库并提交一个 pull request。
如果您不知道要做什么,请查看 good first issues
。如果您需要更多指导,请查看 贡献指南、或直接询问!
许可证
本项目是开源的,许可协议为 零条款 BSD 许可证(0BSD,简称)。这基本上意味着您可以无限制地使用它,但不能因问题而追究作者的责任。
有关详细信息,请参阅 LICENSE.md。
依赖项
~24–59MB
~1M SLoC