MeshLib 3.1.4.297

dotnet add package MeshLib --version 3.1.4.297
                    
NuGet\Install-Package MeshLib -Version 3.1.4.297
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MeshLib" Version="3.1.4.297" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="MeshLib" Version="3.1.4.297" />
                    
Directory.Packages.props
<PackageReference Include="MeshLib" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add MeshLib --version 3.1.4.297
                    
#r "nuget: MeshLib, 3.1.4.297"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package MeshLib@3.1.4.297
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=MeshLib&version=3.1.4.297
                    
Install as a Cake Addin
#tool nuget:?package=MeshLib&version=3.1.4.297
                    
Install as a Cake Tool

<p align="left"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/37d3a562-581d-421b-8209-ef6b224e96a8"> <source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/caf6bdd1-b2f1-4d6d-9e22-c213db6fc9cf"> <img alt="MeshLib logo" src="https://github.com/user-attachments/assets/caf6bdd1-b2f1-4d6d-9e22-c213db6fc9cf" width="60%"> </picture> </p>

MeshLib — an SDK that supercharges your 3D data processing efficiency

Geometry algorithms engineered to revolutionize. We help software engineers process, repair, measure and optimize 3D data with next-generation algorithms, reducing development time and costs — mesh boolean, mesh repair, decimation, offset, point cloud triangulation, ICP registration and voxel processing, in C++, C, C#, Python and JavaScript.

▶ Try it live · Website · Documentation · Quick start · Examples · Benchmarks · Discussions

build-test-distribute PyPI version PyPI downloads Python versions NuGet npm Stars

MeshLib SDK — 3D mesh processing library

Install

pip install meshlib                  # Python
dotnet add package MeshLib           # C#
npm install @meshinspector/meshlib   # JavaScript / WebAssembly

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

60 seconds to your first result

Turn a scan into a triangle mesh:

from meshlib import mrmeshpy as mm

pc   = mm.loadPoints("scan.ply")           # point cloud from any scanner
mesh = mm.triangulatePointCloud(pc)        # point cloud -> triangle mesh
mm.saveMesh(mesh, "model.stl")

Boolean operations that just work, with no non-manifold surprises:

from meshlib import mrmeshpy as mm

a = mm.makeUVSphere(1.0, 64, 64)
b = mm.copyMesh(a)
b.transform(mm.AffineXf3f.translation(mm.Vector3f(0.7, 0.0, 0.0)))

res = mm.boolean(a, b, mm.BooleanOperation.Union)
if not res.valid():
    raise RuntimeError(res.errorString)
mm.saveMesh(res.mesh, "out_boolean.stl")

Heal a broken scan into a watertight, printable model. Voxel-based repair rebuilds the surface through a signed distance field, so holes, self-intersections and non-manifold edges disappear in a single pass:

from meshlib import mrmeshpy as mm

mesh = mm.loadMesh("broken.stl")

params = mm.GeneralOffsetParameters()
params.voxelSize = mesh.computeBoundingBox().diagonal() / 200
params.signDetectionMode = mm.SignDetectionMode.HoleWindingRule
params.closeHolesInHoleWindingNumber = True

fixed = mm.generalOffsetMesh(mm.MeshPart(mesh), 0.0, params)   # watertight
mm.saveMesh(fixed, "fixed.stl")

Voxel repair resamples the surface, so the result is denser than the input — add decimateMesh to bring the triangle count back down within a tolerance you set. Lighter, topological repair (fixMeshDegeneracies, fillHole, fixSelfIntersections) is available when you need to preserve the original vertices.

More in Tutorials and the examples/ folder — including complete, runnable programs for repair, boolean, offset, ICP and triangulation in all five languages.

What MeshLib does

3D Boolean Fast, exact mesh booleans (union, intersection, difference) plus a voxel-based mode for messy input.
Mesh repair Fix self-intersections, degeneracies, tunnels, multiple edges and undercuts; fill and stitch holes on flat and curved surfaces.
Point cloud to mesh Triangulation with accurate normal estimation, uniform and grid sampling, outlier removal.
Simplification Decimation within a set tolerance, remeshing and subdivision that keep the details you care about.
Offset Shell, partial and weighted offsets for 3D printing, machining and hollowing.
Registration Point-to-point and point-to-plane ICP, plus global registration of multiple scans.
Distance & SDF Mesh to signed distance field and back by marching cubes, distance maps, iso-lines, projection and ray intersection.
Voxels & CT DICOM import/export, voxel-grid processing and 3D volume rendering.
Deformation Laplacian, freeform and relaxation smoothing, noise reduction.
Segmentation Semi-automatic mesh segmentation guided by a curvature metric; graph-cut segmentation of voxel volumes.
Collision detection Exact and precise self- and pairwise intersection tests.
Viewer An embeddable OpenGL/ImGui viewer with UI components, or run the algorithms fully headless.
File formats Meshes, point clouds, CT scans, polylines, distance maps and G-code — full list.

