3个版本 (破坏性更新)

0.49.0 2024年3月21日
0.48.0 2023年12月15日
0.47.0 2023年6月20日

#11 in #code-cad

每月22次下载
2个crate中使用(通过fj

0BSD许可证

510KB
12K SLoC

Fornjot

博客 | 社区 | 贡献指南

关于

Fornjot是一个使用边界表示法(b-rep)的早期阶段的CAD内核,使用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:导出以下所有crates的全功能API。
  • fj-math:Fornjot其他部分使用的数学原语。
  • fj-interop:允许其他crates互操作的基本类型,而不相互依赖。
  • 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感兴趣,请考虑加入社区。我们非常希望您能加入我们!

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

参与其中

如果您有兴趣帮忙,只需从GitHub仓库中fork一个,并提交一个pull request

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

许可

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

请参阅LICENSE.md以获取完整详细信息。

依赖项

~10–16MB
~207K SLoC