A python CAD programming library
Find a file
Roger Maitland 203ad9b0d1
Merge pull request #430 from jdegenstein/trapezoid_width
Trapezoid width is now fully controlled by width param
2023-12-11 13:52:52 -05:00
.github disable TestPyPI 2023-11-30 19:57:48 -06:00
docs Update cheat_sheet.rst with IntersectingLine and FilletPolyline 2023-12-10 14:00:06 -06:00
examples pack(): introduced a new helper for packing parts into a 2D footprint. 2023-11-09 15:06:49 -08:00
src/build123d Trapezoid width is now fully controlled by width param 2023-12-11 11:01:35 -06:00
tests Update test_build_sketch.py -> Trapezoid tests 2023-12-11 11:24:40 -06:00
.gitignore Speed up test_pack.py by fuse()ing once per test case. 2023-11-15 11:03:21 -08:00
.pylintrc Resolve all pylint in {im,ex}porters.py 2023-11-14 19:45:38 -08:00
.readthedocs.yaml Update .readthedocs.yaml to ubuntu-22.04 2023-09-28 11:29:16 -05:00
CONTRIBUTING.md pack(): introduced a new helper for packing parts into a 2D footprint. 2023-11-09 15:06:49 -08:00
LICENSE Adding LICENSE file 2023-08-20 14:43:46 -04:00
MANIFEST.in scm_versioning MANIFEST.in and pyproject.toml 2023-02-21 21:00:25 -06:00
mypy.ini mypy static typechecking improvements 2023-02-20 18:35:27 -05:00
pyproject.toml Added the Triangle Sketch object 2023-12-08 16:06:45 -05:00
README.md Updating docs for pypi installation 2023-12-06 14:43:41 -05:00
requirements.txt Adding coverage badge 2023-02-13 20:41:01 -05:00

build123d logo

Documentation Status tests pylint codecov

Build123d is a python-based, parametric, boundary representation (BREP) modeling framework for 2D and 3D CAD. It's built on the Open Cascade geometric kernel and allows for the creation of complex models using a simple and intuitive python syntax. Build123d can be used to create models for 3D printing, CNC machining, laser cutting, and other manufacturing processes. Models can be exported to a wide variety of popular CAD tools such as FreeCAD and SolidWorks.

Build123d could be considered as an evolution of CadQuery where the somewhat restrictive Fluent API (method chaining) is replaced with stateful context managers - e.g. with blocks - thus enabling the full python toolbox: for loops, references to objects, object sorting and filtering, etc.

The documentation for build123d can found at readthedocs.

There is a Discord server (shared with CadQuery) where you can ask for help in the build123d channel.

The recommended method for most users is to install build123d is:

pip install build123d

To get the latest non-released version of build123d* one can install from GitHub using one of the following two commands:

In Linux/MacOS, use the following command:

python3 -m pip install git+https://github.com/gumyr/build123d

In Windows, use the following command:

python -m pip install git+https://github.com/gumyr/build123d

If 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 pip

Development install

git clone https://github.com/gumyr/build123d.git
cd build123d
python3 -m pip install -e .

Further installation instructions are available (e.g. Poetry, Apple Silicon) see the installation section on readthedocs.