G94 and G95 Feed per Rev / Feed per Minute
G94 and G95 are two G codes that are often ignored on a CNC Lathe.
G94 is feed in mm per minute, as normally used on a CNC Milling machine.
G95 is feed in mm per revolution, as normally used on a CNC Lathe.
So if you program F.2 in G95 then for every revolution your tool would move 0.2mm
At 1000 RPM your tool would feed .2 x 1000 = 200mm/min
One of the many things that utterly pisses me off is when I see a line of gratuitous G Code at the beginning of a CNC Program.
Now I know you’re thinking “this miserable bastard is permanently pissed off” and this may be be true but. Allow me to explain.
The idea of these setup lines as I am told is to reset the control at the beginning of a program. I don’t have a problem with this at all.
It’s a bit like tattoos I suppose so long as the tattoo is on you and not on my scrotum sack I don’t have a problem at all.
I keep saying they’ll regret it when they’re older but my mother is 96 and covered in ink and doesn’t seem to give a shit about it, therefore I could be wrong.

I used to work with a guy who had “True Love Julie” tattooed up his arm it was all fine till he caught her shagging the bloke servicing the boiler.
I suggested the next time he got his body inked he should try using more generic terms like “I Really Love My Girlfriend”.
Maybe they could leave a gap for him to “felt tip pen” the name in and when he got fucked over again (which he did on a regular basis) he could just rub it out.
Setup Lines G94 and G95
What I hate is that when I ask the operator what the G Codes at the beginning of the program mean. He just says “fuck knows, but I know you must have them”
Anyway it’s a free country (well kind of) so feel free to put these codes in but please take the time to see what they all mean.
For example if you put G21 at the head of your program it means this program is in millimetres.
But….. if you only use millimetres in your programs then why bother. You only need it if you are using inches (G20) sometimes and need to swap over.
Fish Fingers
Likewise you could put G69 at the head of your program but if you never use coordinate rotation you might as well be telling the machine that you’ve got fish finger and chips for tea again. It’s just not interested.

I get this every day since my wife bought a book called “50 new exciting ways to cook fish finger and chips”.
The green parsley leaf she says is my “Five a Day”
G94 and G95
On most CNC Lathes you will always be using G95 which is feed per revolution. On a CNC Milling Machine you will always be using G94 which is feed in mm per minute.
The lathe will default to G95 and the CNC Milling Machine will default to G94.
Soooo… About this Setup Line
If you never use feed in mm per minute (G94) on your CNC Lathe then personally I wouldn’t bother with it. You don’t need G94 or G95 at the head of your program.
Now if you have a bar feeder on your CNC Lathe you may need to feed the bar out with the spindle stopped.
Feed per revolution is feed per revolution therefore if you have no revolutions then you have no feed.
You must change to G94 so that you can program in mm per minute. Oh and when you are done don’t forget to switch back to G95 (feed per revolution).
Don’t forget these G Codes are modal which means they stay in the control until changed.
G95 Feed Per Revolution (CNC Milling)
Now most programmers don’t use this much on a CNC Milling machine. There are some really good uses for it.
Now I was useless at maths at school. Well thinking about it I was just useless at school although….
I did get a GRADE 1 swimming certificate which I’m still proud of to this day.
Achieving my GRADE 1 swimming certificate was a gruelling task. I remember I had to swim a full width of the swimming pool which I did (only touching the floor three times). Then I had to retrieve a massive,heavy, black rubber brick from nearly three feet of water.
I still have the certificate framed in my office to this day.
You young people now-a-days have it easy with your ipads and Ed Sheeran records.
Anyway most of the ideas I come up with are born out of shear laziness. Humans are useless at adding up in fact all simple arithmetic. So why bother…. fuck it.
Whenever there is an opportunity to do maths give up and let the computer do it. As much as I want to build your confidence as a training provider I can tell you that you are stupid, this in not for you.
Drilling On a CNC Milling Machine
Drilling is a good example. I remember years ago buying a drill and ringing up the tooling guy and asking what feed rate to use. He said “oh, about .15mm per rev”. I didn’t have the confidence to say “what the fuck does that mean” so pretended I knew what he meant.
In actual fact I just pissed around with the drill until it looked like it was cutting OK.
Obviously you know what is meant by 0.15mm per revolution. It works like this, just incase you know a bloke that doesn’t understand it.
So it your speed is 2000 rpm.
Then your feed would be 2000 x 0.15 = 300
So you would program your drill as F300. that’s 300mm/min.

Anyway I think you can see where this is leading. If you swap to G95 you could just program what the man said. Completely clueless as to what will happen.
Oh and usually they say stuff like “between 0.1 and 0.25 mm per rev”. Tooling guys are renowned for their ambiguity.
You could play around with the feed without ever getting out your calculator (save it for your next trip to Lidl).
Tapping On a CNC Milling Machine
You have a choice G94 and G95.
Loads of people still work out the feed-rate when tapping, is this you?
T1 M6 (M6 x 1 TAP)
G90 G0 G54 X0 X0
G43 Z3. H1 M8
M29 S500
G84 G98 Z-20. R1. F500.
X50. Y50.
G80
In the above program it’s easy to calculate the speed by multiplying the speed by the pitch of the tap.
500 x 1.0 = 500.
It’s easy but there are two problems.
- Not all taps are 1mm pitch.
- What if you need to change the speed?
So the calculation is not always that simple.
If you change the speed and forget to change the feed you are fucked. Well you’re not but the tap almost definitely will be.
Try This

T1 M6 (M6 x 1 TAP)
G90 G0 G54 X0 X0
G95 (FEED PER REV)
G43 Z3. H1 M8
M29 S500
G84 G98 Z-20. R1. F1.
X50. Y50.
G80 G94 (FEED IN MM/MIN)
Now it’s really easy the feed-rate is the pitch of the tap. Oh and when you change the speed just do it.
No one gets hurt and no taps are harmed in the process.

G95, what you “young people” would call a no-brainer.
Best Website with Crack Program:


























