Skip to main content

3d processing library

Reason this release was yanked:

Beta Testing

Project description

build-test-distribute PyPI version Python Downloads

Shows a black logo in light color mode and a white one in dark color mode.

Welcome to MeshLib SDK

The MeshLib SDK is an open-source, cross-platform library designed for efficient 3D geometry processing. MeshLib supports C++, Python, C, and C#, making it easy to integrate into your projects. It’s a versatile tool for industries such as medical devices, 3D printing, scanning, inspection, automation, robotics, and scientific visualization. With robust performance and accuracy, MeshLib excels at handling large datasets, including those used in AI and medical imaging. The repository is packed with clear code examples to help you start quickly and explore advanced features with ease.

The MeshLib Vision

Our vision at MeshLib is to empower developers to quickly build practical and impactful 3D applications. Designed with simplicity and performance in mind, MeshLib provides a comprehensive set of tools and algorithms for processing 3D data. It supports essential data structures like point clouds, meshes, and volumes, commonly generated by modern sensors. MeshLib's robust half-edge data structure for mesh representation ensures manifold compliance, making it well-suited for real-world applications and helping developers bring their ideas to life more efficiently.

Key Features

  • File I/O: Supports meshes, voxels, and point clouds for creation, modification, and conversion.
  • 3D Boolean: Fast, highly optimized mesh and voxel-based approaches.
  • Mesh Repair: Includes removing self-intersections, filling holes, and component separation.
  • Simplification & Subdivision: Optimize mesh complexity with decimation, remeshing, and subdivision.
  • Offsets: Multiple modes for precise surface thickness control, ideal for 3D printing and machining.
  • Triangulation: Accurate, fast conversion of point clouds to meshes with normal creation.
  • ICP: Precise mesh alignment using point-to-point and point-to-plane transformations.
  • Segmentation: Semi-automatic segmentation based on curvature for meshes and voxels.
  • Deformations: Supports Laplacian, freeform, and relax smoothing for fine mesh adjustments.
  • Distance Maps & Polylines: Generate distance maps, iso-lines, and perform projection and intersection.

Features illustration is available in the features section or in the sections of this documentation.

Try MeshLib Easily with MeshInspector

MeshInspector is a cross-platform application built on MeshLib that allows users to trial MeshLib’s algorithms directly. It exposes most of MeshLib's core algorithms in an intuitive interface, providing a hands-on way to evaluate MeshLib’s performance on various operations. For a closer look at MeshInspector’s features and performance, check out our YouTube channel with videos demonstrating its capabilities.

Note: While MeshInspector includes many of MeshLib’s algorithms, it was designed with specific end-user scenarios in mind. MeshLib itself offers far greater customization and flexibility, allowing you to tailor its algorithms precisely to your unique needs.

Getting Started with MeshLib

For Python users, install via pip:

pip install meshlib

For C++, C and C# integration, see the Installation Guide.

Explore MeshLib's tutorials and code samples to get started quickly and master advanced features.

License

MeshLib offers Non-Commercial Free License with a Commercial License Requirement. See details on MeshLib license page.

Reporting Issues

If you encounter an issue or have a bug to report, please use our GitHub Issues Form to submit it. This ensures we can track and address problems efficiently.

Join the community discussions on our GitHub Discussions page to connect with other developers, share ideas, and stay updated on the latest MeshLib developments.

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

meshlib-3.0.1.205-py312-none-win_amd64.whl (47.1 MB view details)

Uploaded Python 3.12 Windows x86-64

meshlib-3.0.1.205-py312-none-manylinux_2_31_x86_64.whl (58.1 MB view details)

Uploaded Python 3.12 manylinux: glibc 2.31+ x86-64

meshlib-3.0.1.205-py312-none-manylinux_2_31_aarch64.whl (51.3 MB view details)

Uploaded Python 3.12 manylinux: glibc 2.31+ ARM64

