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

The package is designed for:

uv add git+https://github.com/JYChen18/remesh-tools-bin.git

Source installs compile native dependencies and may take roughly 5-15 minutes depending on machine/network.

Published releases provide prebuilt wheels for Linux x86_64 (glibc 2.28 or newer), Windows x86_64, macOS Intel, and macOS Apple Silicon (macOS 12 or newer).

Requirements

  • CPython 3.10 through 3.13
  • A system C++ compiler/toolchain available to CMake. uv does not install GCC, Clang, MSVC, or Xcode Command Line Tools.

Usage

The installed launcher is:

remesh

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.

remesh acvd input.obj output.ply --vertices 3000 --gradation 0
remesh acvd-quadric input.obj output.ply --vertices 3000 --gradation 1.5
remesh acvd-anisotropic-quadric input.obj output.ply --vertices 1000 --gradation 1.5

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:

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

Uploaded Python 3Windows x86-64

remesh_tools_bin-0.1.0-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.0-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.0-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.0-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for remesh_tools_bin-0.1.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 1479cce9ca796aaa2c850d3d455e2c939a018c32b024654aab562d48fb94119b
MD5 5ea4034990e96568454863b98f36fd6c
BLAKE2b-256 6eb961aa3312b6a3d44c023e5328c9f42ead4a30bf00e9c2468a5723c1c8ecc5

See more details on using hashes here.

Provenance

The following attestation bundles were made for remesh_tools_bin-0.1.0-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.0-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for remesh_tools_bin-0.1.0-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 432c2d9acf5db6e05614553a99572cf8ae95527e40f1ba5d7ab2aeeafa490fe6
MD5 804ee633ad2bc293dac69a0b33bac29d
BLAKE2b-256 c47131d208a52f4ad3448461b53f1fa6a258596ac4943a950fdc133c25a8b0f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for remesh_tools_bin-0.1.0-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.0-py3-none-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for remesh_tools_bin-0.1.0-py3-none-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 fc4078ef586774038abafdcc14d272fee9632ce4e2afc826f3d9a403f78f6309
MD5 4085ec360278d11cfe0fb68c96a6ab01
BLAKE2b-256 293da830f84db9e309c90a97975556538b74d318ce5c6bdc62ec315adafa1c2b

See more details on using hashes here.

Provenance

The following attestation bundles were made for remesh_tools_bin-0.1.0-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.0-py3-none-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for remesh_tools_bin-0.1.0-py3-none-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 46cbbf351c6117bc83b32f23a82ae556ed9f7ee9ee73a1e8b4877fb45a921638
MD5 0b4d0ea272a4f3dd5dbd23c71871c6d5
BLAKE2b-256 89448843464ece83430bb3213d7e1de821fe759ed55a83a41caf4410bc5779ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for remesh_tools_bin-0.1.0-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