OK Brett, you are up. You want a button script and a M6 version.
Button version, Edit this into a button of your choice. It will use the positions you entered into the Tool Change Position DROs (note they need to be in Machine Coord Positions). It also takes the current feed rate and saves it. Z will retract up to the set position then y then Z. THis will give you a general path direction that it will always follow. The feedrate is set to 100 you can edit that to your choice. When it gets to the TCP it resets the feedrate to the previous setting and returns to the current Coordinate system.
Note: You use this code at your own risk, Always pretest any code before using it in normal use. There can be errors. Machine damage can occur with bad code. Death or injury of the operator can occur with bad code.
(;-) TP
Note: To stop a button operation normally the " ESC" key stops a macro, BUT there can be a delay to stopping due to Buffering of the code.
Xtcp= GetUserDro (1200)
Ytcp= GetUserDro (1201)
Ztcp= GetUserDro (1202)
Feed= GetDRO(18)
MSGBOX " You are moving to the TCP, make sure path is clear" 'Warning you it is about to move
Code"G1 F100" ' Feedrate You can change this to your choice just change the number after the F or just use a G0 instead of G1
Code"G53 Z"&Ztcp
While IsMoving
Wend
Code"G53 Y"&Ytcp
While IsMoving
Wend
Code"G53 x"&Xtcp
While IsMoving
Wend
Setdro(18,Feed)