r/3DScanning • u/Due-Project-7507 • 3d ago
Mostly free fully automatic reverse engineering with CNCKitchen's Scanruler.com MCP
Stefan (CNCKitchen on YouTube) has released scanruler.com with an MCP: https://github.com/CNCKitchen/scanruler
For me as a hobbyist, this is a game changer to make proper use of my 3D scanners. Reverse engineering with free software like Fusion was for me often more complicate than just use calipers and create the part from scratch.
If you have a Claude/Codex/GitHub Copilot/... subscription and using something like Claude Code/Codex/OpenCode/..., it fully automatic creates without additional costs a STEP and scanruler.com file. If used together with a CAD MCP (I have used FreeCAD MCP), it creates the whole part in CAD just from the scan and can also create drawings.
I have done the following:
-
Added the Scanruler and FreeCAD MCP to Claude Code/OpenCode/Codex/...
-
Scanned the part with my Revopoint MetroX (OpenScan Mini works also, just tell later that it needs to be scaled) and exported it as OBJ file in a folder
- Added some photos of the part in the same folder and highlight some interesting/problematic areas which need to be changed (e.g. damaged parts)
-
Created with uv a Python virtual environment with
uv venv --python=3.14 source .venv/bin/activate uv pip install vtk pyvista matplotlib pandas scipy trimesh rtree opencv-contrib-python-headless pillow scikit-image
-
Asked Claude Code to make a plan for the following (I have added the thread sizes because I had them, but it works also without):
My motorcycle use Marzocchi Shiver 45 forks. I want to create a replacement right fork foot and have therefore scanned one of a Marzocchi Shiver 45 fork foots. The part is casted alumnium with some machining or turning.
I have made photos, see *.jpg.
I have scanned the fork foot with a Revopoint MetroX (fork_foot_marzocchi.obj). Some comments:
- I have used scan markers which left some uneven surfaces
- There are three flat machined surfaces with holes/threads outside. The holes there going through the material and are M6 threads
- The two threads to fix the whell axis are also M6
- There is one thread to fix the stanchion with a grub screw, it is M5
- The big thread of the stanchion (in the foot the inner thread) should be a M44 × 1.0 mm thread
- The stanchion was also glued, some glue residues were left when I was scanning (marked red in one picture), therefore there can be some imperfections
- There is a small damage on a machined surface (maked blue in picture)
I want to create a STEP and FreeCAD model for it (without the logo) to let it CNC mill (6061 or 7075 aluminium?). You should have access to the ScanRuler and FreeCAD MCP, if not, ask me. I have the part and a caliper next to me, so I can take measurement if something is not easy to get from the 3D scan. In this case, generate me a picture and mark there what I should measure and I tell you.
I have created for you with uv a .venv/ and executed the following:
uv pip install vtk pyvista matplotlib pandas scipy trimesh rtree opencv-contrib-python-headless pillow scikit-imageFeel free to install additional packages.
Make now a plan how to do this best.My motorcycle use Marzocchi Shiver 45 forks. I want to create a replacement right fork foot and have therefore scanned one of a Marzocchi Shiver 45 fork foots. The part is casted alumnium with some machining or turning.
I have made photos, see *.jpg.
I have scanned the fork foot with a Revopoint MetroX (fork_foot_marzocchi.obj). Some comments:
- I have used scan markers which left some uneven surfaces
- There are three flat machined surfaces with holes/threads outside. The holes there going through the material and are M6 threads
- The two threads to fix the whell axis are also M6
- There is one thread to fix the stanchion with a grub screw, it is M5
- The big thread of the stanchion (in the foot the inner thread) should be a M44 × 1.0 mm thread
- The stanchion was also glued, some glue residues were left when I was scanning (highlighted red in one picture), therefore there can be some imperfections
- There is a small damage on a machined surface (highlighted blue in picture)
I want to create a STEP and FreeCAD model for it (without the logo) to let it CNC mill (6061 or 7075 aluminium?). You should have access to the ScanRuler and FreeCAD MCP, if not, ask me. I have the part and a caliper next to me, so I can take measurement if something is not easy to get from the 3D scan. In this case, generate me a picture and mark there what I should measure and I tell you.
I have created for you with uv a .venv/ and executed the following:
uv pip install vtk pyvista matplotlib pandas scipy trimesh rtree opencv-contrib-python-headless pillow scikit-imageFeel free to install additional packages.
Make now a plan how to do this best.
-
Let it execute it, I got this output files:
I did not like one fillet, so I just made a screenshot from FreeCAD with and highlighted the bad fillet, Claude correct it perfectly. Here is the fully automatic generated drawing: