miniacd decomposes watertight 3D meshes into convex components which aim to be a good approximation of the input shape. It is a compact and high performance implementation of the CoACD algorithm described by Wei et al. and implemented in the CoACD repository.
 
Run directly with uv:
uvx miniacd --helpOr, use pip to install into your local environment:
pip install miniacd
miniacd --helpOr, install a prerelease version:
- Download a recent .whlfrom GitHub Releases
- Run pip install miniacd<...>.whl(replace<...>with the actual filename)
- Test it: miniacd --help
git clone [email protected]:kylc/miniacd.git
cd miniacd
# Build the Rust library
cargo build --release
# OR build a Python wheel
pip wheel .You can use the miniacd command to process your mesh files. It has wide support for input and output formats, provided by trimesh. A typical invocation looks like this:
miniacd input_mesh.obj --output-dir output/ --threshold 0.1If you have more specific needs, you can use miniacd as a Python library. See cli.py for an example. You can also access the internals by using miniacd as a Rust library.
Xinyue Wei, Minghua Liu, Zhan Ling, and Hao Su. 2022. Approximate convex decomposition for 3D meshes with collision-aware concavity and tree search. ACM Trans. Graph. 41, 4, Article 42 (July 2022), 18 pages. https://doi.org/10.1145/3528223.3530103