7,380 open-source and SaaS tools, with GitHub stats refreshed every day.

Libfive

Open source

Solid modeling framework for CAD using functional representations, with a meshing library, scripting bindings and an OpenSCAD-style GUI.

Open-source alternative to

libfive.com
Libfive homepage screenshot
GitHub stars
1.7k
Last commit
10 mo ago
Repository age
10 years
Self-hosted
Yes

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

SaaS alternatives to Libfive

See all