meshlib-3.0.1.205-py312-none-macosx_13_0_x86_64.whl (68.4 MB view details)

Uploaded Python 3.12 macOS 13.0+ x86-64

meshlib-3.0.1.205-py312-none-macosx_12_0_arm64.whl (65.2 MB view details)

Uploaded Python 3.12 macOS 12.0+ ARM64

meshlib-3.0.1.205-py311-none-win_amd64.whl (47.1 MB view details)

Uploaded Python 3.11 Windows x86-64

meshlib-3.0.1.205-py311-none-manylinux_2_31_x86_64.whl (58.1 MB view details)

Uploaded Python 3.11 manylinux: glibc 2.31+ x86-64

meshlib-3.0.1.205-py311-none-manylinux_2_31_aarch64.whl (51.3 MB view details)

Uploaded Python 3.11 manylinux: glibc 2.31+ ARM64

meshlib-3.0.1.205-py311-none-macosx_13_0_x86_64.whl (68.1 MB view details)

Uploaded Python 3.11 macOS 13.0+ x86-64

meshlib-3.0.1.205-py311-none-macosx_12_0_arm64.whl (64.8 MB view details)

Uploaded Python 3.11 macOS 12.0+ ARM64

meshlib-3.0.1.205-py310-none-win_amd64.whl (47.1 MB view details)

Uploaded Python 3.10 Windows x86-64

meshlib-3.0.1.205-py310-none-manylinux_2_31_x86_64.whl (58.1 MB view details)

Uploaded Python 3.10 manylinux: glibc 2.31+ x86-64

meshlib-3.0.1.205-py310-none-manylinux_2_31_aarch64.whl (51.3 MB view details)

Uploaded Python 3.10 manylinux: glibc 2.31+ ARM64

meshlib-3.0.1.205-py310-none-macosx_13_0_x86_64.whl (67.7 MB view details)

Uploaded Python 3.10 macOS 13.0+ x86-64

meshlib-3.0.1.205-py310-none-macosx_12_0_arm64.whl (64.5 MB view details)

Uploaded Python 3.10 macOS 12.0+ ARM64

meshlib-3.0.1.205-py39-none-win_amd64.whl (47.1 MB view details)

Uploaded Python 3.9 Windows x86-64

meshlib-3.0.1.205-py39-none-manylinux_2_31_x86_64.whl (58.1 MB view details)

Uploaded Python 3.9 manylinux: glibc 2.31+ x86-64

meshlib-3.0.1.205-py39-none-manylinux_2_31_aarch64.whl (51.3 MB view details)

Uploaded Python 3.9 manylinux: glibc 2.31+ ARM64

meshlib-3.0.1.205-py39-none-macosx_13_0_x86_64.whl (67.7 MB view details)

Uploaded Python 3.9 macOS 13.0+ x86-64

meshlib-3.0.1.205-py39-none-macosx_12_0_arm64.whl (64.5 MB view details)

Uploaded Python 3.9 macOS 12.0+ ARM64

meshlib-3.0.1.205-py38-none-win_amd64.whl (47.1 MB view details)

Uploaded Python 3.8 Windows x86-64

meshlib-3.0.1.205-py38-none-manylinux_2_31_x86_64.whl (58.1 MB view details)

Uploaded Python 3.8 manylinux: glibc 2.31+ x86-64

meshlib-3.0.1.205-py38-none-manylinux_2_31_aarch64.whl (51.3 MB view details)

Uploaded Python 3.8 manylinux: glibc 2.31+ ARM64

meshlib-3.0.1.205-py38-none-macosx_12_0_arm64.whl (64.2 MB view details)

Uploaded Python 3.8 macOS 12.0+ ARM64

File details

Details for the file meshlib-3.0.1.205-py312-none-win_amd64.whl.

File metadata

File hashes

