A TypeScript/JavaScript SDK and CLI for reading, editing, optimizing and writing glTF 2.0 3D models on Node.js and the Web.
CNCKitchen/ScanRuler
Browser-based tool for checking 3D and flatbed scans against CAD: fit features, measure, compare deviation, and reverse engineer into STEP.
Open-source alternative to:GOM Inspect
PC-DMIS
- Stars
- 956
- Forks
- 174
- Open issues
- 49
- Last commit
- 3 days ago
What is it?
ScanRuler is a browser-based workbench for measuring and checking 3D scans. It fits spheres, cylinders, cones, tori, planes and circles to a scan, builds points, lines and planes from those fits, and adds distance, angle and GD&T dimensions between them. A deviation workspace best-fits a scan onto a nominal mesh or STEP part and paints the signed difference across the surface.
Other workspaces cover wall thickness mapping, 2D measurement of flatbed images and section cuts with edge detection, export of results as SVG, DXF, CSV or STEP, and a Reverse engineer workspace that builds solid STEP bodies from sketches, extrusions and feature operations. A Mesh Tools workspace cleans, edits and reduces meshes. Files are processed locally in the browser, and an optional MCP server lets a local AI agent drive the open tab.
Key features
- 01Fits spheres, cylinders, cones, tori, planes and circles to scan data with form error.
- 02Measures distances, angles and GD&T between fitted elements, with tolerances.
- 03Paints signed deviation of a scan against a CAD mesh or STEP part.
- 04Maps wall thickness across a single scan.
- 05Measures flatbed images and section cuts at subpixel edge accuracy.
- 06Exports measurements as STEP, SVG, DXF and CSV.
- 07Runs entirely in the browser, with an optional local MCP server for AI agents.
Use cases
- Checking a 3D-printed or machined part against its CAD model.
- Measuring a ball bar or fixture to verify hole and feature distances.
- Mapping wall thickness of a cast or moulded housing.
- Reverse engineering a worn or unavailable part into an editable STEP solid.
Quick start
- 1
Open the live app at scanruler.com (nothing to install)
- 2
Optional: add the MCP helper to Claude Code so an AI agent can drive the app
claude mcp add --scope user scanruler -- npx -y scanruler-mcp@latest
Things to know
- Licensed under AGPL-3.0, a copyleft license that requires sharing source when modified and hosted.
- With an AI agent connected, the agent's model provider receives your measurements, file names and pictures of the part.
- The agent helper needs Node.js 22 or newer and Chrome, Edge or Firefox.
Topics
FAQ
- What is ScanRuler?
- Browser-based tool for checking 3D and flatbed scans against CAD: fit features, measure, compare deviation, and reverse engineer into STEP. ScanRuler is a browser-based workbench for measuring and checking 3D scans. It fits spheres, cylinders, cones, tori, planes and circles to a scan, builds points, lines and planes from those fits, and adds distance, angle and GD&T dimensions between them. A deviation workspace best-fits a scan onto a nominal mesh or STEP part and paints the signed difference across the surface.
- Is ScanRuler free to use? What license does it have?
- ScanRuler is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
- Is ScanRuler still maintained?
- Actively maintained. The last commit to ScanRuler was on Nov 4, 2026.
- What can I use ScanRuler for?
- Checking a 3D-printed or machined part against its CAD model. Measuring a ball bar or fixture to verify hole and feature distances. Mapping wall thickness of a cast or moulded housing. Reverse engineering a worn or unavailable part into an editable STEP solid.
- How do I install ScanRuler?
- Open the live app at scanruler.com (nothing to install) Optional: add the MCP helper to Claude Code so an AI agent can drive the app: claude mcp add --scope user scanruler -- npx -y scanruler-mcp@latest
- Where can I get ScanRuler?
- The source code and installation instructions are on GitHub: https://github.com/CNCKitchen/ScanRuler
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Cross-platform C++ SDK for Intel RealSense depth cameras, providing depth and color streaming plus intrinsic and extrinsic calibration data.
Free, open-source Blender add-on that automatically retopologizes dense meshes and scans into all-quad low-poly meshes, part by part.
C/C++ library that loads 40+ 3D file formats into one unified in-memory data structure, with mesh post-processing tools.
C/C++ library for optimizing triangle meshes to render faster on GPUs and to shrink mesh storage and transmission size.
A free, cross-platform CAD program for designing virtual LEGO models, built on the LDraw parts library.