hoopy this is what I posted a few weeks ago.

In Mach 3 go to Operator down to edit button script click it then go to Auto tool Zero that should be flashing click on it and a Hidden script comes up copy what is in there and save.

This is the code that was running my machine and my friends using a tool touch off plate, you will need to paste into the macro but put your own numbers in then save and shut down.

To save any embarrassment put your touch plate on a block of wood say 50mm high touch off then move the block of wood to one side and "go to Zero" move block back under to check if it okay you might have to make some small adjustments to the figures.

Hope it helps copy the below Phill

'VB Code Start
'-------------------
CurrentFeed = GetOemDRO(818)
DoSpinStop()

ZMove = 100.00 'Total lenght of Probe to move before Stop or no Contact Made.
ZOffset = 8.60 ' Plate Hight
ZSal = ZOffset + 20.00 '+ Free Hight, Will possition the Proble 20 MM over the Material.

StopZmove = 0
If GetOemLed (825)=0 Then
DoOEMButton (1010)
Code "G4 P2.5"
Code "G31 Z-"& ZMove & "F200"
While IsMoving()
Sleep(200)
Wend
Probepos = GetVar(2002)
If Probepos = - ZMove Then
responce = MsgBox ("**ERROR** " , 4 , "Probe **ERROR**" )
Code "G0 Z10"
StopZmove = 1
Code "F" &CurrentFeed
End If
If StopZmove = 0 Then
Code "G0 Z" & Probepos
While IsMoving ()
Sleep (200)
Wend
Call SetDro (2, ZOffset)
Code "G4 P1"
Code "G0 Z" & ZSal
Code "(Z zeroed)"
Code "F" &CurrentFeed
End If
Else
Code "(Check Ground Probe)"
End If
Exit Sub
'-------------------
'VB Code Stop