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