Python bindings for OpenVCAD (pyvcad, pyvcad_compilers, pyvcad_rendering)
Project description
OpenVCAD
Volumetric, Multi-Material, Programmable CAD for Additive Manufacturing
OpenVCAD is an open-source volumetric geometry compiler for the design and fabrication of functionally graded, multi-material objects. It brings advanced implicit modeling and programmable parametric design into the world of additive manufacturing.
Quick Start
pip install OpenVCAD
import pyvcad as pv
import pyvcad_rendering as viz
materials = pv.default_materials
root = pv.RectPrism(pv.Vec3(0,0,0), pv.Vec3(10,10,10), materials.id("red"))
viz.Render(root, materials)
Resources
| Documentation | matterassembly.org/OpenVCAD-Docs |
| Project Website | matterassembly.org/openvcad |
| Examples | examples/ in this repo |
| Bug Reports | Issues |
| Community | Discussions |
| Source Code Access | Request Form |
Examples
Clone this repo to get runnable example scripts:
git clone https://github.com/MacCurdyLab/OpenVCAD-Public.git
cd OpenVCAD-Public/examples
See the Getting Started tutorial in the documentation for a walkthrough.
License
OpenVCAD is released under a non-commercial open-source license. See the LICENSE file for details.
Citing OpenVCAD
If you use OpenVCAD in your research, please cite:
@article{wade2024openvcad,
title={OpenVCAD: An open source volumetric multi-material geometry compiler},
author={Wade, Charles and Williams, Graham and Connelly, Sean and Kopec, Braden and MacCurdy, Robert},
journal={Additive Manufacturing},
volume={79},
pages={103912},
year={2024},
publisher={Elsevier}
}
@article{wade2025toolpaths,
title = {Implicit Toolpath Generation for Functionally Graded Additive Manufacturing via Gradient-Aware Slicing},
author = {Wade, Charles and Beck, Devon and MacCurdy, Robert},
journal = {Additive Manufacturing},
year = {2025},
doi = {https://doi.org/10.1016/j.addma.2025.104963},
}
@article{wade2025pyvcad,
title = {Implicit Modeling for 3D-printed Multi-material Computational Object Design via Python},
author = {Wade, Charles and Beck, Devon and MacCurdy, Robert},
journal = {Proceedings of the 10th ACM Symposium on Computational Fabrication},
year = {2025},
doi = {https://doi.org/10.48550/arXiv.2509.15562},
}
See the full list of publications for additional citations.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file openvcad-2.3.7-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: openvcad-2.3.7-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 35.3 MB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e77a8d7aa0129a7b45726cef8d1358664de49b1f33ca47fae0d9bc3044a2ad34
|
|
| MD5 |
451ff1138a56f024418848db67af5b4d
|
|
| BLAKE2b-256 |
098321c529976dd4ca5cd3f4ad6d0781ce3a13407e40ec8062e6000e36c55fa5
|
File details
Details for the file openvcad-2.3.7-cp314-cp314-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: openvcad-2.3.7-cp314-cp314-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 37.9 MB
- Tags: CPython 3.14, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
73bc57117c8f4c31ad29f4ae70a05dd5212795823d5df6128354f4d96156be0b
|
|
| MD5 |
77d7fb8c00783c6f97e97fdcdc90b717
|
|
| BLAKE2b-256 |
6cd0dc4879a0079687b14d9ff702502523514a3e58c350660832e845bd4e3da6
|
File details
Details for the file openvcad-2.3.7-cp314-cp314-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: openvcad-2.3.7-cp314-cp314-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 37.6 MB
- Tags: CPython 3.14, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ede00f6b3d6f22d786b647e5165ab6feaba2a6d8c6cb188aa729314a93690e8b
|
|
| MD5 |
9c87a870901bbf09c1273b192cd80cee
|
|
| BLAKE2b-256 |
0e59dd3cdc97023dfe15e36e25c5dc1103d1a1a993768f709d3ed47851f6feb6
|
File details
Details for the file openvcad-2.3.7-cp314-cp314-macosx_26_0_arm64.whl.
File metadata
- Download URL: openvcad-2.3.7-cp314-cp314-macosx_26_0_arm64.whl
- Upload date:
- Size: 51.3 MB
- Tags: CPython 3.14, macOS 26.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e447d5d4185c087b5eb7cc72520313f84bf447667124fcfb576bc6a88bf6c212
|
|
| MD5 |
f77b007dae7a397c19876ad0cdc17698
|
|
| BLAKE2b-256 |
8835aeca98ed1abb7edb4f18c7b5a834c7a400cdd04c82bdfa2b8572faa70759
|
File details
Details for the file openvcad-2.3.7-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: openvcad-2.3.7-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 35.3 MB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed922d5efa3520e000cff1f655512fb4aa6f894de46aa19b658110296bdf05d2
|
|
| MD5 |
ce8e013c1544ca05b8efec6cdee6506e
|
|
| BLAKE2b-256 |
d913aea50138776bdb5b4c1bf7cf0f2fd9063b3651afa4a942ed08b3afcbf0b0
|
File details
Details for the file openvcad-2.3.7-cp313-cp313-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: openvcad-2.3.7-cp313-cp313-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 37.8 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d86f0931b7d4277acc7db648e018248329a85fd15912c7216e1ae6cb37337d20
|
|
| MD5 |
e60da6ad5bc7ad434086926a801d7cf7
|
|
| BLAKE2b-256 |
4894f65a30e4d8528dcc5184c30ec228d2902a37917428dddfb22428f8d15e19
|
File details
Details for the file openvcad-2.3.7-cp313-cp313-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: openvcad-2.3.7-cp313-cp313-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 37.5 MB
- Tags: CPython 3.13, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c1d27da22ce0399b263d5ae31169e69333840b61f66203fd43f91a2eb4e0debc
|
|
| MD5 |
36740a770a28cd1b82c86b721aa2bd7b
|
|
| BLAKE2b-256 |
4e27f4666a6179cf175447b93a175834a5f64d7e82c6cf12bde2f1ca908e84d0
|
File details
Details for the file openvcad-2.3.7-cp313-cp313-macosx_26_0_arm64.whl.
File metadata
- Download URL: openvcad-2.3.7-cp313-cp313-macosx_26_0_arm64.whl
- Upload date:
- Size: 51.3 MB
- Tags: CPython 3.13, macOS 26.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
96b5114123e200d8d89761ffca44cbbbdac04a5da89f797808b8cbe7466e9484
|
|
| MD5 |
1dfd691a2471382ece46441e5211d51d
|
|
| BLAKE2b-256 |
c36c2e3ff76b9ed8485939753922b454062073f4a1a3f2df4328dfe58d927f62
|
File details
Details for the file openvcad-2.3.7-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: openvcad-2.3.7-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 35.3 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f184d18093934bef593f16d75e62c3d6775c6de226b893e7718b8fed85d7f806
|
|
| MD5 |
7e02add28c5b25cec74c2a1e3872fd33
|
|
| BLAKE2b-256 |
dde728ff188efb93dcbc86959a9a6cf60818a486bcc91ec94ea7d412fcf2a333
|
File details
Details for the file openvcad-2.3.7-cp312-cp312-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: openvcad-2.3.7-cp312-cp312-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 37.8 MB
- Tags: CPython 3.12, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec2f871f56049e2d08ee99fc2db2f8bffba979d0c23133ea5637be57ebd26c9a
|
|
| MD5 |
362f2cb4e992c98a8ad880302cd719f5
|
|
| BLAKE2b-256 |
17c77c04d58f78cfbbbccaa1f40339584adffab3b60a8708c1bcced07ffb0f62
|
File details
Details for the file openvcad-2.3.7-cp312-cp312-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: openvcad-2.3.7-cp312-cp312-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 37.5 MB
- Tags: CPython 3.12, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac0ca2c5a00365feca585461db2214301207e4bc8fde2f070c9a18e15df1dbfe
|
|
| MD5 |
3a998ac69f5ff509ad235388ec1cbff6
|
|
| BLAKE2b-256 |
d9bb155f309b40b56b0ab92004581e8f7ed3ab94b738f6fd9bc240692228badd
|
File details
Details for the file openvcad-2.3.7-cp312-cp312-macosx_26_0_arm64.whl.
File metadata
- Download URL: openvcad-2.3.7-cp312-cp312-macosx_26_0_arm64.whl
- Upload date:
- Size: 51.3 MB
- Tags: CPython 3.12, macOS 26.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
601fda1007821470591220c44b8b347ae5bdcb7f83a079fa5479d017928c5d6f
|
|
| MD5 |
5ddbf9a503dbb8df014068b4a269e3d2
|
|
| BLAKE2b-256 |
a8672874e4f89d05444fa1713c276e02dc25831b1e4ee6fc4ec5064898082027
|
File details
Details for the file openvcad-2.3.7-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: openvcad-2.3.7-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 35.3 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
697a6c707fbecc6912959d4041aed577631d9dff2fe798d31504e018e42487d6
|
|
| MD5 |
63caff56d6d4ba29ee1df81370869426
|
|
| BLAKE2b-256 |
088a428d8b1825931eb3f7a1d05922916c9f31c24ed05e42720fa5b5ddb8ecc8
|
File details
Details for the file openvcad-2.3.7-cp311-cp311-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: openvcad-2.3.7-cp311-cp311-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 37.8 MB
- Tags: CPython 3.11, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
60144b72a4d6b8b5e325bebd68a16c398f2e117311fe4e224328eacf8dae93f2
|
|
| MD5 |
0074716aecd111182d7404b57088c080
|
|
| BLAKE2b-256 |
3f221731e3a02374802ff9e5913cd5cba37ff094c2c9e8f5cbe2daaf89b4d612
|
File details
Details for the file openvcad-2.3.7-cp311-cp311-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: openvcad-2.3.7-cp311-cp311-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 37.5 MB
- Tags: CPython 3.11, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8adf9eaefa7bae5ca3c21c03f7279bc160b3dcd3648c74388fae48671063a75d
|
|
| MD5 |
817540fb43a172d84bef638c266f3ace
|
|
| BLAKE2b-256 |
616aefee1f0ce2b37669ea6ecaab0375e9a4628d16cec3d98476f72374cf2ee3
|
File details
Details for the file openvcad-2.3.7-cp311-cp311-macosx_26_0_arm64.whl.
File metadata
- Download URL: openvcad-2.3.7-cp311-cp311-macosx_26_0_arm64.whl
- Upload date:
- Size: 51.3 MB
- Tags: CPython 3.11, macOS 26.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b72556afdb473c3c037a44b5a043bb563d8596a663e67d7f0b15de111d2f26e
|
|
| MD5 |
f6850e64fbee1e8760d5006f68db8817
|
|
| BLAKE2b-256 |
05eaa60a60c2e20dac4195e5c0e2be31d8d1307224dd2381b35259cc1f271b32
|