build123d is a Python CAD programming library that enables developers to create three-dimensional models and designs through code rather than graphical interfaces.
The library solves the problem of programmatically generating CAD models by providing a Python API built on top of OpenCASCADE geometry kernels. It allows engineers and developers to define complex three-dimensional shapes, assemblies, and designs using Python syntax, making CAD workflows scriptable, version-controllable, and automatable. The approach leverages the underlying BREP (Boundary Representation) solid modeling capabilities of OpenCASCADE while presenting them through a more accessible Python interface.
The tool suits projects where CAD models need to be generated algorithmically, parameterized, or integrated into larger software pipelines. It is particularly valuable for developers who prefer code-based design over interactive graphical modeling, for generating families of related parts with varying parameters, and for automating repetitive design tasks. Teams working on 3D printing, mechanical engineering, or product design can incorporate model generation directly into their development workflows. The library is appropriate for anyone comfortable with Python who wants to avoid learning traditional CAD software interfaces while maintaining full control over model geometry and structure.
The project shows consistent development activity with regular commits addressing bug fixes, feature additions, and improvements to the codebase. Pull requests are reviewed and merged steadily, indicating active maintenance and responsiveness to contributions. The maintainers engage with issues and incorporate user feedback into the tool's evolution. Documentation is maintained alongside code changes, reflecting an ongoing commitment to keeping the library usable and well-explained for new adopters.