CNCMill: Difference between revisions

From Traxel Wiki
Jump to navigation Jump to search
Line 228: Line 228:


== Round Pocket in Center ==
== Round Pocket in Center ==
<pre>
;; --------------------------------------
;; Round Pocket in Center (005)
;; --------------------------------------
G21 (set units to millimeters)
G90 (set measurements to absolute, relative to machine zero)
F500 (set feed speed to 500mm per minute, 0.025 mm per tooth)
T128 (tool with zero height and diameter)
G43 H128 (height offset zero)
G0 Z20 (traverse to 20mm above)
G0 X0 Y0 (traverse to starting point)
;; Rough Cut for Retainer
G0 Z5 (traverse to 5mm above part)
G1 Z-2 (2mm below surface)
G1 X5.75 Y0 (8.75mm R / 17.5 mm D)
G3 X5.75 Y0 I-5.75 J0 (circle about origin)
G0 X0 Y0
G1 Z-4 (4mm below surface)
G1 X5.75 Y0 (8.75mm R / 17.5 mm D)
G3 X5.75 Y0 I-5.75 J0 (circle about origin)
G0 X0 Y0
G1 Z-6 (6mm below surface)
G1 X5.75 Y0 (8.75mm R / 17.5 mm D)
G3 X5.75 Y0 I-5.75 J0 (circle about origin)
G0 X0 Y0
G1 Z-8 (8mm below surface)
G1 X5.75 Y0 (8.75mm R / 17.5 mm D)
G3 X5.75 Y0 I-5.75 J0 (circle about origin)
G0 X0 Y0
G1 Z-9 (9mm below surface)
G1 X5.75 Y0 (8.75mm R / 17.5 mm D)
G3 X5.75 Y0 I-5.75 J0 (circle about center)
G0 X0 Y0
;; Rough Cut for Bearing Cup
G0 Z5 (traverse to 5mm above part)
G1 Z-2 (2mm below surface)
G1 X7.75 Y0 (10.75mm R / 21.5 mm D)
G3 X7.75 Y0 I-7.75 J0 (circle about origin)
G0 X0 Y0
G1 Z-4 (4mm below surface)
G1 X7.75 Y0 (10.75mm R / 21.5 mm D)
G3 X7.75 Y0 I-7.75 J0 (circle about origin)
G0 X0 Y0
G1 Z-6 (6mm below surface)
G1 X7.75 Y0 (10.75mm R / 21.5 mm D)
G3 X7.75 Y0 I-7.75 J0 (circle about origin)
G0 X0 Y0
G1 Z-6.75 (6.75mm below surface)
G1 X7.75 Y0 (10.75mm R / 21.5 mm D)
G3 X7.75 Y0 I-7.75 J0 (circle about origin)
G0 X0 Y0
;; Finish Cut for Retainer
G0 X0 Y0 (traverse to origin XY)
F200 (set feed speed to 200mm per minute, 0.010 mm per tooth)
G1 Z-9 (feed to 9mm below part)
G1 X6 Y0 (9mm R / 18mm D)
G3 X6 Y0 I-6 J0 (circle about origin)
G0 X0 Y0
;; Finish Cut for Bearing Cup
G0 X0 Y0 (traverse to origin XY)
F200 (set feed speed to 200mm per minute, 0.010 mm per tooth)
G1 Z-7 (feed to 7mm below surface)
G1 X8.05 Y0 (11.05mm R / 22.1mm D)
G3 X8.05 Y0 I-8.05 J0 (circle about origin)
G0 X0 Y0
G0 Z20 (traverse to 20mm above)
M30 (end of program)
</pre>
== Perimeter Cut ==
<pre>
<pre>
;; --------------------------------------
;; --------------------------------------

Revision as of 05:25, 22 July 2022


Links

G-Code

This may be specific to Acorn CNC at HSL.

Comments

Comments are in parentheses.

