Here's a program to cut holes in a piece of 6" wide stock to hold R8 tooling. Makes use of switching from G90 to G91 and back.
:Cut holes in 6" channel for R8 holders
(*BLEC'*',CMST';',CNDL3,CNDR4,ZRSP0,PDOF0.05,FDOV0*)
%count = 0 *;counter for looping
; Circle - Coordinate Start Point Type
G90 G40 F2.0 *; ABSOLUTE,NO CUTTER COMP, FEED RATE
T01 *; TOOL 1
%LOOP: *;loop to here
%count = %count + 1
G73 Y 1.0 Z-0.50 Q 0.060 F 2.0 *; DRILL HOLE AT 0,1
G00 Z -0.5 *; BACK TO BOTTOM OF HOLE
G01 G91 G42 T 01 X0.0 Y0.485 *; INCREMENTAL,CUTTER COMP RIGHT,TOP OF CIRCLE
G02 X0.0 Y 0.0 I 0.0 J -0.485 F 4.0 *;CIRCLE, change radius line up also for new size
G90 G40 G00 Z0.0 *;ABSOLUTE,,NO CC,RAPID UP
G73 Y 3.0 Z-0.50 Q 0.060 F 2.0 *; DRILL HOLE AT 0,1
G00 Z -0.5 *; BACK TO BOTTOM OF HOLE
G01 G91 G42 T 01 X0.0 Y0.485 *; INCREMENTAL,CUTTER COMP RIGHT,TOP OF CIRCLE
G02 X0.0 Y 0.0 I 0.0 J -0.485 F 4.0 *;CIRCLE, change radius line up also for new size
G90 G40 G00 Z0.0 *;ABSOLUTE,,NO CC,RAPID UP
G73 Y 5.0 Z-0.50 Q 0.060 F 2.0 *; DRILL HOLE AT 0,1
G00 Z -0.5 *; BACK TO BOTTOM OF HOLE
G01 G91 G42 T 01 X0.0 Y0.485 *; INCREMENTAL,CUTTER COMP RIGHT,TOP OF CIRCLE
G02 X0.0 Y 0.0 I 0.0 J -0.485 F 4.0 *;CIRCLE, change radius line up also for new size
G90 G40 G00 Z0.0 *;ABSOLUTE,,NO CC,RAPID UP
G00 Y0.0 *;BACK TO HOME
G91 G00 X2.0 *;INCREMENTAL, MOVE 2.0 FOR NEXT ROW OF HOLES
IF (%COUNT LE 10) GOTO %LOOP *;LOOP 10 TIMES |