build123d

What build123d is
build123d is a Python framework for creating parametric 2D and 3D CAD models with boundary representation (BREP) geometry. Built on the Open Cascade geometric kernel, it offers builder and algebra modeling styles. Designers can use Python context managers or compose operations with operators, and change model dimensions by editing parameters. Its explicit 1D, 2D, and 3D geometry classes provide defined operations, while Python selectors, locations, and conversions connect the modeling work to Python code. The framework includes assembly design, surface modeling, and sheet-metal tools, and supports designs for 3D printing, CNC machining, and laser cutting. It imports STEP, STL, and 3MF files, and exports BREP, DXF, glTF, OBJ, STL, STEP, SVG, and 3MF. Models can also be exported to FreeCAD and SolidWorks; build123d objects can be exchanged with CadQuery through their shared OCP wrapper. The Python package supports Windows, macOS, and Linux, and most users can install it with pip. The project is open source under the Apache License 2.0. Documentation is available in PDF and EPUB formats, and a shared Discord server has a build123d help channel. Some shapes may not be constructible with the underlying CAD core, so alternate modeling approaches may be needed.
Who it suits
build123d suits Python users who want to define editable 2D or 3D CAD models in code, including designs for manufacturing. It may also fit teams that need assembly, surface, or sheet-metal modeling and exchange formats with other CAD tools.
What it does well
- Free Python package for Windows, macOS, and Linux.
- Supports builder and algebra modeling styles.
- Includes assembly, surface, and sheet-metal tools.
- Imports STEP, STL, and 3MF.
- Exports to several formats, including STEP, STL, DXF, and 3MF.
- Apache License 2.0; offline PDF and EPUB documentation.
What to know first
- Some parts may not be constructible by the underlying CAD core.
- Cloud collaboration is not supported.
- Requires working with a Python package.
Limits
The project is free. Its documentation cautions that the underlying CAD core may not successfully construct some parts, which can require a different modeling approach.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| build123d | Open-source Python CAD library · install with pip | Free |
As build123d.readthedocs.io lists them, read 30 Sept 2026. The maker's own page has the final word.
Getting started
- Open the build123d documentation website.
- Install the Python package with pip install build123d.
- Use the platform-specific installation instructions for Windows, Linux, or macOS.
- Consult the PDF or EPUB documentation offline, or use the build123d help channel on Discord.
Verdict
Choose build123d if you want a free, open-source way to create parametric CAD models in Python, with manufacturing exports and several modeling styles. Consider another approach if you need cloud collaboration or if a required shape cannot be built with the underlying CAD core.
Questions
How much does build123d cost?
The listed build123d plan is free. The project is open source under the Apache License 2.0.
Which operating systems does build123d support?
The Python package supports Windows, macOS, and Linux.
What file formats can it use?
It imports STEP, STL, and 3MF. It exports BREP, DXF, glTF, OBJ, STL, STEP, SVG, and 3MF.
Can build123d work with other CAD tools?
Models can be exported to FreeCAD and SolidWorks. Objects can also be exchanged with CadQuery through their shared OCP wrapper.
How do I install it and get help?
The recommended installation for most users is pip install build123d, with platform-specific instructions for Windows and Linux/macOS. Help is available in the build123d channel of a Discord server shared with CadQuery.
Facts from build123d's own pages
- Algebraic Modeling
- Supports operator-driven, readable, composable modeling logic. · build123d.readthedocs.io, 28 Sept 2026
- Assembly design
- Yes · github.com, 23 Sept 2026
- CAD Export
- Models can be exported to FreeCAD and SolidWorks. · build123d.readthedocs.io, 28 Sept 2026
- CAD interoperability
- The project says models can be exported to tools such as FreeCAD and SolidWorks, and build123d objects can be exchanged with CadQuery through their shared OCP wrapper. · build123d.readthedocs.io, 30 Sept 2026
- Cloud collaboration
- No · github.com, 23 Sept 2026
- Code Standards
- Uses PEP 8, mypy, pylint, and rich Pylance type hints. · build123d.readthedocs.io, 28 Sept 2026
- Copyright Holder
- The documentation shows copyright 2022, Gumyr. · build123d.readthedocs.io, 28 Sept 2026
- Design Approach
- Designed for modern, maintainable CAD-as-code. · build123d.readthedocs.io, 28 Sept 2026
- Documentation Version
- The page identifies the documentation as build123d 0.13.1.dev16+g66c62212d. · build123d.readthedocs.io, 28 Sept 2026
- Extensibility
- Custom objects and operations can be added as classes without monkey patching core functionality. · build123d.readthedocs.io, 30 Sept 2026
- File import and export
- Import: STEP, STL, 3MF; export: BREP, DXF, glTF, OBJ, STL, STEP, SVG, 3MF · github.com, 23 Sept 2026
- Free plan
- Yes · github.com, 23 Sept 2026
- Geometric Kernel
- Built on the Open Cascade geometric kernel. · build123d.readthedocs.io, 28 Sept 2026
- Geometry Basis
- Boundary representation, or BREP, modeling. · build123d.readthedocs.io, 28 Sept 2026
- Geometry Classes
- Provides explicit 1D, 2D, and 3D geometry classes with defined operations. · build123d.readthedocs.io, 28 Sept 2026
- Installation
- The recommended installation for most users is `pip install build123d`, with development installation also available from GitHub. · build123d.readthedocs.io, 30 Sept 2026
- Interchange formats
- Documented import and export formats include 3MF, BREP, DXF, glTF, OBJ, STL, STEP, and SVG. · build123d.readthedocs.io, 30 Sept 2026
- License
- The project repository states that build123d is licensed under Apache License 2.0. · github.com, 30 Sept 2026
- Manufacturing uses
- The framework is intended for creating precise models for 3D printing, CNC machining, laser cutting, and other manufacturing processes. · build123d.readthedocs.io, 30 Sept 2026
- Model Complexity
- Intricate parametric models can be created in a few lines of readable Python code. · build123d.readthedocs.io, 28 Sept 2026
- Modeling limitation
- The docs warn that some parts cannot be constructed successfully by the underlying CAD core and that designers may need to try alternate approaches. · build123d.readthedocs.io, 30 Sept 2026
- Modeling method
- parametric · github.com, 23 Sept 2026
- Modeling styles
- It supports builder and algebra modeling modes, with operator-driven modeling and Python context managers. · build123d.readthedocs.io, 30 Sept 2026
- Offline Documentation
- Documentation is available in PDF and EPUB formats for offline reference. · build123d.readthedocs.io, 28 Sept 2026
Where build123d stands on Freedom251
- 3D CAD Software#17 of 79
- 3D modeling software#41 of 147