G0X0Y0 (rapid traverse to origin - the traverse will be executed, but this parenthetical comment is ignored)

Active Units

G20 (set active units to inches)
G21 (set active units to millimeters)

Absolute v. Incremental

G90 (absolute measurements, relative to machine zero)
G91 (incremental measurements, relative to previous ending position)

Feeds

F sets the feed rate in the active units.

G20 (inches)
F15 (15 inches per minute)
G1 X0 Y0 (traverse to origin at 15 IPM) (spaces are optional)
G21 (millimeters)
F375 (375 mm per minute)
G1X0Y0 (traverse to origin at 375mmPM)

Straight Line Traversal

G0 is fast traversal. Careful not to run the tool into the part. Each axis is run at full speed until reaching its destination (ie: the tool follows multiple line segments, not an interpolated straight line).

G21 (set millimeters)
G90 (set absolute coordinates)
G0X3 (fast traverse the X axis to origin + 3 millimeters)
G0X1Y-2.6Z3 (fast traverse to { 1, -2.6, 3 } millimeters)
G0X0Y0Z0 (fast traverse to origin)
G0 X1 Y-2.6 Z3 (fast traverse to { 1, -2.6, 3} mm with spaces for readability)

Straight Line Cuts

G1 is an interpolated straight line from current position to the new position, moving at feed rate.

G21 (set millimeters)
G90 (set absolute coordinates)
F350 (set feed speed to 350mm per minute)
G0X0Y0Z0 (move to origin)
G1X10Y20Z-5 (move in a straight line from {0,0,0} to {10,20,-5} at 350mm per minute)

Plane Selection

G17, G18, G19 select XY, ZX, or YZ as the active plane.

Arc Cuts

G2 is a clockwise cut from the current position { X1, Y1, Z1 } to the destination at { X2, Y2, Z2 } about the center { X1 + I, Y1 + J, Z1 + K }.

G3 is counterclockwise.

If the active plane is XY, all three Z's must be the same and do not need to be specified. The same applies for ZX and Y, and for YZ and X.

Note: I, J, and K are always incremental measurements from X1, Y1, Z1

G17 (set plane to XY)
G90 (set absolute coordinates)
G1 X-1 Y0 Z0 (cut line to {-1, 0, 0 } at feed rate)
G2 X1 Y0 I1 J0 (cut arc to { 1, 0, 0 } about center at { -1 + 1, 0 + 0, 0 } )

Drill Array Pecking

TBD

Bearing Cup (new version)

Drill Ears

;; ------------------------------
;; Drill Ears (001)
;; ------------------------------
;; Use 1/2" x 2" rectangle 6061 T6, at least 28mm long.
;; Spindle RPM to 1200
;; Zero X to 14mm left of end
;; Zero Y to middle of material
;; Insert Appropriate drill bit (.166 for slip, M4-0.7 tap drill bit for threads)
;; Zero Z to shoulder of drill bit
;; Check H128 for zero offset
;; Check T128 for zero diameter

G21 (set units to millimeters)
G90 (set measurements to absolute, relative to machine zero)
F60 (set feed rate to 60mm per minute, 0.025 mm per tooth)
T128 (tool with zero height and diameter)
G43 H128 (height offset zero)

G0 Z20 (traverse to 20mm above part)

G0 X8 Y12.09 (traverse to screw hole center XY)
G0 Z5 (traverse to 5mm above)
G1 Z-5 (peck to 5mm deep)
G0 Z6 (retract to 6mm above)
G0 Z0 (traverse to 0mm above)
G1 Z-10 (peck to 10mm deep - top has not been faced yet)

G0 Z20 (traverse to 20mm above)

M30 (end of program)

Drill Center

;; ------------------------------------
;; Drill Center, Starter Bit (002)
;; ------------------------------------
;; Insert 5/16" or 8mm drill bit
;; Zero Z to shoulder of drill bit

