Yo estoy igual que Michel, no se cual es tu problema realmente, que se te mueve el x y el z ?

Un saludo.
Hola anino el problema es que no se posiciona el eje A, que es el cambiador , a la herramienta solicitada imagínate pido la T5, eje X y Z se posicionan a 0.02mm (PRIMERA PARTE DE LA MACRO) y ya esta el eje A ni se cosca a que posición tiene que ir, que seria a A180.0 que es la ubicación de la T5.
Code"G53 X0.2" 'Mover ejes a posición
While Ismoving()
Wend
Code"G53 Z0.2"
While Ismoving()
Wend
Michel, esta parte es donde esta ubicadas las herramientas desde la T1 a la T8 en grados, y por comparación la macro busca la herramienta y te posiciona el eje A, el =1 ten se refiere a la T1, así sucesivamente.
If GetCurrentTool() = 1 then ' Verificar herramienta#
Code"G0 A0.000" ' mover a posición
While Ismoving() 'esperar a que el movimiento se detenga
Wend
End If
If GetCurrentTool() = 2 then
Code"G0 A45"
While Ismoving()
Wend
End If
If GetCurrentTool() = 3 then
Code"G0 A90"
While Ismoving()
Wend
End If
If GetCurrentTool() = 4 then
Code"G0 A135"
While Ismoving()
Wend
End If
If GetCurrentTool() = 5 then
Code"G0 A180"
While Ismoving()
Wend
End If
If GetCurrentTool() = 6 then
Code"G0 A225"
While Ismoving()
Wend
End If
If GetCurrentTool() = 7 then
Code"G0 A270"
While Ismoving()
Wend
End If
If GetCurrentTool() = 8 then
Code"G0 A315"
While Ismoving()
Wend
End If
End
No se explicarlo mejor, pero funciona así, luego faltarían las señales de seguridad que si piston adelante o atrás, el 0 cargador, pero no lo e puesto para no liarlo.
Saludos y gracias