Documentation | Cheat Sheet | Discord | Discussions | Issues | Contributing
build123d is a Python-based, parametric boundary representation (BREP) modeling framework for 2D and 3D CAD. Built on the Open 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.
Features
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,
... continue reading