G21 (set units to millimeters)
G90 (set measurements to absolute, relative to machine zero)
F60 (set feed rate to 60mm per minute, 0.025 mm per tooth)
T128 (tool with zero height and diameter)
G43 H128 (height offset zero)

G0 Z20 (traverse to 20mm above part)

G0 X0 Y0 (traverse to screw hole center XY)
G0 Z5 (traverse to 5mm above)
G1 Z-5 (peck to 5mm deep)
G0 Z6 (retract to 6mm above)
G0 Z0 (traverse to 0mm above)
G1 Z-10 (peck to 10mm deep - top has not been faced yet)

G0 Z20 (traverse to 20mm above)

M30 (end of program)
;; ------------------------------------
;; Drill Center, Final Bit (003)
;; ------------------------------------
;; Insert 1/2" or 13mm drill bit
;; Zero Z to shoulder of drill bit

G21 (set units to millimeters)
G90 (set measurements to absolute, relative to machine zero)
F60 (set feed rate to 60mm per minute, 0.025 mm per tooth)
T128 (tool with zero height and diameter)
G43 H128 (height offset zero)

G0 Z20 (traverse to 20mm above part)

G0 X0 Y0 (traverse to screw hole center XY)
G0 Z5 (traverse to 5mm above)
G1 Z-5 (peck to 5mm deep)
G0 Z6 (retract to 6mm above)
G0 Z0 (traverse to 0mm above)
G1 Z-10 (peck to 10mm deep - top has not been faced yet)

G0 Z20 (traverse to 20mm above)

M30 (end of program)

Face Part

;; ----------------------------------------
;; Face Part (004)
;; ----------------------------------------
;; Insert 6mm carbide square end mill
;; Set RPM to 5,000, 300 SFM
;; Zero Z to a grazing cut.

G21 (set units to millimeters)
G90 (set measurements to absolute, relative to machine zero)
F500 (set feed speed to 500mm per minute, 0.025 mm per tooth)
T128 (tool with zero height and diameter)
G43 H128 (height offset zero)

G0 Z20 (traverse to 20mm above part)

G17 (set XY coordinate system for arc cuts)

G0 X20 Y0.56 (traverse to outside part)
G0 Z5 (traverse to 5mm above part)
G1 Z0 (feed to grazing cut)
G1 X6.34 Y9.59 (feed to start of upper right ear)
G2 X6.34 Y9.59 I1.66 J2.5 (CW arc cut to same position about upper right ear)
G3 X-6.34 Y-9.59 I-6.34 J-9.59 (CCW arc cut to lower left ear about origin)
G2 X-6.34 Y-9.59 I-1.66 J-2.5 (CW arc cut to same position about lower left ear)
G3 X6.34 Y9.59 I6.34 J9.59 (CCW arc cut back to where we stared about origin)

G0 Z20 (traverse to 20mm above)
M30 (end of program)

Round Pocket in Center

;; --------------------------------------
;; Round Pocket in Center (005)
;; --------------------------------------
G21 (set units to millimeters)
G90 (set measurements to absolute, relative to machine zero)
F500 (set feed speed to 500mm per minute, 0.025 mm per tooth)
T128 (tool with zero height and diameter)
G43 H128 (height offset zero)

G0 Z20 (traverse to 20mm above)

G0 X0 Y0 (traverse to starting point)

