cadaclysm
CAD file format reading and exact B-rep modelling.
File formats (import cadaclysm): STEP (AP203, AP214, AP242 and the other APs whose
schemas it carries), IGES, IFC (2x3, 4, 4.3), Rhino .3dm, ACIS .sat, BREP (.brep) and
OpenSCAD (.scad).
- The assembly tree with names, colours, placements and attributes, and SQL-style filters to find nodes.
- The exact B-rep geometry of every body, tessellated to the tolerance you ask for and handed back as zero-copy numpy arrays.
- Export to glTF/GLB, OBJ and STL.
B-rep (from cadaclysm import blacksmith): an exact boundary-representation modelling
kernel.
- Extrude, revolve, sweep and loft; join, cut and common; fillet, chamfer and shell.
- Open a B-rep body from a STEP, ACIS, Rhino, BREP, IGES or IFC file and keep modelling it.
- Write STEP, with every schema built in.
Install
pip install cadaclysm # the reader and the kernel, with their libraries
pip install "cadaclysm[numpy]" # plus numpy, for meshes as arrays
Wheels for Windows x64, macOS 11+ (Apple silicon and Intel), and Linux x64 and arm64 (glibc 2.17+); Python 3.8 or later. The wheel carries the libraries and the wrappers of one release, so the two always match.
Build a part, then read it back
from cadaclysm.blacksmith import Axis, Profile, Selector, Workplane
plate = Workplane.xy().extrude(Profile.rect(120, 80), 14).solid()
boss = (Workplane.from_solid(plate)
.faces(Selector.max(Axis.Z)).workplane()
.extrude(Profile.circle(22), 26).solid())
part = plate.join(boss).cut(Workplane.xy().extrude(Profile.circle(11), 60).solid().translate(0, 0, -10))
part.step("plate.stp")
import cadaclysm
with cadaclysm.open("plate.stp") as scene:
for node in scene.walk():
print(" " * node.depth + node.label, f"[{node.kind}]")
for placement in scene.placements: # meshes need numpy
print(placement.geometry.label, placement.geometry.mesh.triangle_count, "triangles")
scene.save("plate.glb")
Licence
Everything works without a licence; a notice is printed to stderr on every open and
every export. A licence file removes it: set CADACLYSM_LICENSE (a path or the text),
put cadaclysm.lic in the working directory, or load it from code:
import cadaclysm
from cadaclysm import blacksmith
cadaclysm.license("cadaclysm.lic")
blacksmith.license("cadaclysm.lic")
The libraries are proprietary; the EULA ships in this package's licence file. Licences: https://cadaclysm.blitter.studio/license
The wheel's own libraries are used unless CADACLYSM_LIBRARY or
CADACLYSM_BLACKSMITH_LIBRARY is set in the environment --
unset those when moving from the SDK, since they override the wheel's own files.
Documentation: https://cadaclysm.blitter.studio/docs/python.html. The C API and the C#, Go, Java, Node and Swift wrappers are in the SDK: https://github.com/rdeioris/cadaclysm-sdk
Release files for cadaclysm 0.4.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| cadaclysm-0.4.5-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details |
| cadaclysm-0.4.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | Python 3 | none | Linux glibc 2.17+ x86-64 | Details |
| cadaclysm-0.4.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | Python 3 | none | Linux glibc 2.17+ ARM64 | Details |
| cadaclysm-0.4.5-py3-none-macosx_11_0_universal2.whl | Python 3 | none | macOS 11.0+ universal2 (ARM64, x86-64) | Details |
Total release size: 25.1 MB
Release files / cadaclysm-0.4.5-py3-none-win_amd64.whl
| Download URL | cadaclysm-0.4.5-py3-none-win_amd64.whl |
|---|---|
| Size | 5.1 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
0dde0893fe26c8f84dbae1f95a6ff0693d402c81e961b44d979d3c391d71eb1b
|
|
BLAKE2b-256 checksum How to use checksums |
c7bd1e71557407cb29246c65e319da884e11a4a6f8da9139ed9bd74f259158ac
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.
Transparency logRelease files / cadaclysm-0.4.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | cadaclysm-0.4.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 5.3 MB |
| Tags | Linux glibc 2.17+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
acb78bf0488449c74d5e380b6c364630f9c8301a5c6a9a4140c1fa0fe024f965
|
|
BLAKE2b-256 checksum How to use checksums |
035c17775f43896f83ffdbd95ce6bdeb1662fbfd5b7f7c2b0106e6e802f60d3f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.
Transparency logRelease files / cadaclysm-0.4.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | cadaclysm-0.4.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 4.7 MB |
| Tags | Linux glibc 2.17+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
3e9173edd58c38fdf2da1a20c8dbbab12c8409f55c5c6a906bac1fc24c04002c
|
|
BLAKE2b-256 checksum How to use checksums |
41b644846a4b64d44e5a08a9f585c712895e1df50ded31cdbf102a8a3775b957
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.
Transparency logRelease files / cadaclysm-0.4.5-py3-none-macosx_11_0_universal2.whl
| Download URL | cadaclysm-0.4.5-py3-none-macosx_11_0_universal2.whl |
|---|---|
| Size | 10.0 MB |
| Tags | Python 3 macOS 11.0+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
a17802ecbb3022a61a24dc9e07a1d5ca2c34eef98b7c4d2d25db4f78da3fb3fd
|
|
BLAKE2b-256 checksum How to use checksums |
6f233e6f697c0f07a7168428dec91a1cc7e18e0aae8486d22e8b3bdb20d89a7b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.
Transparency log