MeshLib Features
3D mesh processing library for C++, Python, C#, C and JavaScript: production-ready algorithms for meshes, point clouds and volumes, grouped by task.
Mesh Booleans and Cutting
Combine, subtract and intersect solid models, or cut them along planes and contours.

Mesh Booleans
Union, difference and intersection of closed meshes, returned as a new mesh.

Cut and Trim with a Plane
Split or trim a mesh with a plane and get the section contours.

Cut along Contours
Cut a mesh along polylines drawn on its surface.

Unite Many Meshes
Merge many overlapping meshes into a single solid in one call.

Convex Hull
Build the convex hull of a mesh, a point cloud or a 2D contour.

2D Contour Triangulation
Turn closed 2D contours into a flat triangle mesh.

Mesh Healing
Repair holes and topology defects before simulation, printing and analysis.
Discover more
Non-Manifold Geometry
Find and fix non-manifold edges and vertices that break printing and booleans.
Discover more
Fill Holes
Fill or stitch holes with smooth, well-shaped patches.
Discover more
Self-Intersection Fixing
Detect and fix self-intersecting triangles.

Tunnel Removal
Find and cut topological tunnels (handles) in scanned surfaces.

Degenerate Triangle Cleanup
Remove degenerate triangles and tiny disconnected components.
Simplification and Remeshing
Control polygon count and triangle quality.

Mesh Simplification
Reduce triangle count with control over estimated geometric deviation.
Discover more
Mesh Smoothing
Iterative and non-iterative smoothing to reduce noise and improve surface quality.
Discover more
Remeshing and Subdivision
Split, collapse and flip edges to adjust triangle size and mesh quality.

Normal Denoising
Denoise scanned surfaces by smoothing face normals.

Attribute Transfer
Project vertex and face attributes from the original mesh onto a remeshed one.
Point Cloud Processing
Turn raw LiDAR and scanner data into clean, usable meshes.
Point cloud processing overview
Point Cloud to Mesh
Create meshes from point clouds using normal-guided triangulation or signed distance field reconstruction.

Normals Estimation
Compute and orient point normals for reconstruction and shading.

Sampling and Downsampling
Thin dense clouds uniformly or on a grid.

Outlier Removal
Find and remove stray points and small disconnected clusters.

Point Cloud Smoothing
Relax noisy point positions toward their neighbors to smooth a scan.

Mesh to Point Cloud
Turn a mesh into a point cloud with normals or sample its surface densely.

Terrain Triangulation
Triangulate 2.5D terrain and survey points in the XY plane.
Volumes, Voxels and CT
Signed distance fields, voxel grids and medical scans.

Mesh to SDF
Convert meshes to signed distance fields for offsets and booleans.
Discover more
CT/DICOM Volume to Mesh
Load existing CT/DICOM slice series and extract surfaces as triangle meshes.
Discover more
3D Volume Rendering
Interactive visualization of CT and other volumetric data.
Discover more
Marching Cubes
Extract meshes from voxel volumes and distance fields.

Voxel Booleans
Union, difference and intersection of signed distance fields on voxel grids.

Voxel Segmentation
Semi-automatic segmentation of volumes from seed points.
Registration and Alignment
Bring scans and models into one coordinate system.

ICP: Iterative Closest Point
Align a source cloud or mesh onto a target with a rigid transform.
Discover more
Multi-Scan Alignment
Align many overlapping scans at once with multiway ICP.

Primitive Fitting
Fit planes, spheres, cylinders and cones to measured data.
Inspection and Measurement
Measure, compare and check models.

Collision Detection
Find colliding and intersecting triangles between meshes.
Discover more
Wall Thickness
Measure the thickness of a part at every vertex.

Distance and Deviation
Compare a mesh or scan with a reference and color the deviation.

Mesh Segmentation
Split a mesh into regions by curvature.

Geodesic Paths
Trace paths along the surface between points.

Distance Maps
Height maps from meshes or contours, with iso-lines.
Formats, Viewer and Languages
Everything around the algorithms.

File Formats
Meshes, point clouds (E57, LAS, LAZ), voxels and polylines in common 3D formats, plus STEP import via OpenCASCADE.
Discover more
3D Viewer
Plug-in rendering and UI layer for your own 3D apps.
Discover more
Python, C++, C#, C and JavaScript
One C++ engine with bindings for Python, C#, C and JavaScript.
CUDA Acceleration
Optional NVIDIA CUDA acceleration for heavy computations.
Offsetting and Deformation
Grow, shrink, thicken, wrap and reshape surfaces and contours.

Mesh Offsetting
Precise expansion or contraction of a 3D mesh surface.
Discover more
Mesh Thickening
Turn an open surface into a solid of a set thickness.

Partial Offset
Offset only a selected part of an open surface.

2D Contour Offsetting
Grow or shrink planar 2D contours by a set distance.

Shrinkwrap
Move every vertex onto a reference surface while keeping the mesh topology.

Free-Form Deformation
Bend and warp a mesh with a lattice of control points.

Laplacian Deformation
Move a region of the surface and let the rest follow smoothly.
Manufacturing and 3D Printing
Prepare parts for printing and machining.

TPMS and Lattice Infill
Fill a part with gyroid, Schwarz P or cellular lattice structures for 3D printing.

G-code Visualization
Load G-code programs to view and analyze tool movements.

Text Embossing
Turn text into meshes and place it on a surface to emboss or engrave.

Overhang Detection
Find overhanging regions that need support in 3D printing.

Undercut Fixing
Fill undercuts so a part can be produced from one direction.

3D Nesting
Pack many parts compactly into a build volume.

CNC Tool Paths
Generate milling tool paths for a given tool radius.

Swept Volume
Compute the volume a tool sweeps along its path.
Try MeshLib now
Booleans, mesh repair, decimation and ICP — in your browser, as JavaScript and WebAssembly. No install, no sign-up.
Open live demoOr install the SDK — free to evaluate