;; Rough Cut for Retainer
G0 Z5 (traverse to 5mm above part)
G1 Z-2 (2mm below surface)
G1 X5.75 Y0 (8.75mm R / 17.5 mm D)
G3 X5.75 Y0 I-5.75 J0 (circle about origin)
G0 X0 Y0
G1 Z-4 (4mm below surface)
G1 X5.75 Y0 (8.75mm R / 17.5 mm D)
G3 X5.75 Y0 I-5.75 J0 (circle about origin)
G0 X0 Y0
G1 Z-6 (6mm below surface)
G1 X5.75 Y0 (8.75mm R / 17.5 mm D)
G3 X5.75 Y0 I-5.75 J0 (circle about origin)
G0 X0 Y0
G1 Z-8 (8mm below surface)
G1 X5.75 Y0 (8.75mm R / 17.5 mm D)
G3 X5.75 Y0 I-5.75 J0 (circle about origin)
G0 X0 Y0
G1 Z-9 (9mm below surface)
G1 X5.75 Y0 (8.75mm R / 17.5 mm D)
G3 X5.75 Y0 I-5.75 J0 (circle about center)
G0 X0 Y0

;; Rough Cut for Bearing Cup
G0 Z5 (traverse to 5mm above part)
G1 Z-2 (2mm below surface)
G1 X7.75 Y0 (10.75mm R / 21.5 mm D)
G3 X7.75 Y0 I-7.75 J0 (circle about origin)
G0 X0 Y0
G1 Z-4 (4mm below surface)
G1 X7.75 Y0 (10.75mm R / 21.5 mm D)
G3 X7.75 Y0 I-7.75 J0 (circle about origin)
G0 X0 Y0
G1 Z-6 (6mm below surface)
G1 X7.75 Y0 (10.75mm R / 21.5 mm D)
G3 X7.75 Y0 I-7.75 J0 (circle about origin)
G0 X0 Y0
G1 Z-6.75 (6.75mm below surface)
G1 X7.75 Y0 (10.75mm R / 21.5 mm D)
G3 X7.75 Y0 I-7.75 J0 (circle about origin)
G0 X0 Y0

;; Finish Cut for Retainer
G0 X0 Y0 (traverse to origin XY)
F200 (set feed speed to 200mm per minute, 0.010 mm per tooth)
G1 Z-9 (feed to 9mm below part)
G1 X6 Y0 (9mm R / 18mm D)
G3 X6 Y0 I-6 J0 (circle about origin)
G0 X0 Y0

;; Finish Cut for Bearing Cup
G0 X0 Y0 (traverse to origin XY)
F200 (set feed speed to 200mm per minute, 0.010 mm per tooth)
G1 Z-7 (feed to 7mm below surface)
G1 X8.05 Y0 (11.05mm R / 22.1mm D)
G3 X8.05 Y0 I-8.05 J0 (circle about origin)
G0 X0 Y0

G0 Z20 (traverse to 20mm above)
M30 (end of program)

Perimeter Cut

;; --------------------------------------
;; Round Pocket in Center (005)
;; --------------------------------------
G21 (set units to millimeters)
G90 (set measurements to absolute, relative to machine zero)
F500 (set feed speed to 500mm per minute, 0.025 mm per tooth)
T128 (tool with zero height and diameter)
G43 H128 (height offset zero)

G0 Z20 (traverse to 20mm above)

G0 X0 Y0 (traverse to starting point)

;; Rough Cut for Retainer
G0 Z5 (traverse to 5mm above part)
G1 Z-2 (2mm below surface)
G1 X5.75 Y0 (8.75mm R / 17.5 mm D)
G3 X5.75 Y0 I-5.75 J0 (circle about origin)
G0 X0 Y0
G1 Z-4 (4mm below surface)
G1 X5.75 Y0 (8.75mm R / 17.5 mm D)
G3 X5.75 Y0 I-5.75 J0 (circle about origin)
G0 X0 Y0
G1 Z-6 (6mm below surface)
G1 X5.75 Y0 (8.75mm R / 17.5 mm D)
G3 X5.75 Y0 I-5.75 J0 (circle about origin)
G0 X0 Y0
G1 Z-8 (8mm below surface)
G1 X5.75 Y0 (8.75mm R / 17.5 mm D)
G3 X5.75 Y0 I-5.75 J0 (circle about origin)
G0 X0 Y0
G1 Z-9 (9mm below surface)
G1 X5.75 Y0 (8.75mm R / 17.5 mm D)
G3 X5.75 Y0 I-5.75 J0 (circle about center)
G0 X0 Y0

