The screenshot below doesn't look like much but represents way too much work.
I recently finished my probe. Here's a shot of it mounted on the router
After getting the probe to work. I ran gridprobe.ngc from the example files that come with emc2. The file can be edited to control the range of the scan and the size of each incremental step. I set up the file to probe the surface of the router at 1 inch increments in both the X and Y direction. The output of the scan is a list of XYZ coordinates in an ASCII file.
This Guy has a couple scripts for blender that are very handy. One imports a CSV file and the other 'skins' the resulting point cloud by creating faces for the vertices.
The output from the scan had to be edited into a CSV but that was easy. After experimenting with the settings for the skinning script I had a mesh which I exported to an .STL file and brought into HeeksCAD. Voila. A perfect scan of an almost flat surface.
Next up: Try it with something more interesting.
Dan Heeks has recently rewritten the zigzag operation of HeeksCNC to use the opencamlib library instead of pycam. This is a huge improvement in speed. Just messing around, I designed this spider in blender and exported the .STL file. I went ahead and cut it on the router in blue styrofoam.
Here's the stl file if you're interested.