compas_3dec
compas_3dec is a COMPAS integration for preparing, running, and
post-processing rigid-block analyses with 3DEC by Itasca Consulting Group.
Installation
pip install compas_3dec
Install COMPAS DEM interoperability support with:
pip install "compas_3dec[dem]"
For local development, clone the repository and install the development and documentation dependencies with:
pip install "compas_dem @ git+https://github.com/BlockResearchGroup/compas_dem.git@main"
pip install -e ".[dev,docs]"
The 3DEC executable is proprietary and must be installed separately.
Usage
from compas_3dec import ThreeDECAnalysisBuilder, ThreeDECSolver
builder = ThreeDECAnalysisBuilder.from_meshes(meshes, name="Arch gravity")
builder.set_material(density=2500, young_modulus=25e9, poisson_ratio=0.2)
builder.set_supports([0, 9])
builder.set_contact_properties()
builder.add_gravity()
analysis = builder.build()
results = ThreeDECSolver(workspace=r"C:\path\to\runs").solve(analysis)
Inputs can also be translated from a compas_dem problem with
ThreeDECAnalysisBuilder.from_dem_problem.
Native results can be processed selectively or converted to the limited
compas_dem.Results contract:
contacts = results.postprocess_contacts(analysis)
failure = results.postprocess_failure(analysis)
dem_results = results.to_compas_dem_results(analysis)
Development
pytest
ruff check .
ruff format .
mkdocs serve
Automated tests live in tests/. Executable analysis and visualisation
scripts live in scripts/. Generated solver runs should be stored outside the
repository or in an ignored runs/ directory.
Metadata
Release files for compas-3dec 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| compas_3dec-0.2.0.tar.gz | 74.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| compas_3dec-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 141.8 kB
Release files / compas_3dec-0.2.0.tar.gz
| Download URL | compas_3dec-0.2.0.tar.gz |
|---|---|
| Size | 74.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9590f0aff685ddcc2bb640b79b606c2493e9686f7c9ffabd6ba0349fe98f9606
|
|
BLAKE2b-256 checksum How to use checksums |
3ce98d58a392ef317a3bc2c222ad0b76702d9507ba081c81e5fbd9e73b9d451e
|
| 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 Aug 30, 2026.
Transparency logRelease files / compas_3dec-0.2.0-py3-none-any.whl
| Download URL | compas_3dec-0.2.0-py3-none-any.whl |
|---|---|
| Size | 67.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1d0ecec2e6f39362fdb562d7591433041011fb0dc54f84a536c5774d01a5595f
|
|
BLAKE2b-256 checksum How to use checksums |
f6e1da2b3e11506bf3a3ed3984678e97a865a7ebf8ace0ffa1f0ed5c1bebacd8
|
| 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 Aug 30, 2026.
Transparency log