Full feature reference: meshlib.io/features.

Why teams pick MeshLib

Measured, not claimed. Our boolean benchmark compares MeshLib across nine libraries on 2M-triangle models — method, data and input meshes. The simplification benchmark does the same for decimation across 11 libraries. Both are public and reproducible.

Manifold by construction. Meshes use a half-edge data structure, in which most non-manifold situations are simply not representable — a non-manifold edge, or a vertex with two closed rings of triangles around it. Broken topology is caught where it happens, not three pipeline stages later.

One engine, five languages. A native C++ core with official APIs for C, C#, Python and JavaScript/WebAssembly. The same algorithms, the same results — on the desktop, on a server, or in a browser tab.

Built for real workloads. Core algorithms are multithreaded; a CUDA module accelerates distance maps, signed distance fields, offsets and swept volumes on NVIDIA GPUs.

We use it ourselves. MeshInspector, our desktop and web application, and SmileInspector, our FDA-cleared clear-aligner platform, are both built entirely on this SDK, so it is exercised every day on real production data.

Supported, not abandoned. Backed by a full-time team with commercial support, regular releases and a responsive issue tracker.

Platforms

Windows · macOS · Linux (Ubuntu/Debian, Fedora/RHEL) · WebAssembly

Built with MeshLib

Project Field What it does
Polyga 3D scanning PointKit scanning platform, built on MeshLib
Verisurf Metrology 3D measurement, inspection and reverse engineering
Brius Technologies Orthodontics Customized lingual orthodontic appliances
Axial3D Medical imaging Scan-to-3D-model services for surgical planning
customed.ai Medical devices AI-driven patient-specific surgical instruments
Relu Digital dentistry AI segmentation for dental CAD workflows
spherene Generative design Adaptive density minimal surfaces for AM
ToffeeX Generative design Physics-driven design optimization
Enhatch Medical devices Intelligent surgery platform
CIMsystem CAM / machining CAD/CAM software for dental and industrial milling
3DONS Digital dentistry Dental treatment planning software
Henning Larsen Architecture / AEC Computational design and terrain modelling
MeshInspector 3D printing / QA STL editor, viewer and mesh repair application
SmileInspector Clear aligners FDA-cleared aligner treatment planning platform

Shipping something built on MeshLib? Open a PR and add it here — we like showing what people build.

Getting started

  1. Try the live demo — booleans, repair, decimation and ICP in the browser. No install, no sign-up.
  2. Evaluate locally. pip install meshlib, then work through the tutorials. Free for non-commercial and educational use under our licence.
  3. See it in an application. MeshInspector is the GUI built on MeshLib — desktop and web, 30-day trial.
  4. Book a call. Integration guidance, architecture questions and commercial licensing tailored to your project.

Licence

MeshLib is source-available: read the code, fork it, and use it free for non-commercial and educational work. Commercial use requires a licence — see the full terms and the licence page.

Citing MeshLib

If MeshLib supports your research, please cite the exact version you used — find it with pip show meshlib.

@software{meshlib,
  author       = {{MeshLib Development Team}},
  title        = {{MeshLib}: 3D Mesh Processing Library},
  organization = {AMV Consulting LLC},
  year         = {2026},
  version      = {3.1.3.429},
  url          = {https://meshlib.io},
  note         = {Please cite the exact version used in your work}
}

Other styles (APA, IEEE, Chicago) and guidance on citing a specific algorithm: meshlib.io/citation-guide. Published something that uses MeshLib? Tell us in Discussions — we keep a list.

Community and support

If MeshLib saves you time, a ⭐ helps other engineers find it.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.1.4.297 561 9/16/2026
3.1.3.429 413 8/3/2026
3.1.3.338-beta 215 7/14/2026
3.1.3.297 378 7/6/2026
3.1.3.249 339 6/25/2026
3.1.2.192 357 5/6/2026
3.1.1.211 307 3/24/2026
3.1.1.92 320 2/19/2026
3.1.0.75 376 1/26/2026
3.1.0.2 657 12/29/2025
3.0.9.196 843 11/12/2025
3.0.9.193 369 11/12/2025
3.0.8.247 525 10/6/2025
3.0.8.228 308 10/1/2025
3.0.7.238 406 8/13/2025
3.0.6.335 277 7/17/2025
Loading failed