I had to go through a bit of troubleshooting to install build123d on my M1 mac. The instructions said to install dependencies using the `--no-deps` argument which is problematic because child dependencies still need to be resolved for the top-level dependencies. The only place `--no-deps` should be used is with the `build123d` package itself. The only direct dependency that wasn't installable using pip was `cadquery-ocp`, which is already installed from the previous conda install command.
I've also updated the list of pip dependencies based on the latest `pyproject.toml` and condensed them into a single command, with the build123d install being the final package installed.
Note that I've only tested this using micromamba, but I'm assuming it woud be the same when using conda. I tested on a fresh environment and it appears to have worked:
```
>>> from build123d import *
>>> print(Solid.make_box(1,2,3).show_topology(limit_class="Face"))
Solid at 0x10ce88cb0, Center(0.5, 1.0, 1.5)
└── Shell at 0x136b71b70, Center(0.5, 1.0, 1.5)
├── Face at 0x103036130, Center(0.0, 1.0, 1.5)
├── Face at 0x14467c630, Center(1.0, 1.0, 1.5)
├── Face at 0x14467c8f0, Center(0.5, 0.0, 1.5)
├── Face at 0x144865ab0, Center(0.5, 2.0, 1.5)
├── Face at 0x1448659f0, Center(0.5, 1.0, 0.0)
└── Face at 0x144865a70, Center(0.5, 1.0, 3.0)
>>>
```
Success! 🎉
Hopefully github will have arm64 build support finished this year and we won't have to deal w/ it much longer.
|
||
|---|---|---|
| .github | ||
| docs | ||
| examples | ||
| src/build123d | ||
| tests | ||
| .gitignore | ||
| .pylintrc | ||
| .readthedocs.yaml | ||
| LICENSE | ||
| MANIFEST.in | ||
| mypy.ini | ||
| pyproject.toml | ||
| README.md | ||
| requirements.txt | ||
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.
To install build123d from github:
python3 -m pip install git+https://github.com/gumyr/build123d
Development install
git clone https://github.com/gumyr/build123d.git
cd build123d
python3 -m pip install -e .