Skip to main content

A Python package for reading STL, OBJ files and extracting points

Project description

Mesh Reducer

This project provides a Rust implementation for reading and reducing points from various 3D mesh file formats (STL, OBJ, and STEP) using a fast grid sampling method. The functionality is exposed to Python using PyO3.

Features

  • Read STL, OBJ, and STEP files and extract points.
  • Reduce the number of points using a fast grid sampling method.
  • Python bindings for seamless integration with Python projects.

Supported Formats

  • STL
  • OBJ
  • STEP (initial implementation with future improvements expected)

Usage

Example usage in Python: click here.

Python

pip install mesh-reducer

Functions

reduce_mesh_points(file_path: Path, clusters: int) -> List[Tuple[float, float, float]]

Reads a mesh file (STL, OBJ, STEP) and reduces the number of points.

Args:

  • file_path (Path): Path to the mesh file.
  • clusters (int): Number of clusters to reduce the points to.

Returns:

List[Tuple[float, float, float]]: A list of tuples containing the reduced points.

reduce_mesh_points_multi(file_paths: List[Path], clusters: int) -> List[List[Tuple[float, float, float]]]

Reads multiple mesh files (STL, OBJ, STEP) and reduces the number of points in each file.

Args:

  • file_paths (List[Path]): List of paths to the mesh files.
  • clusters (int): Number of clusters to reduce the points to.

Returns:

List[List[Tuple[float, float, float]]]: A list of lists of tuples containing the reduced points for each file.

License

This project is licensed under the MIT License.

Project details


Download files

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

Source Distribution

mesh_reducer-1.0.2.tar.gz (7.1 MB view details)

Uploaded Source

Built Distributions

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

mesh_reducer-1.0.2-cp312-none-win_amd64.whl (484.1 kB view details)

Uploaded CPython 3.12Windows x86-64

