Sub Main()'InputDoOEMButton (169)Xpos= GetOEMDRO (1000) 'X positionYpos = GetOEMDRO (1001) 'Y PositionN = GetOEMDRO (1002) 'Number of holesD= GetOEMDRO (1008) 'Dia. of Bolthole CircleZ =Formatnumber(ABS( GetOEMDRO (1004))*-1,4) 'Depth of holesA = GetOEMDRO (1003) 'StartangleQ = Formatnumber(ABS(GetOEMDRO (1005)),4)  'Peck DepthR = Formatnumber(GetOEMDRO (1006),4) 'Rappid planeF = Formatnumber(GetOEMDRO (1007),2) 'FeedrateSpeed = GetOEMDRO (1080) 'spindle speedTool = GetOEMDRO (1081) 'Tool Number'Test inputsif N<2 ThenCode "(MSG,Number of holes set wrong)"Exit SubEnd ifif D<=0 ThenCode "(MSG,Dia of bolt circle set wrong)"Exit SubEnd ifif Z=0 ThenCode "(MSG,Depth of hole can not be Zero)"Exit SubEnd ifif Q=0 ThenCode "(MSG,Peck depth can not be Zero)"Exit SubEnd ifif F<=0 ThenCode "(MSG,Feed set wrong)"Exit SubEnd ifNc = 0PI = 3.1415926535898A = (A*PI)/180B= 2*PI/NOpenTeachFile "cholepattern.tap"Code "G0 G49 G40  G17 G80 G50 G90 "Code "M6 T" & ToolIF GetUserLED(1000) ThenCode"G20 (Inch)"ElseCode "G21 (mm)"End ifIF GetUserLED(1024) ThenCode"M03 S"&speedElseCode "M04 S"&speedEnd ifIF GetUserLED(1020) ThenCode"M08"End ifCode "G90"Code "G00 G43 H" & tool & " Z" & RDo        X = Round (Xpos+(D/2)*Cos (A+B*Nc), 4)        Y = Round (Ypos+(D/2)*Sin (A+B*Nc), 4)        If Nc=0 Then         Call Drill_cycle(X,Y,Z,Q,R,F)                                   Else                 Code" X" & nFmt(X,4) & " Y" & nFmt(Y,4)          End IfNc = Nc+1Loop While (N-1) >= NcCode ("G80")Code"M5 M9"Code ("M30")CloseTeachFilecall LoadTeachFile()End SubSub Drill_cycle(X,Y,Z,Q,R,F)If GetUserLED (1010) thenCode "G81 X" & nFmt(X,4) & " Y" & nFmt(Y,4) & " Z" & Z & " R" & R & " F" & FEnd If If GetUserLED (1011) ThenCode "G83 X" & nFmt(X,4) & " Y" & nFmt(Y,4) & " Z" & Z & " Q" & Q & " R" & R & " F" & FEnd If If GetUserLED (1012) ThenCode "G73 X" & nFmt(X,4) & " Y" & nFmt(Y,4) & " Z" & Z & " Q" & Q & " R" & R & " F" & FEnd If End SubMain