# hannobraun/fornjot

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/hannobraun-fornjot).**

2,550 stars · 131 forks · Rust · NOASSERTION

## Links

- GitHub: https://github.com/hannobraun/fornjot
- Homepage: https://www.fornjot.app/
- awesome-repositories: https://awesome-repositories.com/repository/hannobraun-fornjot.md

## Topics

`cad` `rust`

## Description

Fornjot is a CAD modeling kernel and 3D geometry engine designed for the creation and manipulation of precise mechanical shapes. It functions as a B-Rep 3D modeling kernel, using boundary representation to define the shapes and topologies of three-dimensional models.

The project provides a B-Rep geometry visualizer to render 3D models in a windowed environment for visual verification. It also includes a pipeline to export internal geometric representations into external data formats for compatibility with other software.

The engine covers geometric modeling through primitive-based construction and CSG boolean operations, such as union, intersection, and difference. It manages the underlying boundary representation topology by storing connectivity graphs of vertices, edges, and faces.

## Tags

### Scientific & Mathematical Computing

- [Boundary Representation Modeling](https://awesome-repositories.com/f/scientific-mathematical-computing/boundary-representation-modeling.md) — Provides a B-Rep modeling kernel that defines 3D solids through their bounding surfaces for precise mechanical geometry.
- [Constructive Solid Geometry Operations](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/computational-geometry/geometric-operations/constructive-solid-geometry-operations.md) — Supports CSG boolean operations such as union, intersection, and difference for constructing complex 3D solids.

### Graphics & Multimedia

- [3D Geometry Engines](https://awesome-repositories.com/f/graphics-multimedia/3d-geometry-engines.md) — Functions as a comprehensive 3D geometry engine for defining and processing precise mechanical shapes.
- [CAD Modeling Kernels](https://awesome-repositories.com/f/graphics-multimedia/cad-modeling-kernels.md) — Serves as a foundation for CAD software focused on the creation and export of precise mechanical 3D models.
- [Mechanical 3D Modeling](https://awesome-repositories.com/f/graphics-multimedia/mechanical-3d-modeling.md) — Designed specifically for the creation and manipulation of precise mechanical shapes.
- [B-Rep Geometry Generation](https://awesome-repositories.com/f/graphics-multimedia/programmatic-cad-generation/b-rep-geometry-generation.md) — Defines the shapes and topologies of mechanical parts to produce precise three-dimensional models.
- [3D Model Visualizers](https://awesome-repositories.com/f/graphics-multimedia/3d-model-visualizers.md) — Includes a visualizer to render 3D models in a windowed environment for design verification. ([source](https://cdn.jsdelivr.net/gh/hannobraun/fornjot@main/README.md))
- [CAD Model Export Pipelines](https://awesome-repositories.com/f/graphics-multimedia/cad-model-export-pipelines.md) — Implements a pipeline to export internal B-Rep representations into external data formats for CAD software compatibility.
- [Geometry Visualization Pipelines](https://awesome-repositories.com/f/graphics-multimedia/geometry-visualization-pipelines.md) — Provides a visualization pipeline to project 3D coordinate data onto a 2D plane for windowed rendering.

### Software Engineering & Architecture

- [Primitive-Based Construction](https://awesome-repositories.com/f/software-engineering-architecture/object-oriented-models/graphics-primitives/geometric-primitives/primitive-based-construction.md) — Builds mechanical parts by combining basic geometric shapes through predefined spatial transformations.

### Data & Databases

- [Three-Dimensional Visualizations](https://awesome-repositories.com/f/data-databases/data-analysis-visualization/visualization-frameworks-libraries/data-visualization/three-dimensional-visualizations.md) — Renders 3D geometry in a windowed environment to allow for inspection and verification of the design.

### Development Tools & Productivity

- [3D Model Exporters](https://awesome-repositories.com/f/development-tools-productivity/project-imports/external-file-importers/3d-model-exporters.md) — Ships functionality to convert internal 3D representations into external file formats for use in other software. ([source](https://cdn.jsdelivr.net/gh/hannobraun/fornjot@main/README.md))
