/MeshLib

Mesh processing library

Primary LanguageC++OtherNOASSERTION

build-test-distribute PyPI version Python Downloads

Shows a black logo in light color mode and a white one in dark color mode.

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.