Our Innovations

Mashlib% filename%

Refining 3D Models with 
MeshLib’s Mesh Simplification

3D models are often made up of thousands or even millions of triangles. While having many triangles can show a lot of detail, it can also make files too big and hard for computers ...
Mashlib% filename%

Precision Mesh Offsetting with MeshLib

Mesh offsetting enables the precise expansion or contraction of a 3D mesh surface, crucial for applications requiring exact wall thickness and custom surface control, like 3D print...
Mashlib% filename%

3D Boolean Operations

3D boolean operations are essential for creating complex shapes and forms that would be difficult or time-consuming to model from scratch using traditional modeling techniques.
Mashlib% filename%

Mesh Healing

Mesh healing is a critical process to prepare mesh for further use in the 3D pipeline, ensuring that mesh models are watertight, error-free, and suitable for applications such as s...

Three main 3D data representations

Mesh algorithms

Collisions

Finds colliding faces of two meshes in realtime.

Distances

Finds minimal signed/unsigned distance between two meshes in realtime.

distance emasure meshlib features
Mashlib% filename%

Free form deformation

Applies free form transformation to mesh or finds best free form transformation to fit given points. Grey points – reference grid of free form transform (resolution is customizable)

Free Form Deformation Before meshlib features

Before

Freeform Deformation After meshlib features

After

Laplacian deformation

It modifies a surface region following the movement of some fixed points in this region, and preserving curvature in other points Read area – deformed area (a few points were fixed on forehead)

Laplacian Deformation Before meshlib features

Before

Laplacian Deformation After meshlib features

After

Fill/Stitch Hole(s)

Triangulates a hole in mesh, or stitch two holes with a tunnel. Different metrics could be used for triangulation.

Mashlib% filename%

Before

fill holes after Meshlib features

After

Stitch Holes Before meshlib features

Before

Stitch Holes Before meshlib features

After

Mesh Decimation

Decimation or simplification is reached by reducing the number of triangles, while preserving the overall initial shape and most prominent features.

Mashlib% filename%

Mesh before: ~200k triangles

Mashlib% filename%

Mesh after: 20k triangles

Shortest Geodesic (surface) path building

The task is to find the shortest path between two points along the surface. The implementation is very fast and robust allowing its application in real-time editing:

Iterative Closest Points

ICP is for finding the best aligning transformation (from some transformation group, e.g. the group of all rigid transformations) for two meshes.

Mashlib% filename%

Before

Mashlib% filename%

After

Mashlib% filename%

Before

Mashlib% filename%

After

Tunnels fixing

MeshLib can detect and fix tunnels on surface. Here on the left a thin tunnel is detected, a cut is made, each side of which is filled with a disc-like patch to get a topological sphere on the right:

Mashlib% filename%

Topological torus

Mashlib% filename%

Topological sphere

3D Boolean Operations

MeshInspector contains two implementations of 3D Boolean operations:

  • Voxel-based, that first converts closed meshes in 3D raster image (voxels), then makes the operations, and then converts it back. Any self-intersections are supported in input meshes, and are automatically fixed in output.
  • Direct mesh-based operations , which can work even with not-closed meshes and supports various input degeneracies. The main advantage over voxel-based mode is higher performance and extreme precision not limited by the size of one voxel.
Mashlib% filename%

Sphere and Dino

Mashlib% filename%

Sphere – Dino (transparent)

Mashlib% filename%

Sphere – Dino form other side

Partial Offset

Offset selected part of mesh only and produce single component mesh as result.

Mashlib% filename%

Red faces are selected

Mashlib% filename%

Mesh with offset of selected parts

Segmentation by curvature

The task is to select a mesh region, separated from other mesh parts by a high curvature boundary (or some other metrics, including custom ones), given 2-3 points on the boundary.

The picture demonstrates segmentation of crests.

Each one is segmented by two points picked on its base

Mashlib% filename%
Mashlib% filename%

Compare with Precision

Effortlessly compare two models side by side, meticulously examining the surface distances. This innovative feature allows you to inspect the quality of your printed 3D model against the original CAD design. Identify even the slightest deviations and ensure your project meets the most stringent standards.

Distance map algorithms

Distance Map from mesh

Depth map from some plane to mesh. Could be visualized in grey-scale image:– Black pixels of distance map – farthest– White pixels – closest

Mashlib% filename%

Before

Mashlib% filename%

After

Distance Map from contours

It presents field of distances in contours plane from each pixel, to contours closest point.Can be signed or unsigned. Zero value corresponds to input contour points

Mashlib% filename%

Input contour

Mashlib% filename%

Signed distance map. Inner points have negative value white – the most “inner” point

Mashlib% filename%

Unsigned distance map. Inner points have positive value white – the most “inner” point

Distance Map iso-lines

Finds iso-line contour on distance map of any kind.

Mesh – distance map visualization
Red line – input contour
Blue lines – iso-lines

Mashlib% filename%

Distance Map merge

Merge min, max or subtraction of distance maps

Mashlib% filename%

Distance map A

Mashlib% filename%

Distance map B

Mashlib% filename%

Merge Maximum (intersection)

Mashlib% filename%

Merge Minimum (union)

Voxel-based algorithms

Voxels

Voxel object presents 3D grid in space (visualized via Iso surface). The Picture demonstrates dense voxels and its slice.

Mashlib% filename%

Semi-automatic segmentation

The picture demonstrates separation of tooth from the skull voxels.

Mashlib% filename%

CT-Reconstruction algorithm

CT-Reconstruction algorithm implementation allows you to obtain dense volumes (voxel data) from a number of radiograph images. Voxel data generated by CT-Reconstruction

Mashlib% filename%

Point cloud algorithms

Points Sampling

Sampling – algorithm for taking representative subset of points. Uniform and grid sampling are implemented.

Mashlib% filename%

All points

Mashlib% filename%

Sampled points

Points Triangulation

Creating mesh from point cloud

Mashlib% filename%
Mashlib% filename%

Other features

Mashlib% filename%

3D Viewer: Hierarchical object model for scene description

Mashlib% filename%

3D Viewer: History stack

Mashlib% filename%

3D Viewer: Feature search

Mashlib% filename%

3D Viewer: Customizable viewports

Mashlib% filename%

Visualization Features

Mashlib% filename%

Python scripting

Join MeshLib Dev Community!

Having questions?

Mashlib% filename%