;; Rough Cut for Bearing Cup
G0 Z5 (traverse to 5mm above part)
G1 Z-2 (2mm below surface)
G1 X7.75 Y0 (10.75mm R / 21.5 mm D)
G3 X7.75 Y0 I-7.75 J0 (circle about origin)
G0 X0 Y0
G1 Z-4 (4mm below surface)
G1 X7.75 Y0 (10.75mm R / 21.5 mm D)
G3 X7.75 Y0 I-7.75 J0 (circle about origin)
G0 X0 Y0
G1 Z-6 (6mm below surface)
G1 X7.75 Y0 (10.75mm R / 21.5 mm D)
G3 X7.75 Y0 I-7.75 J0 (circle about origin)
G0 X0 Y0
G1 Z-6.75 (6.75mm below surface)
G1 X7.75 Y0 (10.75mm R / 21.5 mm D)
G3 X7.75 Y0 I-7.75 J0 (circle about origin)
G0 X0 Y0

;; Finish Cut for Retainer
G0 X0 Y0 (traverse to origin XY)
F200 (set feed speed to 200mm per minute, 0.010 mm per tooth)
G1 Z-9 (feed to 9mm below part)
G1 X6 Y0 (9mm R / 18mm D)
G3 X6 Y0 I-6 J0 (circle about origin)
G0 X0 Y0

;; Finish Cut for Bearing Cup
G0 X0 Y0 (traverse to origin XY)
F200 (set feed speed to 200mm per minute, 0.010 mm per tooth)
G1 Z-7 (feed to 7mm below surface)
G1 X8.05 Y0 (11.05mm R / 22.1mm D)
G3 X8.05 Y0 I-8.05 J0 (circle about origin)
G0 X0 Y0

G0 Z20 (traverse to 20mm above)
M30 (end of program)

Perimeter Cut

Bearing Cup (old version)

Face Material (001)

Lightest possible grazing pass. Material is 12.7mm thick, I need 8mm of it, 3.175mm buried in the vise, leaving 1.525 mm to spare.

The end mill also will be clear of the vise in the Y axis, so going below the jaws in the Z axis is actually safe, but I'm shooting for a belt and suspenders.

;; ----------------------------------------------
;; Face Material
;; ----------------------------------------------
;; Zero X to right end
;; Zero Y to middle of material, 25.4mm from edge
;; Zero Z with 3" five-tooth indexable carbide facing mill
;; Set spindle speed to 500 RPM, 400 SFM, 6061-T6 with carbide allows 800.
;; Feed Speed 60mm per minute = 0.025 mm chip, 6061-T6 with carbide allows 0.05

G21 (set units to millimeters)
G90 (set measurements to absolute, relative to machine zero)
F60 (set feed rate to 60mm per minute)
G0 Z20 (traverse to 20mm above part)
G0 X50 Y0 (traverse to outside part)
G0 Z5 (traverse to 5mm above part)

G1 Z1 (feed to 1mm above part)

G1 X-347 (feed to left end, 6 minutes run time)
G0 Z20 (traverse to 20mm above part)
  • Update G1 Z1 to G1 Z0 and re-run.
  • Update G1 Z1 to G1 Z-0.1 and re-run.

Drill Center

Zero X to 13mm from short edge

Zero Y to 25.4mm from long edge (center of material)

Set spindle speed to 1200 RPM

Starter Center Drill (002)

Zero Tool Z Manually w/ 5/16 drill, zero Z to drill shoulder.

G21 (set units to millimeters)
G90 (set measurements to absolute, relative to machine zero)
G0 Z20 (traverse to 20mm above part)
G0 X0 Y0 (traverse to origin XY)
F60 (set feed rate to 60mm per minute, 0.025 mm per tooth)
G0 Z5 (traverse to 5mm above part)