Hashes for meshlib-3.0.1.205-py312-none-win_amd64.whl
Algorithm Hash digest
SHA256 19d3bc127ab67af2325828e65f189f6806d92f24b735e56b57c5026e0ee03bfa
MD5 494cdb8f20b3461b79a3021bae7ff9e9
BLAKE2b-256 ce88fec36b678fc50606bd7f471cc5b845ef709642c6f4454cae16abff3d2968

See more details on using hashes here.

File details

Details for the file meshlib-3.0.1.205-py312-none-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for meshlib-3.0.1.205-py312-none-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 5244efe4ef2be0c04a767294b00c6a54d79149a015c684ed8ef488f743c0aee3
MD5 d59a61c8458105e15f1c80a09f2219d4
BLAKE2b-256 a06772645e38815b723106fdb4fb8bf7e5ccbc25e4ac722f2c23b337ba6ddaac

See more details on using hashes here.

File details

Details for the file meshlib-3.0.1.205-py312-none-manylinux_2_31_aarch64.whl.

File metadata

File hashes

Hashes for meshlib-3.0.1.205-py312-none-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 9830954214733dd83b25e9fc1e4f98521defafc5c66fd32e5eb37b2e55929896
MD5 70e0ed5cd385fd64c1aa3d489a7e4be0
BLAKE2b-256 86d43ed80828333844178adf2df05b93695740a0fd2da5e6828f40deec97022f

See more details on using hashes here.

File details

Details for the file meshlib-3.0.1.205-py312-none-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for meshlib-3.0.1.205-py312-none-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 2eac112297b1594dad1458590d601696cccb5ebe99c6edd8260494ace221addc
MD5 2449bab43061cf8403b06f23cb010a2c
BLAKE2b-256 0d6a8a9cd581a546d1b7f4b990dcdc8de7442aa74138544d437c0a104660f6cc

See more details on using hashes here.

File details

Details for the file meshlib-3.0.1.205-py312-none-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for meshlib-3.0.1.205-py312-none-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 66ab84cb9dcb7594a94c2b3d440db3103ea38f09f584ac09fd462d7cf474301c
MD5 24545cf694538150ee1f1bdce0d5b2db
BLAKE2b-256 90ffb2893bf9a2958c057a723d30c1c7836e71f3f1d99a6e513c95ea0afe0628

See more details on using hashes here.

File details

Details for the file meshlib-3.0.1.205-py311-none-win_amd64.whl.

File metadata

File hashes

Hashes for meshlib-3.0.1.205-py311-none-win_amd64.whl
Algorithm Hash digest
SHA256 8584fd6a1b6b83a38f27da21e751d7b35f1b6d3afe126703b159167be030742d
MD5 e54354fea671c078b46b6a262728f137
BLAKE2b-256 e6ce0dd17224fd093871b9a879dd18bd084339ec42ef1282dba3e46315b8a08d

See more details on using hashes here.

File details

Details for the file meshlib-3.0.1.205-py311-none-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for meshlib-3.0.1.205-py311-none-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 16222f77268f5979909c832d78e725a1520e0fd30c851d84101be6b43969dce2
MD5 4b4474ee12b7274ea828ee919ffa9557
BLAKE2b-256 31e0db9232e6b13c449c4519039af07366dcf679293c779e17410887010b9de4

See more details on using hashes here.

File details

Details for the file meshlib-3.0.1.205-py311-none-manylinux_2_31_aarch64.whl.

File metadata

File hashes

Hashes for meshlib-3.0.1.205-py311-none-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 fed0b18ae75c3aa97810586291a1e4831233aa19d7e9c50d89a248f1c1ee46de
MD5 ef734ed6fb656ad8d076bd030af545f2
BLAKE2b-256 4687e64799b22b501ac3f01b8c155af1296b074c8dae9aa85e2fc7e9c54eaee3

See more details on using hashes here.

File details

