Skip to main content

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.

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:

  • acvd
  • acvd-parallel
  • acvd-quadric
  • acvd-quadric-parallel
  • acvd-anisotropic
  • acvd-anisotropic-quadric
  • acvd-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.5.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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

remesh_tools_bin-0.1.1-py3-none-win_amd64.whl (2.4 MB view details)

Uploaded Python 3Windows x86-64

remesh_tools_bin-0.1.1-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (4.1 MB view details)

Uploaded Python 3manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

remesh_tools_bin-0.1.1-py3-none-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (3.9 MB view details)

Uploaded Python 3manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

remesh_tools_bin-0.1.1-py3-none-macosx_12_0_x86_64.whl (2.9 MB view details)

Uploaded Python 3macOS 12.0+ x86-64

remesh_tools_bin-0.1.1-py3-none-macosx_12_0_arm64.whl (2.7 MB view details)

Uploaded Python 3macOS 12.0+ ARM64

File details

Details for the file remesh_tools_bin-0.1.1-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for remesh_tools_bin-0.1.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 59ab2dbbbfacbe2c2cd7ace9814e4f4d1a5a19a25f1a4dbd03caa99aca629414
MD5 db91b184057e6312657850bf8ef96c3d
BLAKE2b-256 a75a2589beaaaa0c709675b3f9fdd1cb60f39bcfd06102bb1fb6a61173e68c5f

See more details on using hashes here.

Provenance

The following attestation bundles were made for remesh_tools_bin-0.1.1-py3-none-win_amd64.whl:

Publisher: release.yml on JYChen18/remesh-tools-bin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file remesh_tools_bin-0.1.1-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for remesh_tools_bin-0.1.1-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 90b42b82c04392f3c1cd977feca3b4720bb8938636ab292fcd385b234021dd22
MD5 cd07305489667d99452c1c645782305a
BLAKE2b-256 fe6c478202798328f59799b4c1fb348a8c3ef1e1a35a2e5e1b7ec2f7bb994495

See more details on using hashes here.

Provenance

The following attestation bundles were made for remesh_tools_bin-0.1.1-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on JYChen18/remesh-tools-bin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file remesh_tools_bin-0.1.1-py3-none-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for remesh_tools_bin-0.1.1-py3-none-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b69022a78ae3938bc778f509974c46b94a1a3580dd9ca17cefbd8a1991ff4b1b
MD5 ca302b9db345def4c88dd2d01b8999ea
BLAKE2b-256 d8c338568f7d763c9f3dd94eb123a8aa4087434e27f654c21f62a7fa3d941fe1

See more details on using hashes here.

Provenance

The following attestation bundles were made for remesh_tools_bin-0.1.1-py3-none-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on JYChen18/remesh-tools-bin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file remesh_tools_bin-0.1.1-py3-none-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for remesh_tools_bin-0.1.1-py3-none-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 ec1012a472defe42189e2ba7c2d9e9bc1f61cfff7f8257c623ff7d1efbd761a7
MD5 5a038b359c857176190af1310a4f4950
BLAKE2b-256 e20c2aabb7731230091b9dd22ada9e80cc50c1fc7ab52e90daa0706d209a157e

See more details on using hashes here.

Provenance

The following attestation bundles were made for remesh_tools_bin-0.1.1-py3-none-macosx_12_0_x86_64.whl:

Publisher: release.yml on JYChen18/remesh-tools-bin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file remesh_tools_bin-0.1.1-py3-none-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for remesh_tools_bin-0.1.1-py3-none-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 ad1a68c77ef69e567354b5a23072cb7d6cc068cccce2975f4f9709575d1e42a2
MD5 2a64b8daa958d19da473e2c6275243d5
BLAKE2b-256 a14ebeedde15de94b6ff01c2e2a5eb462fd1a401fac03e3f4b669532e8b5fdf2

See more details on using hashes here.

Provenance

The following attestation bundles were made for remesh_tools_bin-0.1.1-py3-none-macosx_12_0_arm64.whl:

Publisher: release.yml on JYChen18/remesh-tools-bin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page