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.

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:

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


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.2-py3-none-win_amd64.whl (2.3 MB view details)

Uploaded Python 3Windows x86-64

remesh_tools_bin-0.1.2-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.1 MB view details)

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

remesh_tools_bin-0.1.2-py3-none-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (3.0 MB view details)

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

remesh_tools_bin-0.1.2-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.2-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.2-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for remesh_tools_bin-0.1.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 83637fcfc4f7a30831004fc85a103817eb9758fb085be378580b9c726609095f
MD5 9da5d108cf35f857d2ab52b53a808fb0
BLAKE2b-256 1e5f5364c9e049dc17aaba0d0db99aa11d2ec95c16739e1b3f6276c180367591

See more details on using hashes here.

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

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.2-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for remesh_tools_bin-0.1.2-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 abf61f6f2b3d1c37d656df4254e843dbb553b59ab814451696d4d456b6a7f615
MD5 2669cb6db9064aee348d0a1b46d03f1d
BLAKE2b-256 46eaf3257b2c16a6e7450f9501e4b95ddd843589ccc59da9af31e902f1db8b03

See more details on using hashes here.

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

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.2-py3-none-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for remesh_tools_bin-0.1.2-py3-none-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0999bfa619d860a017ab7994a2e0fee0c7726c7f45ec04f7642c06b658ba5800
MD5 cac896ad787f5c815cabc75f565e1c67
BLAKE2b-256 378d74e35f2838cf0b78399ed8bfd20e3217cd3ca309fa3f8762af5a91a0876f

See more details on using hashes here.

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

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.2-py3-none-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for remesh_tools_bin-0.1.2-py3-none-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 74f328b7ec23f2854227e43023f9fe6d95447a5e17d5fbec438057bf478c9ea5
MD5 59ea3d8790fe133cfd86ad744869b651
BLAKE2b-256 c6fefe5c02ae1f1afda8f40ceda6f6b872de9a322108622bc5883cde44f5e221

See more details on using hashes here.

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

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.2-py3-none-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for remesh_tools_bin-0.1.2-py3-none-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 f372adab794d74b44d3dc820d9d48207bddae731f61e71affd370e47c292d7b9
MD5 b1f7324932c3a304c78395103e41400e
BLAKE2b-256 556e6c2d212d3358c06fdc082b02c150ad8e748f36b8736a3e2f4081d3d6ed1f

See more details on using hashes here.

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

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