About Libfive
libfive is a framework for solid modeling built on functional representations, where a shape is defined by a mathematical function rather than a list of polygons. It is aimed at CAD users, programmers and researchers who want to design parts through code and then render or mesh them. It is organized in layers, from low-level infrastructure up to a graphical application.
The core shared library, written in C++ with a C API, builds, manipulates and renders these functions. Its meshing algorithm produces watertight, manifold, hierarchical, feature-preserving triangle meshes. A standard library adds common shapes, transforms and constructive solid geometry operations, and generates bindings for Guile Scheme and Python for use in a REPL or in larger programs. Studio, the GUI application, is in the style of OpenSCAD and supports live coding of models as well as direct modeling, where pushing and pulling on the surface changes script variables.
The ecosystem includes bindings for Common Lisp, Rust and Unity, several lightweight viewers, and a research paper on rendering implicit surfaces in parallel on the GPU. The repository metadata does not specify a license, so check the repository before use. Downloads, API documentation and examples are linked from the project homepage.
Key features
- Functional representation solid modeling
- Watertight feature-preserving mesh generation
- Standard library of shapes and CSG operations
- Guile Scheme and Python bindings
- Studio GUI with live coding
- Direct modeling by pushing and pulling surfaces
Good fit for
- →Designing 3D-printable parts in code
- →Building custom CAD tools on a modeling kernel
- Built with
- C++
- Tags
- cad
- solid-modeling
- 3d-printing
- scheme
- python
- cpp
- f-rep
- meshing
Libfive: questions and answers
- What is Libfive used for?
- Libfive is a solid modeling framework for CAD using functional representations, with a meshing library, scripting bindings and an OpenSCAD-style GUI. It is a good fit for designing 3D-printable parts in code and building custom CAD tools on a modeling kernel.
- Is Libfive open source?
- Yes. Libfive is open source. Its source code is on GitHub at libfive/libfive and is written mainly in C++.
- Is Libfive free?
- Yes. Libfive is open source, so the software itself is free to use.
- What is Libfive an alternative to?
- Libfive is an open-source alternative to SolidWorks, Autodesk Inventor and nTop. Other open-source alternatives to SolidWorks include FreeCAD and OpenSCAD.
- Is Libfive actively maintained?
- The most recent commit to Libfive was on 12 November 2025. The project has 1.7k stars on GitHub.
Open-source alternatives to Libfive
See all
FreeCAD
3D & CAD
Official source code of FreeCAD, a free and opensource multiplatform 3D parametric modeler
LGPL-2.1vs SolidWorks★ 34k
OpenSCAD
3D & CAD
OpenSCAD - The Programmers Solid 3D CAD Modeller
OSSvs Autodesk Fusion★ 10k
PrusaSlicer
3D & CAD
G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)
AGPL-3.0vs Simplify3D★ 9.4k
OrcaSlicer
3D & CAD
G-code generator for 3D printers (Bambu, Prusa, Voron, VzBot, RatRig, Creality, etc.)
AGPL-3.0vs Simplify3D★ 16k
UltiMaker Cura
3D & CAD
3D printer / slicing GUI built on top of the Uranium framework
LGPL-3.0vs Simplify3D★ 7k
LibreCAD
3D & CAD
LibreCAD is a cross-platform 2D CAD program. It can read DXF/DWG, and write DXF/DWG/PDF/SV
OSSvs AutoCAD★ 6.4k
SaaS alternatives to Libfive
See all
SolidWorks
3D & CAD
3D CAD software for mechanical design, simulation and product data management
SaaS
Autodesk Inventor
3D & CAD
3D mechanical CAD software for product design and simulation
SaaS
nTop
3D & CAD
Engineering design software for generative and lattice design for additive manufacturing
SaaS
PTC Creo
3D & CAD
3D CAD software for product design and simulation from PTC
SaaS
Siemens NX
3D & CAD
Integrated CAD, CAM and CAE software for product design and manufacturing
SaaSSolid Edge
3D & CAD
3D CAD software from Siemens for mechanical design, simulation and manufacturing
SaaS

