Repolode
CNCKitchen

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 InspectPC-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. 1

    Open the live app at scanruler.com (nothing to install)

  2. 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

#3d-scanning#metrology#cad#deviation-analysis#reverse-engineering#wall-thickness#mesh-processing#webgl

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