yo pase por la misma situación, yo en mi caso lo que hice primero que nada fue modificar el screenset original y agregar unos campos para introducir el tiempo de precalentamiento manualmente asi como la altura para la perforacion, la altura durante el corte y la altura durante el movimiento antes de cortar la siguiente pieza, luego lo que hize fue modificar el archivo macro M3.m1s que en mi caso es el que enciende el oxígendo para el corte y le puse el siguiente código:
DRO1 = GetUserDRO(2222)
DRO2 = GetUserDRO(2223) * 1000
Z = GetOemDRO (802)
If Z > 0.001 Then
code ("G00 Z-2")
End If
code ("G04 P" & DRO1)
While IsMoving()
Wend
ActivateSignal(OUTPUT1)
Sleep (DRO2)
y en el archivo macro m5.m1s que en mi caso apaga el oxigeno de corte puse lo siguiente:
DeactivateSignal(OUTPUT1)
De este modo lo que yo hacia era solo escoger el home o punto de inicio y establecer la altura de corte con las teclas del teclado y luego le daba inicio así de este modo los macros bajaban la antorcha x cantidad de unidades para un rápido precalentamiento, luego levantaba la antorcha justo en el momento de perforar y a continuación la baja de nuevo a la altura que había establecido antes del corte y esa es la altura que utiliza para todo el corte, también con este macro se puede saltar el tiempo de precalentamiento en cualquier momento dándole clic al botón Cycle Start en el momento que sea.
Este es mi screenset: