Python package wrapper for native remeshing command line tools
Project description
remesh-tools-bin
remesh-tools-bin is a Python packaging wrapper for native remeshing command
line tools. It currently packages the official
valette/ACVD remeshing tools and a small
OpenVDB SDF remeshing
tool.
Installation
Install from PyPI
uv add remesh-tools-bin
Prebuilt wheels support CPython 3.10-3.13 on Linux x86_64 or ARM64, Windows x86_64, and macOS 12 or newer on Intel or Apple Silicon.
Headless remeshing requires no additional OS packages beyond the platform's
baseline runtime libraries. The optional ACVD --display modes still require
a working system display and graphics stack.
Build from Source
git clone https://github.com/JYChen18/remesh-tools-bin.git
cd remesh-tools-bin
uv sync
uv build --wheel
The wheel is written to dist/.
Usage
ACVD Remeshing
ACVD methods remesh a surface to a target vertex count. --gradation 0
requests uniform remeshing; higher values give more influence to local
curvature. A gradation of 1.5 with manifold output is a good default:
uv run remesh acvd input.obj output.ply --vertices 3000 --gradation 1.5 --force-manifold 1
Available ACVD methods:
acvdacvd-parallelacvd-quadricacvd-quadric-parallelacvd-anisotropicacvd-anisotropic-quadricacvd-anisotropic-quadric-parallel
Common options include --vertices, --gradation, --subsample,
--split-long-edges, and --display. Parallel methods also accept
--threads.
OpenVDB SDF Remeshing
The OpenVDB method reads OBJ meshes and writes OBJ meshes by converting the input surface to a signed distance field and extracting a new surface:
uv run remesh openvdb-sdf input.obj output.obj --resolution 50 --level-set 0.1
By default it normalizes the input mesh before applying the OpenVDB conversion
and then recovers the original scale, matching the way CoACD uses this
preprocessing step. Use --no-normalize to apply OpenVDB directly in input
coordinates.
Acknowledgements
The ACVD tools are provided by the vendored
valette/ACVD source at commit
275554980e466914ae9053c8667006f251989422. ACVD credits CNRS, INSA-Lyon,
UCBL, and INSERM, and derives from the following work:
- S. Valette, J.-M. Chassery, and R. Prost, "Generic remeshing of 3D triangular meshes with metric-dependent discrete Voronoi Diagrams," IEEE TVCG 14(2), 369-381, 2008.
- S. Valette and J.-M. Chassery, "Approximated Centroidal Voronoi Diagrams for Uniform Polygonal Mesh Coarsening," Computer Graphics Forum 23(3), 381-389, 2004.
- M. Audette et al., "Approach-guided controlled resolution brain meshing for FE-based interactive neurosurgery simulation," MICCAI Mesh Processing in Medical Image Analysis Workshop, 2011.
The package also uses OpenVDB for signed-distance-field processing, oneTBB for threading, Boost components required by OpenVDB, and VTK for native mesh processing and Python runtime support.
Third-Party Software
| Component | Version or source | Use | License |
|---|---|---|---|
| ACVD | Commit 275554980e466914ae9053c8667006f251989422 |
Bundled native remeshing tools | CeCILL-B |
| OpenVDB | v8.2.0 |
Statically linked SDF remeshing implementation | MPL 2.0 |
| oneTBB | v2022.0.0 |
Bundled threading library | Apache 2.0 and third-party notices |
| Boost | 1.81.0, or a compatible system version |
OpenVDB build dependency | Boost Software License 1.0 |
| VTK | 9.6.2 |
External build and runtime dependency | BSD-style VTK license, supplied by the vtk distribution |
License
Code authored for this repository is licensed under the Apache License 2.0. Bundled third-party components remain under their respective licenses listed above.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file remesh_tools_bin-0.1.2-py3-none-win_amd64.whl.
File metadata
- Download URL: remesh_tools_bin-0.1.2-py3-none-win_amd64.whl
- Upload date:
- Size: 2.3 MB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83637fcfc4f7a30831004fc85a103817eb9758fb085be378580b9c726609095f
|
|
| MD5 |
9da5d108cf35f857d2ab52b53a808fb0
|
|
| BLAKE2b-256 |
1e5f5364c9e049dc17aaba0d0db99aa11d2ec95c16739e1b3f6276c180367591
|
Provenance
The following attestation bundles were made for remesh_tools_bin-0.1.2-py3-none-win_amd64.whl:
Publisher:
release.yml on JYChen18/remesh-tools-bin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
remesh_tools_bin-0.1.2-py3-none-win_amd64.whl -
Subject digest:
83637fcfc4f7a30831004fc85a103817eb9758fb085be378580b9c726609095f - Sigstore transparency entry: 2212460461
- Sigstore integration time:
-
Permalink:
JYChen18/remesh-tools-bin@d7d5b3e9991eb3493210a5978778168dca8d93c5 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/JYChen18
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d7d5b3e9991eb3493210a5978778168dca8d93c5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file remesh_tools_bin-0.1.2-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: remesh_tools_bin-0.1.2-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 3.1 MB
- Tags: Python 3, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
abf61f6f2b3d1c37d656df4254e843dbb553b59ab814451696d4d456b6a7f615
|
|
| MD5 |
2669cb6db9064aee348d0a1b46d03f1d
|
|
| BLAKE2b-256 |
46eaf3257b2c16a6e7450f9501e4b95ddd843589ccc59da9af31e902f1db8b03
|
Provenance
The following attestation bundles were made for remesh_tools_bin-0.1.2-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on JYChen18/remesh-tools-bin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
remesh_tools_bin-0.1.2-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
abf61f6f2b3d1c37d656df4254e843dbb553b59ab814451696d4d456b6a7f615 - Sigstore transparency entry: 2212460412
- Sigstore integration time:
-
Permalink:
JYChen18/remesh-tools-bin@d7d5b3e9991eb3493210a5978778168dca8d93c5 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/JYChen18
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d7d5b3e9991eb3493210a5978778168dca8d93c5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file remesh_tools_bin-0.1.2-py3-none-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: remesh_tools_bin-0.1.2-py3-none-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 3.0 MB
- Tags: Python 3, manylinux: glibc 2.26+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0999bfa619d860a017ab7994a2e0fee0c7726c7f45ec04f7642c06b658ba5800
|
|
| MD5 |
cac896ad787f5c815cabc75f565e1c67
|
|
| BLAKE2b-256 |
378d74e35f2838cf0b78399ed8bfd20e3217cd3ca309fa3f8762af5a91a0876f
|
Provenance
The following attestation bundles were made for remesh_tools_bin-0.1.2-py3-none-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:
Publisher:
release.yml on JYChen18/remesh-tools-bin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
remesh_tools_bin-0.1.2-py3-none-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl -
Subject digest:
0999bfa619d860a017ab7994a2e0fee0c7726c7f45ec04f7642c06b658ba5800 - Sigstore transparency entry: 2212460429
- Sigstore integration time:
-
Permalink:
JYChen18/remesh-tools-bin@d7d5b3e9991eb3493210a5978778168dca8d93c5 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/JYChen18
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d7d5b3e9991eb3493210a5978778168dca8d93c5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file remesh_tools_bin-0.1.2-py3-none-macosx_12_0_x86_64.whl.
File metadata
- Download URL: remesh_tools_bin-0.1.2-py3-none-macosx_12_0_x86_64.whl
- Upload date:
- Size: 2.9 MB
- Tags: Python 3, macOS 12.0+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
74f328b7ec23f2854227e43023f9fe6d95447a5e17d5fbec438057bf478c9ea5
|
|
| MD5 |
59ea3d8790fe133cfd86ad744869b651
|
|
| BLAKE2b-256 |
c6fefe5c02ae1f1afda8f40ceda6f6b872de9a322108622bc5883cde44f5e221
|
Provenance
The following attestation bundles were made for remesh_tools_bin-0.1.2-py3-none-macosx_12_0_x86_64.whl:
Publisher:
release.yml on JYChen18/remesh-tools-bin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
remesh_tools_bin-0.1.2-py3-none-macosx_12_0_x86_64.whl -
Subject digest:
74f328b7ec23f2854227e43023f9fe6d95447a5e17d5fbec438057bf478c9ea5 - Sigstore transparency entry: 2212460481
- Sigstore integration time:
-
Permalink:
JYChen18/remesh-tools-bin@d7d5b3e9991eb3493210a5978778168dca8d93c5 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/JYChen18
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d7d5b3e9991eb3493210a5978778168dca8d93c5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file remesh_tools_bin-0.1.2-py3-none-macosx_12_0_arm64.whl.
File metadata
- Download URL: remesh_tools_bin-0.1.2-py3-none-macosx_12_0_arm64.whl
- Upload date:
- Size: 2.7 MB
- Tags: Python 3, macOS 12.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f372adab794d74b44d3dc820d9d48207bddae731f61e71affd370e47c292d7b9
|
|
| MD5 |
b1f7324932c3a304c78395103e41400e
|
|
| BLAKE2b-256 |
556e6c2d212d3358c06fdc082b02c150ad8e748f36b8736a3e2f4081d3d6ed1f
|
Provenance
The following attestation bundles were made for remesh_tools_bin-0.1.2-py3-none-macosx_12_0_arm64.whl:
Publisher:
release.yml on JYChen18/remesh-tools-bin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
remesh_tools_bin-0.1.2-py3-none-macosx_12_0_arm64.whl -
Subject digest:
f372adab794d74b44d3dc820d9d48207bddae731f61e71affd370e47c292d7b9 - Sigstore transparency entry: 2212460449
- Sigstore integration time:
-
Permalink:
JYChen18/remesh-tools-bin@d7d5b3e9991eb3493210a5978778168dca8d93c5 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/JYChen18
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d7d5b3e9991eb3493210a5978778168dca8d93c5 -
Trigger Event:
push
-
Statement type: