Python CAD-as-code library for parametric 2D and 3D BREP modeling on the Open Cascade kernel
- Stars2.5k
- Forks230
- Open Issues345
Apache-2.0
- Python
- JavaScript

About build123d
build123d is a Python library for parametric boundary-representation (BREP) modeling in 2D and 3D. Built on the Open Cascade geometric kernel, it lets you describe precise CAD models in code, suited to 3D printing, CNC machining, laser cutting, and other manufacturing work.
You can model in algebra mode, where objects are explicitly tracked and combined with operators, or in builder mode, where build contexts track pending faces, edges, and locations. Explicit 1D, 2D, and 3D geometry classes, selectors that return sortable and filterable shape lists, and Python-native iterable locations make designs composable and readable.
Install it with pip, then import and export common interchange formats including STEP, STL, and SVG to move geometry between CAD tools, slicers, and CAM. It is derived from CadQuery, restructured as an independent framework.
Key features
- Parametric 2D and 3D BREP modeling in Python
- Algebra mode with operator-driven modeling
- Builder mode with build contexts and combination modes
- Shape selectors with sorting, grouping, and filtering
- STEP, STL, and SVG import and export
Details
- On GitHub since
- 2022
- Language
- Python
- Geometry kernel
- Open Cascade
- Modeling
- Parametric BREP
- Install
- pip install build123d