G1 Z-6 (feed to 6mm deep)
G0 Z5 (retract to 5mm above)
G0 Z0 (traverse to 0mm above)
G1 Z-12 (feed to 12mm deep)
G0 Z20 (traverse to 20mm above)

Final Center Drill (003)

Zero Tool Z Manually w/ 1/2 drill, zero Z to drill shoulder.

G21 (set units to millimeters)
G90 (set measurements to absolute, relative to machine zero)
G0 Z20 (traverse to 20mm above part)
G0 X0 Y0 (traverse to origin XY)
F60 (set feed rate to 60mm per minute, 0.035 mm per tooth)
G0 Z5 (traverse to 5mm above part)

G1 Z-6 (feed to 6mm deep)
G0 Z5 (retract to 5mm above)
G0 Z0 (traverse to 0mm above)
G1 Z-9 (feed to 9mm deep)
G0 Z20 (traverse to 20mm above)

Drill Screw Holes

Drill Threaded Hole (004)

Use bit that came with M4-0.7 tap.

Zero Z to drill bit shoulder.

G21 (set units to millimeters)
G90 (set measurements to absolute, relative to machine zero)
G0 Z20 (traverse to 20mm above part)
G0 X9.5 Y9.5 (traverse to screw hole center XY)
F60 (set feed rate to 60mm per minute, 0.025 mm per tooth)
G0 Z5 (traverse to 5mm above)

G1 Z-5 (peck to 5mm deep)
G0 Z6 (retract to 6mm above)
G0 Z0 (traverse to 0mm above)
G1 Z-10 (peck to 10mm deep)
G0 Z6 (retract to 6mm above)
G0 Z0 (traverse to 0mm above)
G1 Z-9 (peck to 9mm deep)
G0 Z20 (traverse to 20mm above)

Drill Slip Hole (005)

Use .166" or 4.25mm bit.

Zero Z to drill bit shoulder.

G21 (set units to millimeters)
G90 (set measurements to absolute, relative to machine zero)
G0 Z20 (traverse to 20mm above part)
G0 X-9.5 Y-9.5 (traverse to screw hole XY)
F60 (set feed rate to 60mm per minute, 0.025 mm per tooth)
G0 Z5 (traverse to 5mm above)

G1 Z-5 (peck to 5mm deep)
G0 Z6 (retract to 6mm above)
G0 Z0 (traverse to 0mm above)
G1 Z-10 (peck to 10mm deep)
G0 Z6 (retract to 6mm above)
G0 Z0 (traverse to 0mm above)
G1 Z-9 (peck to 9mm deep)
G0 Z20 (traverse to 20mm above)

Arc Bore Center

Zero Tool Z w/ 6mm Square End Mill

Set spindle speed to 2600 RPM

Bearing Retainer (006)

G21 (set units to millimeters)
G90 (set measurements to absolute, relative to machine zero)
G0 Z20 (traverse to 20mm above part)
G0 X0 Y0 (traverse to origin XY)
F120 (set feed rate to 120mm per minute)
G0 Z5 (traverse to 5mm above part)

G1 Z1 (feed to 1mm above part)

(repeatable cut)
G1 X4.5 Y0 (feed to 1.5mm cut)
G2 X4.5 Y0 I-4.5 J0 (bore circle to same location around machine zero)
G1 X6 Y0 (feed to final size)
G2 X6 Y0 I-6 J0 (bore circle to same location around machine zero)
G1 X0 Y0 (feed to origin)
(repeatable cut)

G1 Z-2 (feed to 2mm below surface)

(repeatable cut)
G1 X4.5 Y0 (feed to 1.5mm cut)
G2 X4.5 Y0 I-4.5 J0 (bore circle to same location around machine zero)
G1 X6 Y0 (feed to final size)
G2 X6 Y0 I-6 J0 (bore circle to same location around machine zero)
G1 X0 Y0 (feed to origin)
(repeatable cut)

