{{Short description|3D mesh processing software}} {{Infobox software | name = MeshLib | logo = <!-- if there is a logo --> | developer = MeshInspector | latest release version = 3.0.8.228 | programming language = C++ (with bindings to Python, C, C#) | operating system = Windows, macOS, Linux, WebAssembly | genre = 3D geometry processing SDK | license = Free for non-commercial use; commercial licenses available }}
'''MeshLib''' is a cross-platform software development kit (SDK) for three-dimensional (3D) data processing, primarily implemented in C++. It provides tools for handling polygonal meshes, point clouds, and voxel-based data.<ref>{{Cite journal |last1=Jaiswal |first1=Monu |last2=Corpuz |first2=Ashton M. |last3=Hsu |first3=Ming-Chen |date= 2024|title=Mesh-driven resampling and regularization for robust point cloud-based flow analysis directly on scanned objects |url=https://linkinghub.elsevier.com/retrieve/pii/S0045782524006819 |journal=Computer Methods in Applied Mechanics and Engineering |language=en |volume=432 |article-number=117426 |doi=10.1016/j.cma.2024.117426 |bibcode=2024CMAME.43217426J |url-access=subscription }}</ref> The library includes functionality for geometry processing, computational analysis, and conversion between different 3D data formats.<ref>{{Cite web |title=A Good 3D mesh library |url=https://stackoverflow.com/questions/78641/a-good-3d-mesh-library |access-date=2025-10-04 |website=Stack Overflow |language=en}}</ref> Bindings are available for Python (fully exposed starting from version 3.0.0.) and C# (not fully exposed), with a C API fully exposed since v3.0.7.<ref name=":0">{{Cite web |last= |title=MeshLib |url=https://www.nuget.org/packages/MeshLib/3.0.2.183}}</ref>
== Overview == MeshInspector was co-founded by Alexey Vishnevskiy, an inventor on multiple patents in the fields of CAD/CAM and digital dentistry,<ref>{{Cite web |title=Google Patents |url=https://patents.google.com/?inventor=Alexey+Vishnevskiy |access-date=2025-10-04 |website=patents.google.com}}</ref> and Sergey Nikolskiy, an inventor and co-author of patents related to digital dentistry, 3D modeling, and segmentation technologies. Vishnevskiy, Nikolskiy and the team hold more than 30 patents and scientific publications in areas connected to 3D modeling, mesh processing, and dental CAD/CAM technologies.<ref>{{Cite web |title=Alexey Vishnevskiy |url=https://scholargps.com/scholars/17789933187887/alexey-vishnevskiy |access-date=2025-10-04 |website=scholargps.com}}</ref>
Vishnevskiy and Nikolskiy have long-term experience in CAD/CAM software development and 3D mesh processing.<ref>{{Cite web |title=Google Patents |url=https://patents.google.com/?inventor=Sergey+Nikolskiy |access-date=2025-10-04 |website=patents.google.com}}</ref> They began working together in the 2000s on projects in dental technology, which later developed into MeshInspector and the development MeshLib library.<ref name=":1">{{Cite web |date=2023-07-06 |title= MeshInspector |url=https://meshinspector.com/about-us/ |access-date=2025-10-04 |language=en-US}}</ref> The group began developing MeshLib in the early 2020s alongside the MeshInspector application.<ref name=":1" />
MeshLib was first launched commercially in 2022.<ref name="meshlib-features">{{cite web |title=MeshLib |url=https://meshlib.io/feature/ |access-date=21 September 2025 |website=MeshLib}}</ref> The most recent major version, the 3.0.x series was introduced in October 2024 and has continued to receive iterative updates through 2025.<ref name=":2">{{Cite web |last=MeshInspector |title=Releases · MeshInspector/MeshLib |url=https://github.com/MeshInspector/MeshLib/releases |access-date=2025-10-04 |website=GitHub |language=en}}</ref><ref>{{Cite web |title=MeshLib SDK |url=https://pypi.org/project/meshlib/3.0.4.121/ |access-date=2025-10-04 |website=pypi.org}}</ref> MeshLib supports several functions for 3D data, including Mesh generation, mesh repair, boolean operations on both voxels and meshes,<ref>{{Cite journal |last1=Stroth |first1=M. |last2=Manke |first2=H. |last3=Fluehs |first3=D. |last4=Albrecht |first4=J. |title=Variable 3D resolution in complex detector geometries for Monte Carlo simulations |journal=Physics in Medicine & Biology |date=2025 |volume=70 |issue=14 |doi=10.1088/1361-6560/adeb3f |pmid=40602418 |bibcode=2025PMB....70n5008S |url=https://iopscience.iop.org/article/10.1088/1361-6560/adeb3f/pdf|doi-access=free }}</ref> mesh simplification, mesh offsetting, delaunay triangulation, iterative closest point (ICP), collision detection and distance computation,<ref name=":0" /><ref name=":3">{{Cite journal |last=Alkhimenkov |first=Yury |date=2024-05-06 |title=Simulating squirt flow in realistic rock models using graphical processing units (GPUs) |url=https://academic.oup.com/gji/article/238/1/272/7658472 |journal=Geophysical Journal International |language=en |volume=238 |issue=1 |pages=272–289 |doi=10.1093/gji/ggae152 |doi-access=free |issn=0956-540X}}</ref><ref name=":4">{{Cite web |title=Simulating squirt flow in realistic rock models using graphical processing units (GPUs) Open Access |url=https://academic.oup.com/gji/article/238/1/272/7658472}}</ref> mesh smoothing, point cloud to mesh and triangulation,<ref name=":2" /> and supports over 25 file formats across meshes, point clouds, voxels, polylines, distance maps and G-Code. MeshLib can also be built for WebAssembly via Emscripten.<ref name=":0" /><ref name=":2" /><ref name=":3" /><ref name=":4" />
=== Data structures === The MeshLib SDK manages 3D data via dedicated structures. Surface geometry is stored in the core mesh object and acts as the main container for algorithms. Vertex positions are held in a dedicated array of points, i.e., 3D coordinates.<ref>{{Cite arXiv |author1=Sage B Shaw |author2=Zachary P Kilpatrick |last3=Avitabile |first3=Daniele |title=Radial Basis Function Techniques for Neural Field Models on Surfaces |date=2025 |class=math.NA |eprint=2504.13379 }}</ref> Topology is represented by MeshTopology, a half-edge structure that provides face/edge/vertex connectivity and ensures manifold compliance.<ref>{{Cite journal |last1=Li |first1=Zhen |last2=Shi |first2=Zuoqiang |last3=Sun |first3=Jian |title=Point Integral Method for Solving Poisson-Type Equations on Manifolds from Point Clouds with Convergence Guarantees |url=https://www.cambridge.org/core/product/identifier/S1815240617000585/type/journal_article |journal=Communications in Computational Physics |date=2017 |language=en |volume=22 |issue=1 |pages=228–258 |doi=10.4208/cicp.111015.250716a |bibcode=2017CCoPh..22..228L |issn=1815-2406|url-access=subscription }}</ref><ref name=":2" /> For spatial queries and collision detection, MeshLib builds and caches an AABB-tree (axis-aligned bounding box hierarchy) over mesh triangles to accelerate broad-phase operations.<ref name=":2" />
== License == The MeshLib SDK is distributed under its own dual-licensing model.<ref name=":5">{{Cite web |title=Benchmarking Open-Source Libraries for 3D Object Comparison in Machining Part Quality Control and Assessment |url=https://repositorio.ufsc.br/bitstream/handle/123456789/267480/TCC.pdf}}</ref> It offers a free license for educational and research institutions under non-commercial terms, and requires a commercial license for business usage. The software is not released under any OSI-approved open-source license. Bundled assets are governed by the same licensing terms where specified.<ref name=":2" /><ref name=":5" />
== References == {{reflist}}
== External links == * [https://meshlib.io/ Official website] * [https://pypi.org/project/meshlib/ MeshLib] on PyPI * {{GitHub|MeshInspector/MeshLib|MeshLib}}
{{DEFAULTSORT:Meshlib}} Category:2022 software Category:3D graphics software Category:3D modeling software for Linux Category:Video game development software Category:Computer-aided design software Category:C++ libraries Category:Geometric algorithms Category:Python (programming language) scientific libraries