Option Explicit
Dim TorchHeight, SwitchTravel, PierceDelay,TCutHeight
PierceDelay = getUserDRO (1001)
code "g31z-1"
While IsMoving()
Wend
TorchHeight = GetUserDRO(1000)
SwitchTravel = GetUserDRO(1002)
TCutHeight = (getUserDRO (1003) + SwitchTravel)
code "G92Z0"
code "G1Z" & (SwitchTravel + TorchHeight)
While IsMoving()
Wend
DoSpinCW()
code "G4 P" & (PierceDelay)
code "G1Z" & (TCutHeight )
TorchHeight = 0
SwitchTravel = 0
Probabilmente è da mettere a posto, puoi fare delle prove.
Nel portatile parte ma non avendo nessun contatto da chiudere la z continua a scendere senza fermarsi.
Si potrebbe aggiungere:
una righa che controlli il referenziamento degli assi,
Una riga di errore se il probe non chiude il contatto,
La F per l'asse Z,
Bisogna capire come

Non lo voglio provare nel pc dedicato al pantografo, cerco di tenerlo pulito il più possibile.