Details for the file meshlib-3.0.1.205-py311-none-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for meshlib-3.0.1.205-py311-none-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 52d9ea3d7084893f8ce938439012539093161bfbacbfe140f5a40e9c3ff4cfc8
MD5 a5dceba2c6dc25fea445049a44219184
BLAKE2b-256 1f132286f555bee607e6f4a5680e1e96f7a12e369f003ed58d8bce271cfc4b52

See more details on using hashes here.

File details

Details for the file meshlib-3.0.1.205-py311-none-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for meshlib-3.0.1.205-py311-none-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 2389d9aa9ee10c8bf9a2b26c06e5b0ad1a15124ab474f99234121abc6d27f7f8
MD5 78e96d6d9968a3bf2afc32f0c7063112
BLAKE2b-256 63cb44b34c6b71a6bc92b99ccc0e65bf8e2ab831e50c3ead3d9bc2da40f06ea8

See more details on using hashes here.

File details

Details for the file meshlib-3.0.1.205-py310-none-win_amd64.whl.

File metadata

File hashes

Hashes for meshlib-3.0.1.205-py310-none-win_amd64.whl
Algorithm Hash digest
SHA256 89122db80b40976cdbef7b651c92dab062319c02b331c4dfead2e22f7789ddda
MD5 d7512671d2f7adb16a8f2e9442774090
BLAKE2b-256 68ff0772b9d05175ebddace416a3d09c8df7950c1cba6b9cc3eff772d88dac4b

See more details on using hashes here.

File details

Details for the file meshlib-3.0.1.205-py310-none-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for meshlib-3.0.1.205-py310-none-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 2f100e645f4984c3162a5bd30a343fb0796f94ceeaa6a23271f80f9f7266d408
MD5 8760744bb7eb72ce012312566a5a9af5
BLAKE2b-256 a1593f56468db2149219822645772361dc34644197c56c17407c546b54389a01

See more details on using hashes here.

File details

Details for the file meshlib-3.0.1.205-py310-none-manylinux_2_31_aarch64.whl.

File metadata

File hashes

Hashes for meshlib-3.0.1.205-py310-none-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 0ec7fa74292110a69b570215698d70fb73c596eeee3c4ca26d7a105803f5eeb5
MD5 2332600d09d43aa6a3ed575d61730784
BLAKE2b-256 c6f386d8a40733b099fc2ffc779e39c753362775b308d3d733a40eb8e9c75ef2

See more details on using hashes here.

File details

Details for the file meshlib-3.0.1.205-py310-none-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for meshlib-3.0.1.205-py310-none-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 3b82a6400ae6719e7775db11b421bf5ecf86ba2840d67e8fe7f71fd4fdefda21
MD5 4a6be5ad0bb7860623508500a6ff3bba
BLAKE2b-256 759ae8b86c524ec068ce376282f2f28711ff6fb094f1f930fe6e2a3c54a0de95

See more details on using hashes here.

File details

Details for the file meshlib-3.0.1.205-py310-none-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for meshlib-3.0.1.205-py310-none-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 d2e00b3f0d46a91e5f622112f212ade6368edbacdf4f9dfcbfb1d423dc20afe9
MD5 99fa827f66b1e3f4263ac244246b194c
BLAKE2b-256 157d5f33ac7178994ff6117ec6ca63fe17fc517f6c65af499b2c70208ac34852

See more details on using hashes here.

File details

Details for the file meshlib-3.0.1.205-py39-none-win_amd64.whl.

File metadata

File hashes

Hashes for meshlib-3.0.1.205-py39-none-win_amd64.whl
Algorithm Hash digest
SHA256 aa5a2579f87703d065e3cc9ae324e2ecfa5cd39b501bb0922b443ef35a52679c
MD5 4f5958ccc3b5ac09cae54062055eae31
BLAKE2b-256 c97bcc3c2795892558977e9e71f57fbd5c302f46bf9c92a6e9576429dcacca87

See more details on using hashes here.

File details

Details for the file meshlib-3.0.1.205-py39-none-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for meshlib-3.0.1.205-py39-none-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 0543da4b5f7407b0384783a03e67eac21399cae28b1a535c0a56d396167356d7
MD5 6e3e048a4d9bd2bc0b823639d8223520
BLAKE2b-256 7f80d15822c472911f14fade65880cbe49721ebea709e390fe5068b3bec83554

See more details on using hashes here.

File details

Details for the file meshlib-3.0.1.205-py39-none-manylinux_2_31_aarch64.whl.

File metadata

File hashes

Hashes for meshlib-3.0.1.205-py39-none-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 5af691e1fe419e7cf5550a6d0bd57f9cf6f8298be68900e6889ec3d8a6bd3a41
MD5 4b7a3ef1903957ed89b2aba7ac100c96
BLAKE2b-256 13c231ae01e482bda1d274cc9f0f5c7d5abaede29e429044f9960f03b7213725

See more details on using hashes here.

File details

Details for the file meshlib-3.0.1.205-py39-none-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for meshlib-3.0.1.205-py39-none-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 706bc9179577edd48d4d60aaf974ec1f39e5439d9efd0ea6c0cde5475ce32cfa
MD5 6675a7b4e3f6f72b246f80dc4678ef7c
BLAKE2b-256 d53b07c9317997f743b71b23b4acbf278cf3d1d9ecb2a168a46682d1e63899a5

See more details on using hashes here.

File details

Details for the file meshlib-3.0.1.205-py39-none-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for meshlib-3.0.1.205-py39-none-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 c141518955d9d5a0df0eaaabb08ac9bcd4b1ca8e2d3a4d41e5274ee3e0510c9c
MD5 cf4f7c6df3d8e3f6d5198d0766706f61
BLAKE2b-256 6677f4f190f3acc86f87c5d5224a96c13c8902424329eb4384c356c29d1ad428

See more details on using hashes here.

File details

Details for the file meshlib-3.0.1.205-py38-none-win_amd64.whl.

File metadata

File hashes

Hashes for meshlib-3.0.1.205-py38-none-win_amd64.whl
Algorithm Hash digest
SHA256 5280138ec78ed03be6727b2f4d1452eb51b95ca6f9dbd94338ae6ffc09a8f42e
MD5 b7abe4b57fafb09c5030f70bfa9f6326
BLAKE2b-256 6c1528bf7af086cd4af917efebad750467cd3db209b53273e3cf275d154dbf50

See more details on using hashes here.

File details

Details for the file meshlib-3.0.1.205-py38-none-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for meshlib-3.0.1.205-py38-none-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 c0e73361e3493144829050f66e1876e0d3cb5e4d9bc2658be6e96a0de4c62af1
MD5 7286a8a969f3f0aabedc07a500669054
BLAKE2b-256 56c5c8129ec386d5e783f66070a59b29300ea53ed7ee737cfbcc058585f923c5

See more details on using hashes here.

File details

Details for the file meshlib-3.0.1.205-py38-none-manylinux_2_31_aarch64.whl.

File metadata

File hashes

Hashes for meshlib-3.0.1.205-py38-none-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 9b8f2beb7f191d11e75d0767406520cb8529ea0af61eb2a6e413afd2ac8229b7
MD5 6e877c7effb45ce847cf792657204217
BLAKE2b-256 5bf3923eea0ea8bdb1002080019e05f0be0ba0d1fa436ca3e66328c5f027dabf

See more details on using hashes here.

File details

Details for the file meshlib-3.0.1.205-py38-none-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for meshlib-3.0.1.205-py38-none-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 8f671b38c53318af3785a9c7f2036ed5cda9b6f248defeaffb5e506eb60836f6
MD5 7e4b0e4eb96a0f03d064528afc2bb6a2
BLAKE2b-256 7563db3e366b830c074f7789c4151edbb68e0aa6065177b939ac70442e219aab

See more details on using hashes here.

Supported by

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