G1 Z-4 (feed to 4mm below surface)

(repeatable cut)
G1 X4.5 Y0 (feed to 1.5mm cut)
G2 X4.5 Y0 I-4.5 J0 (bore circle to same location around machine zero)
G1 X6 Y0 (feed to final size)
G2 X6 Y0 I-6 J0 (bore circle to same location around machine zero)
G1 X0 Y0 (feed to origin)
(repeatable cut)

G1 Z-6 (feed to 6mm below surface)

(repeatable cut)
G1 X4.5 Y0 (feed to 1.5mm cut)
G2 X4.5 Y0 I-4.5 J0 (bore circle to same location around machine zero)
G1 X6 Y0 (feed to final size)
G2 X6 Y0 I-6 J0 (bore circle to same location around machine zero)
G1 X0 Y0 (feed to origin)
(repeatable cut)

G1 Z-8 (feed to 8mm below surface)

(repeatable cut)
G1 X4.5 Y0 (feed to 1.5mm cut)
G2 X4.5 Y0 I-4.5 J0 (bore circle to same location around machine zero)
G1 X6 Y0 (feed to final size)
G2 X6 Y0 I-6 J0 (bore circle to same location around machine zero)
G1 X0 Y0 (feed to origin)
(repeatable cut)

G1 Z-9 (feed to 10mm below surface)

(repeatable cut)
G1 X4.5 Y0 (feed to 1.5mm cut)
G2 X4.5 Y0 I-4.5 J0 (bore circle to same location around machine zero)
G1 X6 Y0 (feed to final size)
G2 X6 Y0 I-6 J0 (bore circle to same location around machine zero)
G1 X0 Y0 (feed to origin)
(repeatable cut)

G0 Z20 (traverse to 20mm above part)

Bearing Cup (007)

G21 (set units to millimeters)
G90 (set measurements to absolute, relative to machine zero)
G0 Z20 (traverse to 20mm above part)
G0 X0 Y0 (traverse to origin XY)
F120 (set feed rate to 120mm per minute)
G0 Z5 (traverse to 5mm above part)

G1 Z1 (feed to 1mm above part)

(repeatable cut)
G1 X7.5 Y0 (feed to 1.5mm cut)
G2 X7.5 Y0 I-7.5 J0 (bore circle to same location around machine zero)
G1 X8.03 Y0 (feed to final size)
G2 X8.03 Y0 I-8.03 J0 (bore circle to same location around machine zero)
G1 X0 Y0 (feed to origin)
(end repeatable cut)

G1 Z-2 (feed to 2mm below surface)

(repeatable cut)
G1 X8.03 Y0 (feed to bore size)
G2 X8.03 Y0 I-8.03 J0 (bore circle to same location around machine zero)
G1 X0 Y0 (feed to origin)
(end repeatable cut)

G1 Z-4 (feed to 4mm below surface)

(repeatable cut)
G1 X8.03 Y0 (feed to bore size)
G2 X8.03 Y0 I-8.03 J0 (bore circle to same location around machine zero)
G1 X0 Y0 (feed to origin)
(end repeatable cut)

G1 Z-6 (feed to 6mm below surface)

(repeatable cut)
G1 X8.03 Y0 (feed to bore size)
G2 X8.03 Y0 I-8.03 J0 (bore circle to same location around machine zero)
G1 X0 Y0 (feed to origin)
(end repeatable cut)

G1 Z-7 (feed to 7mm below surface)

(repeatable cut)
G1 X8.03 Y0 (feed to bore size)
G2 X8.03 Y0 I-8.03 J0 (bore circle to same location around machine zero)
G1 X0 Y0 (feed to origin)
(end repeatable cut)

G0 Z20 (traverse to 20mm above part)

Arc Cut Perimeter (008)

Zero Tool Z w/ 3/8 Square End Mill

