Skip to content
/ miniacd Public

miniacd decomposes watertight 3D meshes into convex components

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

kylc/miniacd

Repository files navigation

miniacd

MIT Apache ci python PyPI

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.

image

Setup

Run directly with uv:

uvx miniacd --help

Or, use pip to install into your local environment:

pip install miniacd
miniacd --help

Or, install a prerelease version:

  1. Download a recent .whl from GitHub Releases
  2. Run pip install miniacd<...>.whl (replace <...> with the actual filename)
  3. Test it: miniacd --help

Building Locally

git clone [email protected]:kylc/miniacd.git
cd miniacd

# Build the Rust library
cargo build --release

# OR build a Python wheel
pip wheel .

Usage

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.1

If 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.

References

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

About

miniacd decomposes watertight 3D meshes into convex components

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks