CNC Milling G02 G03 to Mill a Full Circle

CNC Milling G02 G03 to Mill a Full Circle

CNC Milling G02 G03


CNC Milling G02 G03

To produce a full circle on a Fanuc or Haas G code type programming system is really easy.

Last week I was training four very experienced programmers and I asked them how they would programme a full circle.

The answers they gave shocked me, I had to take out my hip flask and drink a large shot of brandy.

What they were doing was perfectly correct but definitely not the simplest way.

One said he broke the circle into two halves. One said he copied some code he already had in the machine. The other one said he got the bloke who did it in two halves to do it for him. Oh and the other one used I and J and X and Y.

OK so just imagine you want to mill internally around a 40mm diameter circle.

Training Courses Let Me at Em

CNC Milling G02 G03 to Produce a Full Circle, here’s the code.

First in two halves

G0 X0 Y0 S1500 M3
G43 Z3. H01 M8
G1 Z-5. F100.

G41 X20. Y0 D1 F200.    (Apply Cutter Compensation)
G3 X-20. R20.                   (First Half)
X20.                                     (Second Half)
G1 G40 X0 Y0                   (Cancel Cutter Compensation)

G0 G53 Z0

All in one complete with wasted Code

G1 G41 X20. Y0 D1 F200.
G3 X20. Y0  I-20. J0 (Mill Full Circle)
G1 G40 X0 Y0

But this is really all you need

G1 G41 X20. Y0 D1 F200.
G3 I-20.         (Mill Full Circle….. Sooo Simple)
G1 G40 X0 Y0

Remember that song by the Average white Band “Let’s Go round Again”? I used to love it.

Actually I still do, as an old twat I’m allowed to like this shit.

Ok let’s go round again. It’s so easy and it saves leaving a mark.

G1 G41 X20. Y0 D1 F200.
G3 I-20. (Mill Full Circle)
I-20.        (Lets go round again)
G1 G40 X0 Y0

Now if you have a Toshiba with Tosnuc control or Haas or maybe a Yasnac CNC control…..

CNC Milling G02 G03 to produce a full circle you just need this:

G13 D1 I20. F200. (Everything all in one)

                G13 (Counter Clockwise) G12 (Clockwise)
                D1 (Use offset 1)
                I20. (20mm Radius)

G13 does everything. It’s the an all inclusive holiday of circular milling except you don’t gain weight and you’re not pissed everyday.

How cool is that and you even get a tangential approach. At my age you’re glad of all the tangential approaches you can get.

No there is no sexual innuendo here it just means you approach the circle using a circular move. You sort of creep up when it’s not looking.

Know what I mean??

Here is a nice picture to demonstrate.

CNC Milling G02 G03

Think about it, why would we do this?

Well the older and more inaccurate your CNC machine is the more likely it is that your machine will leave a mark at the entry and exit point. This is also dependant on the material and the size of the cut you are using.

A quick workaround for this is to just go round the circle twice (let’s go round again). It very often does the trick.

CNC Milling G02 G03

Oh by the way if I saw a tangential move that big I would think it was a wasted move. (It’s just to demonstrate). You only need a short tangential move to do the job.

The easiest way to programme a tangential approach is like the ones above. Coming in from North, South, East or West on the compass.

Now look at this.

CNC Milling G02 G03

This is the best way, although it’s more difficult to programme.

I think it’s South West on a Compass?? 



The reason is that there is no axis change of direction and no animals are injured or hurt in any way during the process.

If you watch the movement above and watch carefully what the X axis is doing. It changes direction before it is in contact with the circle. And the same thing on the way out of cut with the Y axis.

Direction Change When Using G02 G03 to mill full circle

When milling a full circle each time an axis changes direction there is a chance you will be left with a visible mark on the circle. These points are North South West and East on a compass.

Watch below to see where these points are. If you have a new machine there should be no visible mark on this change of direction.

On an old machine this can be really noticeable and cause real problem.

CNC Milling G02 G03


Circular Motion and Skid Marks

If you have an old machine you will know what I mean. Those little annoying marks where the machine changes direction. If CNC Machines were underpants then these would be the skid marks.

For my American readers in the UK we call those annoying brown marks at the back of your underwear skid marks. I don’t think you get them in America.


I have been working on a 12 year old Mazak Horizontal machine recently and was amazed at just how good a circle it produced. It beats the shit out of using a reamer. Oh and you can easily adjust the size with your D offset.

CNC Milling G02 G03

Just a note. If you do use circular milling to produce a bore just remember that if your cutter is not parallel then your bore won’t be either. So don’t use that crappy old re-ground cutter. Try n get the boss to buy you a shiny new one.


CNC Milling G02 G03

oh and just one other thing………..

Measure the bore at the top and the bottom.

Simple Full Circle Programme

G1 G41 X20. Y0 D1 F200.
G3 I-20.     
G1 G40 X0 Y0

There are actually four choices which produce four totally different circles.

And potentially a scrap part. So use those machine graphics to check your code if you got em!!

CNC Milling G02 G03

G3 I-20.    (The one on the left and the one we used)

G3 I20.     (The one on the right)

G3 J20.    (The top one)

G3 J-20.  (The bottom one)

Here They Are In Action

CNC Milling G02 G03


CNC Milling G02 G03

Click for More on G02 and G03

If you want to do this on a Sinumeric Siemens 840D read this

Thanks For Reading

Don’t forget there’s loads more folks.

And a YouTube channel

Call David

Learn CNC Programming

Services offered at CNC Training Centre

Edgecam programming and training.

Classroom programmer training.

Onsite CNC Machine Training.

CNC Programming and Training on all controls and machines.

Mazak Training Fanuc Training

Don’t forget we offer training on all types of Mazak Machines and all Fanuc Controls 6m to 31i Oi old to young.





















Log out of this account

Leave a Reply

WP to LinkedIn Auto Publish Powered By :