mesh_reducer-1.0.2-cp312-cp312-manylinux_2_34_x86_64.whl (580.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

mesh_reducer-1.0.2-cp312-cp312-macosx_11_0_arm64.whl (517.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

mesh_reducer-1.0.2-cp311-none-win_amd64.whl (484.8 kB view details)

Uploaded CPython 3.11Windows x86-64

mesh_reducer-1.0.2-cp311-cp311-manylinux_2_34_x86_64.whl (581.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

mesh_reducer-1.0.2-cp311-cp311-macosx_11_0_arm64.whl (518.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

mesh_reducer-1.0.2-cp310-none-win_amd64.whl (484.8 kB view details)

Uploaded CPython 3.10Windows x86-64

mesh_reducer-1.0.2-cp310-cp310-manylinux_2_34_x86_64.whl (581.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

mesh_reducer-1.0.2-cp310-cp310-macosx_11_0_arm64.whl (518.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

mesh_reducer-1.0.2-cp39-none-win_amd64.whl (484.8 kB view details)

Uploaded CPython 3.9Windows x86-64

mesh_reducer-1.0.2-cp39-cp39-manylinux_2_34_x86_64.whl (581.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.34+ x86-64

mesh_reducer-1.0.2-cp39-cp39-macosx_11_0_arm64.whl (518.3 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file mesh_reducer-1.0.2.tar.gz.

File metadata

  • Download URL: mesh_reducer-1.0.2.tar.gz
  • Upload date:
  • Size: 7.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for mesh_reducer-1.0.2.tar.gz
Algorithm Hash digest
SHA256 604c5030f61d60f053fef7df42bcac8c1314e53ae822d75cb5ae06a70f523ce9
MD5 a8e3e80d6a99014b55710e78accd1e3f
BLAKE2b-256 f1e06ae8e76e889340f446c829ba9afe38a9305a9788b1fa28a75b6032782753

See more details on using hashes here.

File details

Details for the file mesh_reducer-1.0.2-cp312-none-win_amd64.whl.

File metadata

File hashes

Hashes for mesh_reducer-1.0.2-cp312-none-win_amd64.whl
Algorithm Hash digest
SHA256 c9f979689e79d9bf9efab6f0f71f92d10fce71338826c4b3acb723fb56db9403
MD5 44bb583f44dc88c1e9f63af391ba985a
BLAKE2b-256 48c9461d6540287c96f1d942974e0a962b206067e79a47c87182c4766b170d4e

See more details on using hashes here.

File details

Details for the file mesh_reducer-1.0.2-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for mesh_reducer-1.0.2-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 6dbde3160fbe9aa06526e129872a9508ddf1e7b6b813c189744123cf2aba2125
MD5 fdeb80291b8a3826ab11e869e3380377
BLAKE2b-256 4d7126e162edcd02db28fe846589724e348b185ae5d91ee1756828ae538c99ed

See more details on using hashes here.

File details

Details for the file mesh_reducer-1.0.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mesh_reducer-1.0.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2747d1768bc8cae802500c81492b7e2b5c23b4435ece2118f0dae520f7cfae33
MD5 64c87c05157e2994298e012b6a9c29eb
BLAKE2b-256 3f5f31a5252f35d9f665b2bacb93320da449ba0ca814481f214355a8a0221e10

See more details on using hashes here.

File details

Details for the file mesh_reducer-1.0.2-cp311-none-win_amd64.whl.

File metadata

File hashes

Hashes for mesh_reducer-1.0.2-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 ec797409dbcbc293d04aa8cf5bf25f6d59a8e361e7f836078a32525fb2d561f2
MD5 089d00cd9bbf791d6771537c0fbf51e3
BLAKE2b-256 a4aa5eece1ffac3709f8bf2d3f02256c25be9f1070bdafaf7dc136d715e097d6

See more details on using hashes here.

File details

Details for the file mesh_reducer-1.0.2-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for mesh_reducer-1.0.2-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 2c8e312fc7aef9bde2fb9b9cd01e191442ec127f4ebad8f3cafc7805b36de954
MD5 a15b7e5132c69bddbe55148b2abfb8d7
BLAKE2b-256 c5afb7cf28784828d4c7072a3731c1dd88d25efa708436f5714705e59e2b58dc

See more details on using hashes here.

File details

Details for the file mesh_reducer-1.0.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mesh_reducer-1.0.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 94f71578d8fe9f2279ea35d8cd98c4548747ff566af3285de563bfae0c216060
MD5 c17796f6ab57ad16900485ce79873fdd
BLAKE2b-256 d8ef009c5f63e9979019e9a8a6de8137c816c4cc69f54a221d49c72d5ff3e6b5

See more details on using hashes here.

File details

Details for the file mesh_reducer-1.0.2-cp310-none-win_amd64.whl.

File metadata

File hashes

Hashes for mesh_reducer-1.0.2-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 97865f13542ef93c1bc3231f11b32efe5c37dbb3dd067ead9491279fae90bcf3
MD5 bb66e5c91ea9283ba1217a6ae67c8fa5
BLAKE2b-256 8524265a708482b0e54821f2d5eb4d2bfd69e174c28217079aa9a65cd9b3a5ec

See more details on using hashes here.

File details

Details for the file mesh_reducer-1.0.2-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for mesh_reducer-1.0.2-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 0b74f54290184be4c2996bfea0f22a5d79b0efc0d6b3603d9cf4eab44ee74350
MD5 6891b7959062be331e61bb0b39ddc256
BLAKE2b-256 8ba1ab8dbed90e4db688bbbedcaa2472236367427b26d320aead0bdd18cd07b4

See more details on using hashes here.

File details

Details for the file mesh_reducer-1.0.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mesh_reducer-1.0.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 66c58a88fff9ea6a459270f020a1b577459286924b5a5f82368f64d002f25ac0
MD5 a68d6c85bfb0a7f65db01fe5965a8160
BLAKE2b-256 efb9c0ffe1ab4843e51120f55378fb45f31e60551751ca5c0a7a78b9eb87a9c3

See more details on using hashes here.

File details

Details for the file mesh_reducer-1.0.2-cp39-none-win_amd64.whl.

File metadata

  • Download URL: mesh_reducer-1.0.2-cp39-none-win_amd64.whl
  • Upload date:
  • Size: 484.8 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for mesh_reducer-1.0.2-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 3f206809c96d2345ac9d528e1f03d33a7ebf93f1b90d66ab85c18a929408cd8f
MD5 a92a6f5dd30311f6c82d2b7614faf576
BLAKE2b-256 8be50c0918f95d7146beff5c633d750c1c93c68b1cb338f892d221e59ebfe59e

See more details on using hashes here.

File details

Details for the file mesh_reducer-1.0.2-cp39-cp39-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for mesh_reducer-1.0.2-cp39-cp39-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 e6b2159476911705460fa70709d4b3b43ee90797c93f8779766a7ff45b9dddf9
MD5 da7baaaa5bb0fafbdf1348317fff0880
BLAKE2b-256 9856db55449ba21c2542d47661c86ce2c95f6a4045486e9c178121fa7ec5e019

See more details on using hashes here.

File details

Details for the file mesh_reducer-1.0.2-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mesh_reducer-1.0.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d4cd4e1e9b457aedffb82d691b853f99c8cb2850ff1c15b3599449afe3daa325
MD5 a8500530e74970ba6585314239dce6f2
BLAKE2b-256 9d9e3ba91491e87131f35bcdef6aff440cb1bbab45bf2b1d7e7080d9113b9b1e

See more details on using hashes here.

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