Crate fj

source ·
Expand description

Fornjot Modeling Library

This library is part of the Fornjot ecosystem. Fornjot is an open-source, code-first CAD application; and collection of libraries that make up the CAD application, but can be used independently.

The purpose of this library is to support Fornjot models, which are just Rust libraries. Models depend on this library and use the primitives defined here to define a CAD model. Together with the Fornjot application, this library forms the part of Fornjot that is relevant to end users.

To display the created CAD model, or export it to another file format, you need the Fornjot application. Please refer to the Fornjot repository for usage examples.


Interfaces used when defining models.
Convenient syntax for fj operations
API for checking compatibility between the Fornjot app and a model


Define the initialization routine used when registering models.


An angle
A circle that is part of a Sketch
A difference between two shapes
A group of two 3-dimensional shapes
A polygonal chain that is part of a Sketch
A sketch
A sweep of a 2-dimensional shape along straight path
A transformed 3-dimensional shape


A chain of elements that is part of a Sketch
A shape
A 2-dimensional shape

Attribute Macros

Define a function-based model.