This is the g-code created by VCarve to cut an 1/8" hole centered at coordinates 0,0 in material that is .06" thick in 4 passes.

Top of material is Z0

( eighth test hole )

( File created: Saturday May 26 2018 - 06:22 PM)

( for Mach2/3 from Vectric )

( Material Size)

( X= 3.000, Y= 5.000, Z= 0.060)

()

(Toolpaths used in this file:)

(Profile 1)

(Tools used in this file: )

(1 = End Mill {0.0313 inches})

N100G00G20G17G90G40G49G80

N110G70G91.1

N120T1M06

N130 (Tool: End Mill {0.0313 inches})

N140G00G43Z0.8000H1

N150S12000M03

N160(Toolpath:- Profile 1)

N170()

N180G94

N190X0.0000Y0.0000F12.0

N200G00X0.0000Y0.0468Z0.2000

N210G1X0.0000Y0.0468Z-0.0150F12.0

N220G2X0.0468Y0.0000I0.0000J-0.0468

N230G2X0.0000Y-0.0468I-0.0468J0.0000

N240G2X-0.0468Y0.0000I0.0000J0.0468

N250G2X0.0000Y0.0468I0.0468J0.0000

N260G1X0.0000Y0.0468Z-0.0300

N270G2X0.0468Y0.0000I0.0000J-0.0468

N280G2X0.0000Y-0.0468I-0.0468J0.0000

N290G2X-0.0468Y0.0000I0.0000J0.0468

N300G2X0.0000Y0.0468I0.0468J0.0000

N310G1X0.0000Y0.0468Z-0.0450

N320G2X0.0468Y0.0000I0.0000J-0.0468

N330G2X0.0000Y-0.0468I-0.0468J0.0000

N340G2X-0.0468Y0.0000I0.0000J0.0468

N350G2X0.0000Y0.0468I0.0468J0.0000

N360G1X0.0000Y0.0468Z-0.0600

N370G2X0.0468Y0.0000I0.0000J-0.0468

N380G2X0.0000Y-0.0468I-0.0468J0.0000

N390G2X-0.0468Y0.0000I0.0000J0.0468

N400G2X0.0000Y0.0468I0.0468J0.0000

N410G00X0.0000Y0.0468Z0.2000

N420G00Z0.8000

N430G00X0.0000Y0.0000

N440M05

N450M30

%

It cuts in 4 passes.

Here is some explanation of the codes:

Line #N150 sets spindle speed to 12000 rpm and turns on spindle

N180 - sets the movement mode to units per minute

N190 moves to coordinate 0,0 and sets feed rate to 12

N200 sets movement to rapid (ignore feed rate) and position the bit to X0,Y0.0468 and Z0.200 ( .2" above work piece)

This position places the bit just inside of the circle, at the 12 o'clock position. It is calculated like this:

x is center of circle, y = center of circle + (radius - 1/2(tool diameter)) so y = 0 + (0.0625 - .5 * (0.0313)) = 0.04685 (5th decimal is truncated)

N210 sets movement to feed rate (G1) and plunges tool to -0.0150

N220 sets movement to arc movement (G2) and moves the bit to X0.0468 Y0.0000 in an arc around the center. This is where

code gets a little funky. The center is defined as the starting position (0 , 0.0468) plus the offset values of I and J (0 , -0.0468)

or: center of arc = (X - I , Y - J) = ( 0 - 0 , 0.0468 + (-0.0468)) = (0 , 0). This has the effect of cutting the top right 1/4 of the circle.

N230 Cuts the bottom right 1/4 of the circle the same way. The starting position is the end of the last arc ( X0.0468 , Y0.0000) so the offset is

now (I-0.0468 , J0.0000)

N240 Cuts the bottom left 1/4 of the circle the same way.

N250 Cuts the top left 1/4 of the circle the same way and if all works right, you should be right back to the original starting position (0 , 0.0468)

N260 - N300 are exactly the same except at a depth of -0.0300

N310 - N350 are exactly the same except at a depth of -0.0450

N360 - N400 are exactly the same except at a depth of -0.0600

N410 switches to rapid movement mode (G00) and moves the bit to .2" above the work piece.

N420 moves the bit to .8" above the work piece

N430 moves the bit to home position (0 , 0)

N440 turns off spindle

N450 rewinds code and resets all modes

I hope this helps.

Here is a link I used to learn the G02 Arc format:

https://www.cnccookbook.com/cnc-g-code-arc-circle-g02-g03/