Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork146
A python CAD programming library
License
gumyr/build123d
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Build123d is a Python-based, parametricboundary representation (BREP) modeling framework for 2D and 3D CAD. Built on theOpen Cascade geometric kernel, it provides a clean, fully Pythonic interface for creating precise models suitable for 3D printing, CNC machining, laser cutting, and other manufacturing processes. Models can be exported to popular CAD tools such asFreeCAD and SolidWorks.
Designed for modern, maintainable CAD-as-code, build123d combines clear architecture with expressive, algebraic modeling. It offers:
- Minimal or no internal state depending on mode,
- Explicit 1D, 2D, and 3D geometry classes with well-defined operations,
- Extensibility through subclassing and functional composition—no monkey patching,
- Standards-compliant code (PEP 8, mypy, pylint) with rich pylance type hints,
- Deep Python integration—selectors as lists, locations as iterables, and natural conversions (Solid(shell), tuple(Vector)),
- Operator-driven modeling (obj += sub_obj, Plane.XZ * Pos(X=5) * Rectangle(1, 1)) for algebraic, readable, and composable design logic.
The result is a framework that feels native to Python while providing the full power of OpenCascade geometry underneath.
The documentation forbuild123d can be found atreadthedocs.
There is aDiscord server (shared withCadQuery) where you can ask for help in the build123d channel.
The recommended method for most users to installbuild123d is:
pip install build123dTo get the latest non-released version ofbuild123d one can install from GitHub using one of the following two commands:
Linux/MacOS:
python3 -m pip install git+https://github.com/gumyr/build123dWindows:
python -m pip install git+https://github.com/gumyr/build123dIf you receive errors about conflicting dependencies, you can retry the installation after having upgraded pip to the latest version with the following command:
python3 -m pip install --upgrade pipDevelopment install:
git clone https://github.com/gumyr/build123d.gitcd build123dpython3 -m pip install -e .Further installation instructions are available (e.g. Poetry) see theinstallation section on readthedocs.
Attribution:
Build123d was originally derived from portions of theCadQuery codebase but has since been extensively refactored and restructured into an independent system.
About
A python CAD programming library
Topics
Resources
License
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.