The MeshSDK is an open-source library that provides advanced algorithms for 3D data processing. It assists developers and engineers in achieving precise results while delivering significant resource savings. Whether you are working on 3D printing, scanning, inspection, automation, robotics, scientific visualization, or medical devices, our 3D data processing library is ideally suited to meet your needs thanks to its potent capabilities and broad applicability. The SDK provides a robust foundation for 3D data processing, supporting all essential formats like point clouds, meshes, and volumes continuously generated by modern sensors. Our powerful half-edge data structure ensures manifold compliance for precise, reliable mesh representation. Plus, our repository includes clear code samples to help you get started quickly and explore advanced features with ease.
Fully Open Source. You can also fork the code for your own unique use cases.
Multi-Language Support. Written in C++ with bindings for C, C#, and Python, our library integrates easily into AI pipelines and workflows.
High Performance. Internal benchmarks show up to 10x faster execution compared to alternative SDKs — especially in mesh boolean operations and simplification.
GPU-Accelerated Architecture. Built with speed and scalability in mind, MeshSDK supports GPU acceleration and CUDA for high-performance computing.
Cross-Platform Ready. The SDK runs on Windows, macOS, Linux, and WebAssembly, offering flexibility for any development environment.
Developer Support. Get timely assistance from our responsive support team for integration, usage, or troubleshooting.
Flexible Integration. Use our toolkit as a standalone engine with UI components, or integrate selected algorithms into existing applications with minimal dependencies.
- 3D Boolean performs fast, highly optimized mesh- and voxel-based operations.
- Mesh Repair eliminates self-intersections, fills holes, and removes degeneracies.
- Mesh Offsetting controls surface thickness with multiple precise modes for 3D printing and machining.
- Hole Filling fills flat and curved surfaces, connects or separates holes, and builds bridges.
- Mesh Simplification optimizes mesh complexity while keeping details within set tolerance. We provide remeshing, and subdivision options as well.
- Collision Detection verifies intersections between models for further operations.
- Extensive File Format Support enables importing a wide range of file formats for meshes, point clouds, CT scans, polylines, distance maps, and G-code. Export functionalities—and support for color and texture data—are available for select formats, too.
- Triangulation converts point clouds into meshes with accurate normal creation.
- ICP precisely aligns meshes using point-to-point and point-to-plane transformations.
- Segmentation performs semi-automatic segmentation based on curvature for meshes and voxels.
- Deformation applies Laplacian, freeform, and relaxation smoothing for fine mesh adjustments.
- Support of Distance Maps and Polylines allows to generate distance maps and iso-lines and performs projection and intersection.
Install emscripten toolkit:
# Fetch the latest version of the emsdk (not needed the first time you clone)
git pull
# Download and install the latest SDK tools.
# ./emsdk install latest # ⚠️
./emsdk install 4.0.10
# Make the "latest" SDK "active" for the current user. (writes .emscripten file)
# ./emsdk activate latest # ⚠️
./emsdk activate latest
# Activate PATH and other environment variables in the current terminal
source ./emsdk_env.sh
Build source code:
git submodule update --init
./scripts/build_thirdparty.sh
./scripts/build_source.sh
`docker compose up --build meshsdk-emscripten-build`
`docker compose up meshsdk-emscripten-build`
`docker compose up meshsdk-emscripten-build -d`
`docker compose --profile singlethreaded up meshlib-emscripten-build-singlethreaded`
`docker compose --profile wasm64 up meshlib-emscripten-build-wasm64`
#
# To run custom build commands:
#
`docker compose exec meshsdk-emscripten-build bash`
`docker compose exec meshsdk-emscripten-build-singlethreaded bash`
`docker compose exec meshsdk-emscripten-build-wasm64 bash`
- Git
- Install Git to manage repositories and submodules, which is also required to install
vcpkg
.
- Visual Studio 2019 or 2022
- Download and install either Visual Studio 2019 or 2022. During installation, make sure to:
- Select the "Desktop development with C++" workload.
- Include support for the C++ programming language.
- Ensure the English language pack is installed (required for
vcpkg
).
- CUDA Toolkit
- For Visual Studio 2019: Install CUDA v11.4
- For Visual Studio 2022: Install CUDA v12.0 Choose the appropriate version based on your Visual Studio installation.
- vcpkg
- To install
vcpkg
, follow these steps:
- Open a command prompt (CMD) or PowerShell window.
- Navigate to a directory where you want to install
vcpkg
:
cd C:\path\to\your\desired\directory
- Clone the
vcpkg
repository:
git clone https://github.com/microsoft/vcpkg.git
- Navigate to the
vcpkg
directory:
cd vcpkg
git checkout 2024.10.21
If you're using Visual Studio 2022, you can use the latest version of vcpkg:
git checkout 2025.04.09
The version 2024.10.21
is required only for compatibility with Visual Studio 2019.
5. Run the bootstrap script to build the vcpkg
executable:
bootstrap-vcpkg.bat
- Integrate
vcpkg
with Visual Studio (requires Administrator access):
vcpkg integrate install
Learn more about vcpkg
The following steps will require approximately 40 GB of disk space.
- Clone the Submodules:
git submodule update --init
# or
git submodule update --init --recursive
- (Optional) Speed Up with AWS CLI
- Optionally, install AWS CLI v2 to speed up the process before using the Installation Script. Restart your terminal after installation.
- Install Third-Party Dependencies
- Execute the following commands to run the third-party installation script:
cd vcpkg
..\meshsdk\thirdparty\install.bat
- This script automates the installation of necessary third-party dependencies.
- Build and Run Visual Studio Solution
- Open
meshsdk/source/MeshLib.sln
in Visual Studio. - Build the solution and run the application.
- Build and Run CMake Project
- Make sure you have the "C++ CMake tools for Windows" component installed.
- Open
meshsdk/CMakeLists.txt
in Visual Studio (File - Open - CMake). - Build the project and run the application.
Install with npm or yarn:
npm install @alpinebuster/meshsdk
yarn add @alpinebuster/meshsdk
For Python, simply install via pip:
pip install meshlib
Here, you can access our Non-Commercial Free License with a Commercial License Requirement. Also, see license.