%MPF 17 N0040 R10=300 ( Starting Angle ) N0050 R22= R10 N0060 R23=360 N0070 R11=80 ( Angle Span ) N0080 R12=5 ( Angle Step ) N0090 R13=25.00 ( Stock diameter ) N0100 R14=10.00 ( End Mill Diameter ) N0110 R15=18.00 ( Spanner AF size ) N0120 R16= R15/2 ( Half Spanner AF ) N0130 R18= R11/2 N0140 R19=0 ( source of zero ) N0150 R20=-1 N0160 R21= R10+ R11 ( max angle ) N0170 R17= R18 * R20 N0180 R2= R14+ R15 ( Form D+R term ) N0190 R1= R13+15 ( Stand clear of bar ) N0200 G71 G94 ( Metric Feed MM ) N0210 L54 ( Go to safe toolchange posn ) N0220 T9 D9 ( 10 mm 4 flute endmill ) N0230 @714 ( wait for buffer to clear ) N0240 M23 ( Power Tooling Anticlockwise ) N0250 S1000 ( 1000 rpm ) N0260 G00 Z-5 N0270 G00 X= R1 N0280 M20 ( Rotate to Target Angle ) N0290 M19 S= R22 N0300 @714 ( Wait for buffer to clear ) N0310 @631 R3 R17 ( Form cosine of angle in R17 ) N0320 R4= R2/ R3 ( divide d+r by cosA ) N0330 @125 R4 R19 K350 ( Skip forming modulus ) N0340 R4= R4 * R20 N0350 G01 X= R4 F100 ( perform the cut ) N0360 R17= R17+ R12 N0370 G00 X= R1 ( stand clear of bar ) N0380 R10= R10+ R12 ( Calculate next Target Angle ) N0390 R22= R10 N0400 @124 R22 R23 K420 N0410 R22= R22-360 ( Avoid targets bigger than 360 ) N0420 @123 R10 R21 K-280 ( Loop Back if Span not exceeded ) N0430 M25 (Stop power tooling) N0440 M30