Check for Z-9 Clearance above Vise

G21 (set units to millimeters)
G90 (set measurements to absolute, relative to machine zero)
F120 (set feed rate to 120mm per minute)
G0 Z20 (traverse to 20mm above part)
G0 X25 Y5.93 (traverse to cut start XY)
G0 Z5 (traverse to 5mm above part)

G1 Z1 (feed to 1mm above part)

(repeatable cut)
G1 X14.32 Y5.93 (feed to first arc start)
G2 X-5.93 Y-14.32 I-14.32 J-5.93 (arc cut to second arc start)
G2 X-14.32 Y-5.93 I-3.57 J4.82 (arc cut to third arc start)
G2 X5.93 Y14.32 I14.32 J5.93 (arc cut to fourth arc start)
G2 X14.32 Y5.93 I3.57 J-4.82 (arc cut to first arc start)
G1 X25 (cut to outside part)
(end repeatable cut)

G1 Z-2 (feed to 2mm below part)

(repeatable cut)
G1 X14.32 Y5.93 (feed to first arc start)
G2 X-5.93 Y-14.32 I-14.32 J-5.93 (arc cut to second arc start)
G2 X-14.32 Y-5.93 I-3.57 J4.82 (arc cut to third arc start)
G2 X5.93 Y14.32 I14.32 J5.93 (arc cut to fourth arc start)
G2 X14.32 Y5.93 I3.57 J-4.82 (arc cut to first arc start)
G1 X25 (cut to outside part)
(end repeatable cut)

G1 Z-4 (feed to 4mm below part)

(repeatable cut)
G1 X14.32 Y5.93 (feed to first arc start)
G2 X-5.93 Y-14.32 I-14.32 J-5.93 (arc cut to second arc start)
G2 X-14.32 Y-5.93 I-3.57 J4.82 (arc cut to third arc start)
G2 X5.93 Y14.32 I14.32 J5.93 (arc cut to fourth arc start)
G2 X14.32 Y5.93 I3.57 J-4.82 (arc cut to first arc start)
G1 X25 (cut to outside part)
(end repeatable cut)

G1 Z-6 (feed to 6mm below part)

(repeatable cut)
G1 X14.32 Y5.93 (feed to first arc start)
G2 X-5.93 Y-14.32 I-14.32 J-5.93 (arc cut to second arc start)
G2 X-14.32 Y-5.93 I-3.57 J4.82 (arc cut to third arc start)
G2 X5.93 Y14.32 I14.32 J5.93 (arc cut to fourth arc start)
G2 X14.32 Y5.93 I3.57 J-4.82 (arc cut to first arc start)
G1 X25 (cut to outside part)
(end repeatable cut)

G1 Z-8 (feed to 8mm below part)

(repeatable cut)
G1 X14.32 Y5.93 (feed to first arc start)
G2 X-5.93 Y-14.32 I-14.32 J-5.93 (arc cut to second arc start)
G2 X-14.32 Y-5.93 I-3.57 J4.82 (arc cut to third arc start)
G2 X5.93 Y14.32 I14.32 J5.93 (arc cut to fourth arc start)
G2 X14.32 Y5.93 I3.57 J-4.82 (arc cut to first arc start)
G1 X25 (cut to outside part)
(end repeatable cut)

G1 Z-9 (feed to 9mm below part)

(repeatable cut)
G1 X14.32 Y5.93 (feed to first arc start)
G2 X-5.93 Y-14.32 I-14.32 J-5.93 (arc cut to second arc start)
G2 X-14.32 Y-5.93 I-3.57 J4.82 (arc cut to third arc start)
G2 X5.93 Y14.32 I14.32 J5.93 (arc cut to fourth arc start)
G2 X14.32 Y5.93 I3.57 J-4.82 (arc cut to first arc start)
G1 X25 (cut to outside part)
(end repeatable cut)

G0 Z20 (traverse to 20mm above part)