Maybe this could be of interest. Some time ago I have started to play with laser measuring probe, mounted on the head of my 5 axis router running with Mach3. Mainly to do 3D digitizing and tracing. The probe I have is Micro Epsilon NCDT1401 (quite expensive). It has range of 100mm, it’s claimed linearity is +/-0.2mm and resolution +/-0.01mm. This is reasonably independent of the target flatness, so to some extent it is possible to get contours of the shape, by simply stepping over the shape and getting reading at given intervals. This is bit faster then using touch probe. But Z is limited by the probe range.
By adding a PC camera this allowed observing the laser spot. (It was good move when cross hair was added in Mach3, rather then me having to use a piece of Plexiglas in front of the camera with cross hair scratched into it.) This allows manually jogging over the target and picking up the coordinates. By lowering the head to get the same reference reading from the laser probe one gets XYZ coordinates of each point while tracing over specific contours. This way Z coordinate is no longer limited to the laser range. This is possible even on the 5 axis head, where the head is tilted also in A and C angles. This way I have managed to digitized a 5 axis trimming path. Laser probe is useful, where its distance reading would represent the position or the length of the trimming tool. Again much faster then what I have seen on other routers, trying to see tool location by eye (and in the process often breaking the tool).
My next experiment is to eliminate the expensive laser probe, just using the inexpensive pointing laser mounted vertically and PC camera mounted at 45 degrees, one should be able to get XYZ coordinates when one can see the laser spot aligned with the crosshair in the camera. There may be some loss off accuracy, but I will let you know how I went.