@peteupshall I do XYZ probing on my milling machine.
A - I have a physical endstop for each axis (XYZ) that lets me set a physical origin. These, with config.g settings, are used to set up the physical bounds for the machine.
B - when milling I use the XYZ probing to set the stock origin.
I've considered using XYZ probing to set the physical origin and boundaries but really there's no easy way to do that initial probe automatically without endstops so never bothered setting it up.
There's a writeup in my personal wiki (with script for the probe and results of physical tests) here: http://eadia.com/pmwiki.php?n=Taig.Probing
Mark
My Globals settings for the probe->
; global <new-variable-name> = <expression>
; touchpad center and height
global TouchX = 15
global TouchY = 84
global TouchZ = 13.125 ; the touchpad Z offset from ground
; speeds for probing
global ProbeFastZ = 400
global ProbeFastXY = 300
global ProbeSlowZ = 200
global ProbeSlowXY = 50
Here's my Z probe code (I use the bed location usually, so) ->
G53 G0 X{global.TouchX} Y{global.TouchY}
G30 S-1 ; lower z until the metal probe is hit
G10 L20 P2 Z{global.TouchZ} ; Z = 0 + puck height in second coord system
G1 Z38 F600 ; raise z one inch
Here's my X probe current code (with a 1/4" bit)
; probe with 1/4" bit
m98 P"0:/macros/Finders/FindXPlus.g" d0.25
And the submacro:
var dir = 0
var movs = -2
var multip = -12.7
if {exists(param.S)}
set var.dir = param.S
if { var.dir == 1 }
set var.movs = 2
set var.multip = 12.7
if {exists(param.D)}
G91 ; relative moves
m585 S{var.dir} X-50 F{global.ProbeFastXY} P0 ; probe until contact X
G10 L1 X0 Y0 ; reset the tool offset created by m585
G1 X{var.movs} F{global.ProbeFastXY} ; back off
m585 S{var.dir} X-50 F{global.ProbeSlowXY} P0 ; probe until contact X
G10 L1 X0 Y0 ; reset the tool offset created by m585
G10 L20 P2 X{param.D * var.multip} ; subtract half the bit diameter
G1 X{var.movs} F{global.ProbeFastXY} ; back off
G90 ; absolute moves
;G1 X-12 F600 ; back off
else
M117 FindXGen requires a D(iameter) parameter