Learn CNC Programming:
Fanuc CNC Mill Programming.
Learn Fanuc CNC mill programming from
Learn Fanuc CNC programming complete from
the Fanuc programming DVDs.
Check out their content on the below website.
If you have any questions or problems with
any part of CNC programming, call
me at 614-888-8466.
Here is one of my recent CNC training
jobs that included processing and manufacturing an Oilfield motor on a large, 4
pallet Horizontal Machining Center.
That is me on the control approaching the part very, very carefully.
Machine sold by Industrial Machinery at: www.industrialmachinery.com
Fanuc CNC Mill Programming:
A typical Fanuc milling program with calculations for speeds and feeds:
This example would work on Fanuc CNC controls since the 6M in about 1981.
Mild Steel, 4" square, lets drill 2 holes with a High Speed Drill, each .5"
diam. and .5" deep.
(G90 sets up Absolute, G80 and G40 clear out info)
(Tool change to T1, M6 activates changer, or on kneemill, waits for manual tool change.)
(G54 is co-ordinate system, G0 is rapid to X1.0 and Y1.0, S800= about 100SFM for Mild
Steel cut with .5" diam. HS drill)
(G43 is tool length comp, H1 identifies location in offset page where tool length is
registered, Z1.0 is location to which we rapid, turn coolant on)
(Use Canned Cycle G81, rapid to R-value, drill to Z-.5 at F8.0, return to R in rapid)
(Repeat cycle at new location)
(Cancel Cycle, coolant off)
(Simplified return to Z-zero in G91, incremental)
(Home in X-Y)
(End, rewinds memory)
Note: G28 is one of the very few codes that has to be repeated, almost all others carry
forward and do not have to be repeated.
Mill-Drill feed is always in Inches per minute.
To figure feed: RPM times Feed per Rev.= F value.
The simplified method for figuring RPM:
SFM times 4 divided by diam. of cutter.
CNC Mill Cutter Comp Example:
Originally E-Mailed to CNC Newsgroup.
Hi Brian: Here it is, a 2" square part with radius.
Zero is at lower left corner.
N1 G90 G80 G40
N2 T1 M6
N3 G54 G0 X-1.0 Y-1.0 S2500 M3 (Rapid to off the left corner of part.)
N4 G43 H1 Z-.5 M8(Set tool length.)
N5 G41 D31 X0 Y-.5 (Set comp in offset #31, approaching from left.)
N6 G1 Y1.75 F25.0 (Cut part.)
N7 G2 X.25 Y2.0 R.25
N8 G1 X1.75
N9 G2 X2.0 Y1.75 R.25
N10 G1 Y0
N12 G0 G40 X-1.0 Y-1.0 (Cancel comp going back to original point.)
N13 G91 G28 Z0
This will work in any Fanuc since 1980 or so. This is the simple tool
changer, you may have to separate the T1 and the M6 if you have an arm style
Also, the D value could be programmed as a H on some machines.
CNC Time Estimating for the above:
Tool change time depends on the machine and
the time for setup depends on your own skill.
The basic method for figuring the time for cutting is to figure RPM, then the
rate of feed per minute.
Take the total distance cut in G1 and divide that by the rate of feed.
In this case, the part is 2 " square, so the total cutting distance is
8" plus the .5" before the part and .5" past it.
Total of 9" divided by the feedrate of 25.0 IPM is about 30 seconds. Add a few
seconds for rapid and you have a reasonable time estimate.
Fanuc Sub example:
We want to C/Drill, Drill and Tap a series of holes,
all are located at odd dimensions, we will drill 1 hole and put all hole locations into a
sub for recall.
Advantage: You only have to program locations once and recall Sub.
More important: You can not make a mistake in hole locations,
check out the C/Drill positions and you can be sure the drill, tap, will be exactly in the
Note: Especially useful when dimensions are converted from Metric
and every Inch dimension is a really odd number.
N1 G90 G80 G40
G54 G0 X1.0 Y1.0 S1000 M3
G43 H1 Z1.0 M8
G81 G99 R.1 Z-.25 F5.0 (C/Drill 1st. hole.)
M98 P1000 (Jump to Sub O1000 for other locations.)
G91 G28 Z0 M9
M99 (Return to Main Program)
Drill 1st. hole, then recall Sub, same for chamfering, tapping, etc.
Counterbore Sub Program:
Its in Incremental, so we can repeat it anywhere on the part.
This was originally developed for a bus company to manufacture floor boards with
a lot of different size holes. The method is to place the tool right above the
hole location and then call the Sub like this:
M98 P1000(This was a 1" counterbore, we made
up Subs for all hole sizes and called them according to hole size)
G91 G1 Z-.5 F12.0(Feed to depth)
G41 D31 X-.5 F10.0(Set Comp, tool radius in offset #31)
G3 I.5(Complete Circle)
G1 G40 X.5 F20.0(Take out Comp)
M99(Return to Main Program)
Next line in Main program should be new hole position, the Re-call sub, etc.
Angular interpolation for bolt circles:
If your control has G15 and G16, try this:
I did it on a Fanuc 0i-MC on a Acra VMC on it worked perfectly.
It will save you a lot of calculations plus time.
G90 G80 G40*
G0 G54 X0 Y0 S1000 M3*
G43 H1 Z1.0 M8*
G17 G16*(G16 calls special interpolation)
G81 G99 X1.5(Radius of boltcircle) Y30.0(Angle of 1st. hole) R.1 Z-.5 F15.0*
G80 G15(G15 cancels special interpolation)
G91 G28 Z0*
G28 X0 Y0*
Call me at 614-888-8466 for any questions. Heinz.
The applicable DVDs to learn the detailed method of programming Fanuc mills:
The Mill package teaches all the skills
needed for efficient CNC Mill utilization and consists of:
"Prep", "Math 1", "Mill Programming",
"Mill Setup", "Cutter Comp" and
If paid by Credit Card, use Master Card or Visa, the price is $600.-.
Shipping in the US or Canada is free.
Also check out the CNC Lathe DVDs on the main website.
Call or E-Mail to make sure the DVDs apply directly to your machines and
Heinz at 614-888-8466
CNC Milling related links:
The best source for Speeds, Feeds info:
CNC Download and Graph:
Do a lot of programming for very little money:
CNC Networking & Factory Automation:
CNC Editor & Graphing Software, easy to use and affordable:
Fanuc service and training:
CNC programming too complicated? Try the Centroid control:
Affordable and good, CNC mills with Centroid:
First class tools for milling, drilling:
CNC milling facts and knowledge:
CNC Educational Services:
Valuable CNC Resources: Machining related
Its amazing how much you can learn by reading machinetool
related magazines, subscribe to these, they are usually free, put them in your favorite
relaxing place and learn---.
American Machinist: The Original.
Modern Machine Shop.
Cutting Tool Engineering.
CNC...West, concentrating on the west coast.
Moldmaking Facts & Knowledge
Learning about manual machining:
For info, write:
Profile of, Heinz R Putz .
Heinz has an interesting educational DVD, and equally interesting
interesting life story.
My own machining
background goes back to an apprenticeship in Germany, I started for the
German railroad at 15 years of age, in Northern Germany in a Locomotive
Repair Works. We had 20-25 apprentices each year and everything
was first learned by hand, we had an open fire blacksmith shop, a lot of
files, big and small hammers and really tough supervisors, not averse to
physical punishment. We have a family history of metal work, my
Grandfather was a Blacksmith Master in Prussia, according to family
history he was the official Blacksmith master in the Emperors Guard
regiment. He was quite tall, everyone in the Emperors Guard had to be 2
Meters tall (6.6 feet), I guess it made the Emperor feel taller.
Unfortunately, I inherited none of the metal skills from my
Grandfather and until I got into CNC I never really liked my job at
all. After immigrating to the US and after working in many, many shops
around the US, I took a class in Chicago at a local Community College,
it was called NC Engineering. I learned nothing I ever used, but it
opened the door to a great job opportunity with SMT(Swedish Machine
Tool), a manufacturer of the first real, at least in my opinion; CNC
SMT had a really good training system, we had a class for our
customers in Chicago prior to the machine delivery, followed by 3
days of in-house training, actually programming and producing the
customers first parts. We had to rightfully assume that the
customers needed to learn everything from speeds and feeds for CNC
and CNC math to figure out the part shape. They of course also
needed to learn programming and proper record keeping, tool
selection and tool setup.
We were quite successful in selling our CNC lathes, unfortunately
we were way too expensive compared to the early Japanese lathes,
such as Mori-Seiki with the Fanuc controls. Often, our price was
double that of our Japanese competitors and eventually our sales
By this time, I had trained many shops all over the US and Canada
and I also knew most of the Japanese importers and the people at
Fanuc quite well. I was offered a consulting job to re-write
manuals and teach for Fanuc in Chicago and between teaching for
Fanuc, importers of CNC, many dealers and many shops, I have been
busy in trying to teach the efficient use of CNC lathes and mills
In my CNC DVDs, I try to pass on the knowledge I gained over
all these years on to anyone that needs it, and thatís
pretty much every shop that uses CNC. To be totally self
sufficient with CNC lathes or mills, you need to be able to
take a print, know what the material is, sit down and write a
program, figure speeds and feeds, do the necessary math, go
out to the machine, set the tool, enter the program, double
check it, then carefully make the first part. By the time you
run your 3. part or so, you should have decrease the cycle
time by fine tuning, especially your speeds and feeds.
CAD-Cam packages are great for molds with many, many
motions, but for real production, write the program yourself
and take all the shortcuts you can. keep in mind that the
person that created the software used for programming was
most likely not a very good machinist and all packages have
to make programs that fit many situations. If I made a
program for a very low lot run of 1 or 2 parts, it would
look totally different from a program that has a lot run of
1000s.A major concern is that there are very few people left
in our industry that actually know how to produce anything
without the help of some software. The classical and logical
sequence of learning CNC was to be an operator, learn
programming and setup, then learn to generate a program with
the use of one of the many software packages. Now everything
is automated, straight from some computer language to CNC
software, with no machining experience in between. All of my
in-house training and also the content of the DVDs, is very
detailed, below is a sample from my website.
G76 in 2 line format for OT and later controls.
2″ diameter, 20 Threads per Inch, Mild Steel.
N1 G50 S1500*
N3 G97 S700 M3*(Speed for threading, always in RPM)
N4 G0 X2.2 Z.2 M8*(Rapid to above part, .2″ from
N5 G76 P021060 Q20 R5*(The first 2 digits in P represent
the amount of finish passes, the next 2 are the pullout
distance at the end of the threading motion, expressed in
tenths of revolutions, the 60 is the angle of the tool)
N6 G76 X1.94 Z-1.0 P300(total thread depth) Q150(depth of
first cut) F.05*
R if needed is the amount of taper over total distance in
The P value is figured by taking the F-value times the
constant of .6, once figured you also have the X value.
N7 G0 X6.0 Z6.0 M9*