3d processing library
Reason this release was yanked:
Beta Testing
Project description
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
File details
Details for the file meshlib-3.0.1.205-py312-none-win_amd64.whl
.
File metadata
- Download URL: meshlib-3.0.1.205-py312-none-win_amd64.whl
- Upload date:
- Size: 47.1 MB
- Tags: Python 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19d3bc127ab67af2325828e65f189f6806d92f24b735e56b57c5026e0ee03bfa |
|
MD5 | 494cdb8f20b3461b79a3021bae7ff9e9 |
|
BLAKE2b-256 | ce88fec36b678fc50606bd7f471cc5b845ef709642c6f4454cae16abff3d2968 |
File details
Details for the file meshlib-3.0.1.205-py312-none-manylinux_2_31_x86_64.whl
.
File metadata
- Download URL: meshlib-3.0.1.205-py312-none-manylinux_2_31_x86_64.whl
- Upload date:
- Size: 58.1 MB
- Tags: Python 3.12, manylinux: glibc 2.31+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5244efe4ef2be0c04a767294b00c6a54d79149a015c684ed8ef488f743c0aee3 |
|
MD5 | d59a61c8458105e15f1c80a09f2219d4 |
|
BLAKE2b-256 | a06772645e38815b723106fdb4fb8bf7e5ccbc25e4ac722f2c23b337ba6ddaac |
File details
Details for the file meshlib-3.0.1.205-py312-none-manylinux_2_31_aarch64.whl
.
File metadata
- Download URL: meshlib-3.0.1.205-py312-none-manylinux_2_31_aarch64.whl
- Upload date:
- Size: 51.3 MB
- Tags: Python 3.12, manylinux: glibc 2.31+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9830954214733dd83b25e9fc1e4f98521defafc5c66fd32e5eb37b2e55929896 |
|
MD5 | 70e0ed5cd385fd64c1aa3d489a7e4be0 |
|
BLAKE2b-256 | 86d43ed80828333844178adf2df05b93695740a0fd2da5e6828f40deec97022f |
File details
Details for the file meshlib-3.0.1.205-py312-none-macosx_13_0_x86_64.whl
.
File metadata
- Download URL: meshlib-3.0.1.205-py312-none-macosx_13_0_x86_64.whl
- Upload date:
- Size: 68.4 MB
- Tags: Python 3.12, macOS 13.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2eac112297b1594dad1458590d601696cccb5ebe99c6edd8260494ace221addc |
|
MD5 | 2449bab43061cf8403b06f23cb010a2c |
|
BLAKE2b-256 | 0d6a8a9cd581a546d1b7f4b990dcdc8de7442aa74138544d437c0a104660f6cc |
File details
Details for the file meshlib-3.0.1.205-py312-none-macosx_12_0_arm64.whl
.
File metadata
- Download URL: meshlib-3.0.1.205-py312-none-macosx_12_0_arm64.whl
- Upload date:
- Size: 65.2 MB
- Tags: Python 3.12, macOS 12.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66ab84cb9dcb7594a94c2b3d440db3103ea38f09f584ac09fd462d7cf474301c |
|
MD5 | 24545cf694538150ee1f1bdce0d5b2db |
|
BLAKE2b-256 | 90ffb2893bf9a2958c057a723d30c1c7836e71f3f1d99a6e513c95ea0afe0628 |
File details
Details for the file meshlib-3.0.1.205-py311-none-win_amd64.whl
.
File metadata
- Download URL: meshlib-3.0.1.205-py311-none-win_amd64.whl
- Upload date:
- Size: 47.1 MB
- Tags: Python 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8584fd6a1b6b83a38f27da21e751d7b35f1b6d3afe126703b159167be030742d |
|
MD5 | e54354fea671c078b46b6a262728f137 |
|
BLAKE2b-256 | e6ce0dd17224fd093871b9a879dd18bd084339ec42ef1282dba3e46315b8a08d |
File details
Details for the file meshlib-3.0.1.205-py311-none-manylinux_2_31_x86_64.whl
.
File metadata
- Download URL: meshlib-3.0.1.205-py311-none-manylinux_2_31_x86_64.whl
- Upload date:
- Size: 58.1 MB
- Tags: Python 3.11, manylinux: glibc 2.31+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16222f77268f5979909c832d78e725a1520e0fd30c851d84101be6b43969dce2 |
|
MD5 | 4b4474ee12b7274ea828ee919ffa9557 |
|
BLAKE2b-256 | 31e0db9232e6b13c449c4519039af07366dcf679293c779e17410887010b9de4 |
File details
Details for the file meshlib-3.0.1.205-py311-none-manylinux_2_31_aarch64.whl
.
File metadata
- Download URL: meshlib-3.0.1.205-py311-none-manylinux_2_31_aarch64.whl
- Upload date:
- Size: 51.3 MB
- Tags: Python 3.11, manylinux: glibc 2.31+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fed0b18ae75c3aa97810586291a1e4831233aa19d7e9c50d89a248f1c1ee46de |
|
MD5 | ef734ed6fb656ad8d076bd030af545f2 |
|
BLAKE2b-256 | 4687e64799b22b501ac3f01b8c155af1296b074c8dae9aa85e2fc7e9c54eaee3 |
File details
Details for the file meshlib-3.0.1.205-py311-none-macosx_13_0_x86_64.whl
.
File metadata
- Download URL: meshlib-3.0.1.205-py311-none-macosx_13_0_x86_64.whl
- Upload date:
- Size: 68.1 MB
- Tags: Python 3.11, macOS 13.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52d9ea3d7084893f8ce938439012539093161bfbacbfe140f5a40e9c3ff4cfc8 |
|
MD5 | a5dceba2c6dc25fea445049a44219184 |
|
BLAKE2b-256 | 1f132286f555bee607e6f4a5680e1e96f7a12e369f003ed58d8bce271cfc4b52 |
File details
Details for the file meshlib-3.0.1.205-py311-none-macosx_12_0_arm64.whl
.
File metadata
- Download URL: meshlib-3.0.1.205-py311-none-macosx_12_0_arm64.whl
- Upload date:
- Size: 64.8 MB
- Tags: Python 3.11, macOS 12.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2389d9aa9ee10c8bf9a2b26c06e5b0ad1a15124ab474f99234121abc6d27f7f8 |
|
MD5 | 78e96d6d9968a3bf2afc32f0c7063112 |
|
BLAKE2b-256 | 63cb44b34c6b71a6bc92b99ccc0e65bf8e2ab831e50c3ead3d9bc2da40f06ea8 |
File details
Details for the file meshlib-3.0.1.205-py310-none-win_amd64.whl
.
File metadata
- Download URL: meshlib-3.0.1.205-py310-none-win_amd64.whl
- Upload date:
- Size: 47.1 MB
- Tags: Python 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 89122db80b40976cdbef7b651c92dab062319c02b331c4dfead2e22f7789ddda |
|
MD5 | d7512671d2f7adb16a8f2e9442774090 |
|
BLAKE2b-256 | 68ff0772b9d05175ebddace416a3d09c8df7950c1cba6b9cc3eff772d88dac4b |
File details
Details for the file meshlib-3.0.1.205-py310-none-manylinux_2_31_x86_64.whl
.
File metadata
- Download URL: meshlib-3.0.1.205-py310-none-manylinux_2_31_x86_64.whl
- Upload date:
- Size: 58.1 MB
- Tags: Python 3.10, manylinux: glibc 2.31+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f100e645f4984c3162a5bd30a343fb0796f94ceeaa6a23271f80f9f7266d408 |
|
MD5 | 8760744bb7eb72ce012312566a5a9af5 |
|
BLAKE2b-256 | a1593f56468db2149219822645772361dc34644197c56c17407c546b54389a01 |
File details
Details for the file meshlib-3.0.1.205-py310-none-manylinux_2_31_aarch64.whl
.
File metadata
- Download URL: meshlib-3.0.1.205-py310-none-manylinux_2_31_aarch64.whl
- Upload date:
- Size: 51.3 MB
- Tags: Python 3.10, manylinux: glibc 2.31+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ec7fa74292110a69b570215698d70fb73c596eeee3c4ca26d7a105803f5eeb5 |
|
MD5 | 2332600d09d43aa6a3ed575d61730784 |
|
BLAKE2b-256 | c6f386d8a40733b099fc2ffc779e39c753362775b308d3d733a40eb8e9c75ef2 |
File details
Details for the file meshlib-3.0.1.205-py310-none-macosx_13_0_x86_64.whl
.
File metadata
- Download URL: meshlib-3.0.1.205-py310-none-macosx_13_0_x86_64.whl
- Upload date:
- Size: 67.7 MB
- Tags: Python 3.10, macOS 13.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b82a6400ae6719e7775db11b421bf5ecf86ba2840d67e8fe7f71fd4fdefda21 |
|
MD5 | 4a6be5ad0bb7860623508500a6ff3bba |
|
BLAKE2b-256 | 759ae8b86c524ec068ce376282f2f28711ff6fb094f1f930fe6e2a3c54a0de95 |
File details
Details for the file meshlib-3.0.1.205-py310-none-macosx_12_0_arm64.whl
.
File metadata
- Download URL: meshlib-3.0.1.205-py310-none-macosx_12_0_arm64.whl
- Upload date:
- Size: 64.5 MB
- Tags: Python 3.10, macOS 12.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2e00b3f0d46a91e5f622112f212ade6368edbacdf4f9dfcbfb1d423dc20afe9 |
|
MD5 | 99fa827f66b1e3f4263ac244246b194c |
|
BLAKE2b-256 | 157d5f33ac7178994ff6117ec6ca63fe17fc517f6c65af499b2c70208ac34852 |
File details
Details for the file meshlib-3.0.1.205-py39-none-win_amd64.whl
.
File metadata
- Download URL: meshlib-3.0.1.205-py39-none-win_amd64.whl
- Upload date:
- Size: 47.1 MB
- Tags: Python 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa5a2579f87703d065e3cc9ae324e2ecfa5cd39b501bb0922b443ef35a52679c |
|
MD5 | 4f5958ccc3b5ac09cae54062055eae31 |
|
BLAKE2b-256 | c97bcc3c2795892558977e9e71f57fbd5c302f46bf9c92a6e9576429dcacca87 |
File details
Details for the file meshlib-3.0.1.205-py39-none-manylinux_2_31_x86_64.whl
.
File metadata
- Download URL: meshlib-3.0.1.205-py39-none-manylinux_2_31_x86_64.whl
- Upload date:
- Size: 58.1 MB
- Tags: Python 3.9, manylinux: glibc 2.31+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0543da4b5f7407b0384783a03e67eac21399cae28b1a535c0a56d396167356d7 |
|
MD5 | 6e3e048a4d9bd2bc0b823639d8223520 |
|
BLAKE2b-256 | 7f80d15822c472911f14fade65880cbe49721ebea709e390fe5068b3bec83554 |
File details
Details for the file meshlib-3.0.1.205-py39-none-manylinux_2_31_aarch64.whl
.
File metadata
- Download URL: meshlib-3.0.1.205-py39-none-manylinux_2_31_aarch64.whl
- Upload date:
- Size: 51.3 MB
- Tags: Python 3.9, manylinux: glibc 2.31+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5af691e1fe419e7cf5550a6d0bd57f9cf6f8298be68900e6889ec3d8a6bd3a41 |
|
MD5 | 4b7a3ef1903957ed89b2aba7ac100c96 |
|
BLAKE2b-256 | 13c231ae01e482bda1d274cc9f0f5c7d5abaede29e429044f9960f03b7213725 |
File details
Details for the file meshlib-3.0.1.205-py39-none-macosx_13_0_x86_64.whl
.
File metadata
- Download URL: meshlib-3.0.1.205-py39-none-macosx_13_0_x86_64.whl
- Upload date:
- Size: 67.7 MB
- Tags: Python 3.9, macOS 13.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 706bc9179577edd48d4d60aaf974ec1f39e5439d9efd0ea6c0cde5475ce32cfa |
|
MD5 | 6675a7b4e3f6f72b246f80dc4678ef7c |
|
BLAKE2b-256 | d53b07c9317997f743b71b23b4acbf278cf3d1d9ecb2a168a46682d1e63899a5 |
File details
Details for the file meshlib-3.0.1.205-py39-none-macosx_12_0_arm64.whl
.
File metadata
- Download URL: meshlib-3.0.1.205-py39-none-macosx_12_0_arm64.whl
- Upload date:
- Size: 64.5 MB
- Tags: Python 3.9, macOS 12.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c141518955d9d5a0df0eaaabb08ac9bcd4b1ca8e2d3a4d41e5274ee3e0510c9c |
|
MD5 | cf4f7c6df3d8e3f6d5198d0766706f61 |
|
BLAKE2b-256 | 6677f4f190f3acc86f87c5d5224a96c13c8902424329eb4384c356c29d1ad428 |
File details
Details for the file meshlib-3.0.1.205-py38-none-win_amd64.whl
.
File metadata
- Download URL: meshlib-3.0.1.205-py38-none-win_amd64.whl
- Upload date:
- Size: 47.1 MB
- Tags: Python 3.8, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5280138ec78ed03be6727b2f4d1452eb51b95ca6f9dbd94338ae6ffc09a8f42e |
|
MD5 | b7abe4b57fafb09c5030f70bfa9f6326 |
|
BLAKE2b-256 | 6c1528bf7af086cd4af917efebad750467cd3db209b53273e3cf275d154dbf50 |
File details
Details for the file meshlib-3.0.1.205-py38-none-manylinux_2_31_x86_64.whl
.
File metadata
- Download URL: meshlib-3.0.1.205-py38-none-manylinux_2_31_x86_64.whl
- Upload date:
- Size: 58.1 MB
- Tags: Python 3.8, manylinux: glibc 2.31+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c0e73361e3493144829050f66e1876e0d3cb5e4d9bc2658be6e96a0de4c62af1 |
|
MD5 | 7286a8a969f3f0aabedc07a500669054 |
|
BLAKE2b-256 | 56c5c8129ec386d5e783f66070a59b29300ea53ed7ee737cfbcc058585f923c5 |
File details
Details for the file meshlib-3.0.1.205-py38-none-manylinux_2_31_aarch64.whl
.
File metadata
- Download URL: meshlib-3.0.1.205-py38-none-manylinux_2_31_aarch64.whl
- Upload date:
- Size: 51.3 MB
- Tags: Python 3.8, manylinux: glibc 2.31+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b8f2beb7f191d11e75d0767406520cb8529ea0af61eb2a6e413afd2ac8229b7 |
|
MD5 | 6e877c7effb45ce847cf792657204217 |
|
BLAKE2b-256 | 5bf3923eea0ea8bdb1002080019e05f0be0ba0d1fa436ca3e66328c5f027dabf |
File details
Details for the file meshlib-3.0.1.205-py38-none-macosx_12_0_arm64.whl
.
File metadata
- Download URL: meshlib-3.0.1.205-py38-none-macosx_12_0_arm64.whl
- Upload date:
- Size: 64.2 MB
- Tags: Python 3.8, macOS 12.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f671b38c53318af3785a9c7f2036ed5cda9b6f248defeaffb5e506eb60836f6 |
|
MD5 | 7e4b0e4eb96a0f03d064528afc2bb6a2 |
|
BLAKE2b-256 | 7563db3e366b830c074f7789c4151edbb68e0aa6065177b939ac70442e219aab |