web tracking

Learn CNC Programming:

Fanuc CNC Mill Programming.

 Learn Fanuc CNC mill programming from my examples.

Learn Fanuc CNC programming complete from the Fanuc programming DVDs.
Check out their content on the below website.

Home:  http://www.doccnc.com

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.

O2001(Program Number)

(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
N11 X-.5
N12 G0 G40 X-1.0 Y-1.0  (Cancel comp going back to original point.)
N13 G91 G28 Z0
N14 M30

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 toolchanger.
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 same location.

Note: Especially useful when dimensions are converted from Metric and every Inch dimension is a really odd number.

N1 G90 G80 G40
T1 M6
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


Sub: O1000
G80 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)

The Sub:

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)
G0 Z.5
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*
T1 M6*
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 "Cycles/Shortcuts".
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 controls.

Heinz at 614-888-8466

hputz@columbus.rr.com .

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 magazines.

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.

Manufacturing Engineering.

Cutting Tool Engineering.

CNC...West, concentrating on the west coast.

Moldmaking Facts & Knowledge

 Learning about manual machining:

For info, write:
hputz@columbus.rr.com .

The following is a reprint from a machining blog, under "Masters of CNC".

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 lathe.
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 slowly disappeared.
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 ever since.
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.

Example: G76 in 2 line format for OT and later controls.
2″ diameter, 20 Threads per Inch, Mild Steel.

N1 G50 S1500*
N2 T0101*
N3 G97 S700 M3*(Speed for threading, always in RPM)
N4 G0 X2.2 Z.2 M8*(Rapid to above part, .2″ from face)
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 thread motion.
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*
N8 M30*