skillfed

vhacdx

Python bindings for VHACD

vhacdx v0.0.10 2.6M downloads/30d#2,987 on PyPI4
License unclear AGING released

What it is and what it does

vhacdx is a thin Python wrapper around the V-HACD convex decomposition algorithm, designed to break complex triangle meshes into simpler convex shapes. It exposes a single function, `compute_vhacd()`, that accepts mesh geometry as NumPy arrays (vertex coordinates and face indices) and returns a list of convex hull pairs representing an approximate decomposition. The package depends only on NumPy and is distributed as precompiled wheels for recent Python versions across major platforms.

The primary use case is 3D geometry processing where convex decomposition is needed—typically in physics simulation, collision detection, or mesh simplification pipelines. Because it wraps a C++ algorithm, performance is reasonable for moderate mesh sizes, but the package shows signs of minimal maintenance: the repository has only 4 stars, the last release was 255 days ago, and no license metadata is declared, creating uncertainty about legal use.

Use it for:

  • Physics engine collision detection: decompose complex meshes into convex shapes for faster collision queries.
  • 3D model preprocessing: simplify mesh geometry for real-time rendering or simulation.
  • CAD/CAM workflows: generate convex approximations of parts for manufacturing or assembly analysis.
  • Game engine asset preparation: convert imported 3D models into convex-decomposed collision meshes.
  • Robotics path planning: decompose obstacle meshes into convex regions for motion planning algorithms.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Computes approximate convex decomposition of triangle meshes by wrapping the V-HACD algorithm, taking vertex coordinates and face indices as NumPy arrays and returning a list of convex hull pairs.

Yes, if you need convex mesh decomposition and can tolerate an aging package with unclear licensing. The prebuilt wheels make installation straightforward, NumPy is the only dependency, and there are no known security vulnerabilities. However, verify the upstream license terms before use in proprietary work, and be prepared for minimal maintenance support if issues arise.

Install

vhacdx on PyPI

pip

pip install vhacdx

uv

uv add vhacdx

poetry

poetry add vhacdx

Installing vhacdx

Before you install

Medium install friction due to compiled wheels; prebuilt binaries exist for Python 3.10–3.12 on macOS, Linux, and Windows, but the package is aging (255 days since last release) with minimal maintenance activity and only 4 repository stars.

License in practice

License status is unclear—no SPDX identifier or raw license text is declared. Verify the upstream V-HACD and pyVHACD fork licenses before using in proprietary or copyleft-sensitive projects.

Quickstart

import numpy as np
from vhacdx import compute_vhacd

points = np.array([[0, 0, 0], [1, 0, 0], [0, 1, 0]], dtype=np.float64)
faces = np.array([0, 1, 2], dtype=np.uint32)
convex_hulls = compute_vhacd(points, faces)

Requires NumPy; input points must be (N, 3) float64 array and faces must be a flat uint32 array with length 3× number of faces.

Verify before relying

  • Upstream V-HACD algorithm performance characteristics and decomposition quality trade-offs.
  • Whether the package is actively maintained or if the 255-day gap represents abandonment.
  • Exact license terms of V-HACD and the pyVHACD fork that vhacdx is based on.

Package facts

License not declared (unclear)
Python support supports the current Python release (>=3.7)
Install friction medium — platform-specific wheel
Runtime dependencies 1 — numpy
Maintenance aging — 255 days since the last release
Last repo commit
First released
Downloads 2,581,330/month — #2,987 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: vhacdx-0.0.10-cp310-cp310-macosx_10_9_x86_64.whl; vhacdx-0.0.10-cp310-cp310-macosx_11_0_arm64.whl; vhacdx-0.0.10-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; vhacdx-0.0.10-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; vhacdx-0.0.10-cp310-cp310-musllinux_1_2_aarch64.whl; vhacdx-0.0.10-cp310-cp310-musllinux_1_2_x86_64.whl; vhacdx-0.0.10-cp310-cp310-win_amd64.whl; vhacdx-0.0.10-cp311-cp311-macosx_10_9_x86_64.whl; vhacdx-0.0.10-cp311-cp311-macosx_11_0_arm64.whl; vhacdx-0.0.10-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; vhacdx-0.0.10-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; vhacdx-0.0.10-cp311-cp311-musllinux_1_2_aarch64.whl; vhacdx-0.0.10-cp311-cp311-musllinux_1_2_x86_64.whl; vhacdx-0.0.10-cp311-cp311-win_amd64.whl; vhacdx-0.0.10-cp312-cp312-macosx_10_13_x86_64.whl; vhacdx-0.0.10-cp312-cp312-macosx_11_0_arm64.whl; vhacdx-0.0.10-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; vhacdx-0.0.10-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; vhacdx-0.0.10-cp312-cp312-musllinux_1_2_aarch64.whl; vhacdx-0.0.10-cp312-cp312-musllinux_1_2_x86_64.whl

Tags

convex decomposition meshV-HACD python bindingstriangle mesh convex hullsapproximate convex decompositionmesh decomposition algorithmconvex hull generation3D mesh processing
3d-geometrymesh-processingphysics-simulation

More Scientific/Engineering packages