Aqui está a sua macro:
Sub Main()
DoOEMButton (169)
Diafuro = Abs(GetUserDRO (1074))
ToolDia = Abs(GetUserDRO (1075))
ToolRad = ToolDia / 2
XCenter = GetUserDRO (1071)
YCenter = GetUserDRO (1072)
ZStart = GetUserDRO (1077)
Feed = Abs(GetUserDRO (1082))
Depth = Abs(GetUserDRO (1080))
Holes = Abs(GetUserDRO (1076))
Centros = Abs(GetUserDRO (1073))
' test inputs
If Feed = 0 Then
Code "(MSG,Avanço não pode ser zero)"
Exit Sub
End If
If ZStart = 0 Then
Code "(MSG,Altura não pode ser zero)"
Exit Sub
End If
If ToolDia = 0 Then
Code "(MSG,Diametro da ferramenta não pode ser zero)"
Exit Sub
End If
If ToolDia > Diafuro - 2 * Depth Then
Code "(MSG,Diam. Ferramenta > Diam. Furo)"
Exit Sub
End If
OpenTeachFile "peça.pie"
XStart = XCenter + (Diafuro / 2) - ToolRad
YStart = YCenter
Code "G0 G49 G40 G17 G80 G50 G90 G21"
Code "F" & Feed
Code "M03"
For i = 0 To Holes - 1
X = XStart + (i * Centros)
XArc = XCenter + (i * Centros)
Code "G00 Z" & ZStart
Code "G00 X" & X & " Y" & YStart
Code "G01 Z-" & Depth & " F" & (Feed/4)
Code "G02 X" & X & " Y" & YStart & " I" & Round((Xarc - X), 4) & " J0" & " F" & Feed
Code "G00 Z" & ZStart
'Code "G00 X" & XArc & " Y" & YCenter
Next i
Code "M5 M9"
Code ("M30")
CloseTeachFile
Call LoadTeachFile()
End Sub