Issue 61
Fall 2004
Copyright 2004

In this issue:
  1. Our CNC schools page
  2. Instructor note: Teaching CNC with the key concepts approach - part three
  3. Time saver: Can you speed up your tool change time?
  4. G-code primer: Using directional vectors with circular motion
  5. Parameter preference: Retract amount in G73 peck drilling cycle
  6. Managers corner: Your most important resource
  7. Safety Tip: Keep a finger ready to press feed hold!

The Optional Stop is published quarterly by CNC Concepts, Inc. and is distributed free of charge to people subscribing to our (email) distribution list and to those downloading it from our website ( Information is aimed at CNC users and instructors teaching live CNC classes. All techniques given in this newsletter are intended to help CNC people. However, CNC Concepts, Inc. can accept no responsibility for the use or misuse of the techniques given.

To subscribe: Simply email us ( and let us know you'd like to be added to our distribution list.

To unsubscribe: Respond to this email, typing REMOVE in the subject. Please accept our apologies if we have disturbed you.

Quick links to our website:

Of special interest on our website:

Product Spotlight: A Curriculum for CNC Instructors

Machining Center Programming, Setup, and Operation

This comprehensive curriculum comes with everything you need to teach CNC machining center usage!

Maybe you're an experienced instructor with limited CNC experience. Or maybe you're an expert CNC person with limited teaching experience. Or maybe you're somewhere in between.

Regardless of you current experiences, this curriculum will help you present the complex topic of CNC machining center usage in a logical, understandable, and progressive manner. And we provide you with the whole package - materials to help you get ready to teach, materials to help you while you're teaching, and materials to confirm student comprehension.

Best of all, all of the instructor's materials for this curriculum are shipped to you free of charge when your school places its first order for student materials!

Course lessons

This class is made up of ten key concepts that are further divided into twenty-four lessons. As the name implies, the key concepts provide a limited number of important general principles a student must understand. Lessons fill in the details and become progressively more complex. Each builds on previously presented information. Here is a list of lessons for this course:

  1. Machine configurations
  2. General flow of programming
  3. Visualizing program execution
  4. Understanding program zero
  5. Measuring program zero
  6. The two ways to assign program zero
  7. Introduction to programming words
  8. Preparation for programming
  9. Motion types
  10. Introduction to compensation
  11. Tool length compensation
  12. Cutter radius compensation
  13. Fixture offsets
  14. Introduction to program formatting
  15. The four kinds of program format
  16. Canned cycles
  17. Sub programming techniques
  18. Other special features of programming
  19. Rotary tables
  20. Tasks related to setup and operation
  21. The control and machine panel
  22. The three modes of operation
  23. The key operation procedures
  24. Program verification

Scope for the class

From the list of lessons, notice that we're addressing all three tasks that a person must master in order to become proficient with CNC machining center usage - programming, setup, and operation.

Programming - You'll be teaching G code level (manual) programming techniques. This is the first level of programming a person must master in order to program CNC machining centers. With this class under their belt, a student will be ready for a class on more advanced CNC programming systems - which your school may also offer. All specific programming examples are shown for the most popular control in the industry - the Fanuc control.

Setup - There are many setup-related principles presented during the programming portion of the course. A programmer must, of course, be able to describe setups. During the setup portion of the class, you'll be describing the various tasks require to make setups in the approximate order that setups are made.

Operation - By operation, we actually mean two things. First you'll be presenting general operation techniques a person must understand to run a CNC machining center. In the student manual, we provide a series of operation handbooks to help with this. But more importantly, you will be presenting techniques an operator must understand in order to complete a production run. These techniques include workpiece load and unload, cycle activation, sizing and trial machining, and tool replacement.

Your visuals for this class

PowerPoint presentations will be at the heart of your presentations. There is one slide presentation for each lesson and a special presentation to help you when you review (25 total slide presentations). These colorful graphics will quickly get and hold your students' attention. And they are very comprehensive, including slides that build with progressively more complex information and animations that simulate machine or cutting tool motion. There are over 5,000 slides in this course!

Each PowerPoint slide presentation begins with a presentation links slide - a slide that includes hypertext links to each major topic in the lesson. This slide will allow you to quickly jump to a specific topic within the current lesson.

There is also a lesson plan slide close to the beginning of each lesson allowing you to introduce the major topics that will be discussed in the lesson. And there is a lesson summary slide at the end of each lesson - so you can review key topics. This allows you to use a proven method of public speaking: Tell them what you're going to tell them - tell them - then tell them what you told them.

Regardless of how well prepared you are to teach a lesson, it is possible to become confused as you transition from one topic to another. This can be embarrassing - it happens in front of your students! To eliminate this confusion, we include fly-in text boxes in transition slides. These text boxes will keep you on track, and in most cases, will be the first sentence you'll say to begin the new topic.

How we help you get ready to teach

We dramatically reduce the amount of preparation you must do in order teach your machining center class. We completely eliminate, of course, the need to prepare the curriculum in the first place. It will be a relatively simple matter for you to get comfortable with the teaching materials that we provide.

Getting comfortable the teaching methods - Instructor materials include a For The Instructor manual that provides an explanation of our key concepts approach to teaching, a course outline, and general information to help you get acquainted with the techniques you'll be using to teach the course. This manual also includes an answer book to exercises the students do and a final test with answers.

Getting ready to teach each lesson - We provide materials to help you each step of the way. First of all, we provide audio guidance on key slides within each lesson's PowerPoint presentation. You'll find a special teacher icon on key slides (especially at transition slides). If you click this icon, an audio clip will play - explaining what you should be presenting at this point in the lesson.

Again, the audio guidance is intended to help you prepare to teach each lesson. It is intended for you to hear, not your students. You won't be clicking this icon while you're teaching - only while you are getting ready to teach.

We also provide a (very thick) Instructor Notes manual. This 600 page manual parallels the audio guidance provided in the slide presentations - including instructions to help you understand what must be presented at key slides. To hear the audio guidance, of course, you must have a computer available. This Instructor Notes manual provides a more portable way to prepare - you won't need a computer in order to prepare.

Student materials

Student materials include a course manual and a workbook. The student manual is 328 pages, and nicely parallels your presentations during class. It makes a great portable way for students to review what's been presented in class - away from the classroom - and long after the class is over. And, it makes for great homework reading assignments.

The workbook includes an exercise for each lesson (again 24 total). Exercises are much like quizzes - containing true/false and multiple choice questions. Many of the exercises include programming activities. Students will be filling in coordinate sheets, working on programs, and (eventually) writing their own programs from scratch.

The student manuals must be purchased from us. Student manuals sell for $50.00 each and workbooks sell for $14.95 each. These are our discounted prices to your school or school bookstore.

Remember, instructor materials are shipped free of charge to you when your school places its initial order for student materials. We normally ask that the initial order be for twenty sets of student manuals to qualify for free instructor materials, but we can be quite flexible in this regard.

Get started today!

Maybe you've already heard enough and want to get started. Simply phone us (847-639-8847), telling us when your school bookstore will be placing the initial order for student materials. We'll send you the instructor materials right away.

If you still have questions, feel free to contact us by phone (847-639-8874) or email.

Free Samples Disk - There is a free CD-rom disk available that includes all written instructor materials (in Adobe Acrobat format), a sample slide presentation, and sample pages from the student manual. Simply email us, choosing Send me the samples CD as the reason for the email.

Other curriculums available from CNC Concepts, Inc. to help you teach CNC classes:

  • Turning center programming, setup, and operation
  • Setup reduction
  • Cycle time reduction
  • Maximizing CNC utilization
{short description of image}
Ad for machine shop calculator
{short description of image}
eBooks ad Click to get more information about this ebook Click to get more information about this ebook
Ad for CNC manuals Link to CNC turing center programming and operation manual Link to CNC machining center programming and operation manual
Machining center programming and operation CD-rom course

Our CNC Schools Page

We maintain this free service to help potential students find schools that have CNC courses. This service is free to both students and to schools.

Click this CNC Schools link to go to our CNC schools page. Educators can post a free listing for their schools by clicking the "INSTRUCTORS: LIST YOUR SCHOOL" link at the top of the page. Potential students can simply scroll down the list of schools (they're in alphabetical order by state) to find a CNC-teaching school in their area.

Note that most listings include a link to the school and the name/contact information for an instructor in the CNC program. Here is a sample listing:

Location: Decatur Alabama
General: School name: Calhoun Community College
Contact name: Joe Richardson
Contact phone number: (256) 306-2669
CNC related degrees offered: ASS Degree
Courses related to:
Basic machining practice?: Yes
Shop math? Yes
Blueprint reading? Yes
Computer aided design? Yes
Computer aided manufacturing? Yes
3d programming?Yes
CNC manual programming? Yes
Setup and operation? Yes
Other courses related to CNC:
Lab equipment:
Machine types: Haas VMC, Haas turning center, Fadal and Bridgeport VMCs,Harding and Colchester Turning Centers, Starrett CMM.
Control types: Fanuc, Bridgeport, Crusader II, Allen Bradley, Fadal(Fanuc compatible).
CAD system/s: MasterCAM and SmartCAM
CAM system/s: AutoCAD LT
DNC systems: N-Vision Plus

The Machine Tool Technology program offers several certificate programs in Numerical Control as well as AAS degree. The program offers one year basic machining practice and one year computer numerical control. We teach all applications manual and cnc machining and serve some two hundred machine shops in this area..

Again, we maintain this page as a free service to CNC-teaching schools and people looking for a CNC education. We hope you find it useful.

End of article (M01)

Top of page

Instructor note: Teaching CNC with the Key Concepts approach - part three

Part three - Key concept number two: You must be prepared to create programs

In part one , we introduce the key concepts approach. In part two, we present the most important topics of key concept number one: Know your machine from a programmer's viewpoint.

Here in part three, we're going to discuss topics related to preparing to create programs. Here is a list of the general topics that we include in key concept number two:

  • The importance of preparation
  • Determine the sequence of machining operations (process)
  • Come up with the cutting tools needed in the program and make sure they are available and capable of machining as required
  • Determine cutting conditions for cutting tools
  • Calculate all coordinates to be used in the program
  • Plan the setup

As with every key concept, the general presentations must work for any kind of CNC machine. But specific presentations will apply only to the kind of CNC machine tool/s you are describing in your class.

Importance of preparation

I'll begin by describing why it is important to prepare to develop a program. I'll point out that though this key concept has nothing to do with programming commands, it is among the most important key concepts. I'll say something like "The success of your program is directly related to the preparation you do to get ready to create it - and you know the saying 'Garbage in - garbage out'. If you don't adequately prepare, you can't expect your program to machine good parts."

You can use analogies to help. Point out that a public speaker must prepare prior to making a presentation. Without adequate preparation, the speaker will be likely to make mistakes during the presentation. In similar fashion, an ill-prepared CNC programmer will be likely to make mistakes when programming.

Since mistakes can lead to dangerous situations, make sure students understand that there is a direct relationship between preparation and safety. I'll prepared programmers are dangerous programmers.

Yet another benefit of adequate preparation is efficiency. Mistakes lead to wasted time. Given the expensive nature of CNC machine tools, there is no excuse for machine downtime for something as basic as lack-of-preparation.

I also like to point out that the simplest part of the programming process is actually writing the program. I'll say something like "You probably don't yet agree, but an experienced programmer will say that the easiest part of the programming process is actually developing the program. The hard work lies in the preparation needed to get ready to do so."

Some programmers actually feel that they're wasting time by doing the preparation steps we recommend. They want to get right to the task of programming. But point out that adequate preparation will keep a programmer on track when programming. They won't have to break their train-of-thought to come up with a cutting condition or calculate a coordinate - if they've adequately prepared.

Determine the sequence of machining operations (process)

After studying the print and determining what must be done by the CNC machine (you may want to point out that there may be other machines involved in the manufacturing of a given workpiece), the programmer must come up with a machining sequence (process) that will machine good parts. This makes a good time to reiterate the need for machining practice skills. Drawing on these skills, the programmer must come up with a workable process.

While I don't like to get too detailed with machining practices, I do like to mention that there is a correlation between quality, efficiency, and process. The first goal, of course is to make good workpieces. And the process will have a big impact on the quality of the workpieces being produced. I'll show this general turning center process and ask students to identify what's wrong:

  • Rough face and turn
  • Finish face and turn
  • Drill 2.0 diameter hole
  • Rough bore
  • Finish bore

This process breaks an important rule of basic machining practice: Rough everything before you finish anything. With this process, there will be concentricity problems between internal diameters and external diameters if the workpiece shifts at all during the drilling and rough boring operations. Hopefully students catch this mistake right away. Point out that if they feel at all weak with their ability to develop a workable process, they should show their completed process to an experienced machinist for approval before creating the program.

I provide a Sequence of Operations Planning Form. This form allows programmers to develop a process and includes sequence order number, operation description, cutting tool description, tool station number, feedrate, and spindle speed. I point out that this completed form is the English version of the program. Not only will this completed form help the programmer stay on track during programming (not skip an operation), it will provide excellent documentation for anyone that must work on the program in the future.

Come up with the cutting tools needed in the program and make sure they are available and capable of machining as required

Point out that a cutting tool will be needed for each machining operation, and again, students must draw on their basic machining practice skills to come up with appropriate cutting tools. The student must also make sure the tools they select are available (in stock), or they must be ordered.

Students must also determine if there are any special considerations for the cutting tools they use in a program. With a machining center program, for example, a cutting tool may have to reach down into the cored hole in a casting, being long enough to reach the machined surface. If it's not long enough, the shank will hit on the top of the casting. These are considerations the programmer must consider and deal with.

As mentioned earlier, the Sequence of Operations Planning Form includes a place to document the cutting tool to be used for each operation, along with the CNC machine's tool station number in which the tool will be placed.

Determine cutting conditions for cutting tools

Prior to programming, the programmer must calculate the cutting conditions to be used for each cutting tool. Again, this will keep the programmer from having to do so while programming. As with the planning of the process and cutting tool selection, this requires the programmer to draw on their basic machining practice skills.

The Sequence of Operations Planning Form provides a place to document this information.

Calculate all coordinates to be used in the program

Since this curriculum is for manual (G code level) CNC programming, the programmer must calculate all coordinates to be used in the program. Do note that all preparation steps discussed to this point are required of any programmer, regardless of how programs are prepared (even if using a computer aided manufacturing system).

I tell students that if the print is large and roomy, they can write the needed coordinates right on the print, close to the location of the coordinate. But since most prints are small and cluttered, they provide no room for such documentation.

If there is no room on the print, I ask them to draw a dot on the print at each location a coordinate is required. And then they must number the dots. On a separate sheet of paper (I call a coordinate sheet), I have them write down the X, Y, and Z coordinates for each dot numbered on the print (or just X and Z for turning centers). Here is an example coordinate sheet:

  1. X0.5 Y3.0 Z0.1/Z-0.25/Z-1.2
  2. X0.5 Y0.5 Z0.1/Z-0.25/Z-1.2
  3. X4.5 Y0.5 Z0.1/Z-0.25/Z-1.2
  4. X4.5 Y3.0 Z0.1/Z-0.25/Z-1.2
  5. X2.0 Y1.5 Z0.1/Z-0.25/Z-0.5

Notice that an X and Y location are documented for each point. For Z, notice that there are multiple values (approach position, center drill bottom position, and drill bottom position). I urge students to document every coordinate needed in the program. This will keep them from having to calculate any coordinates while programming.

Plan the setup

There are many things about how setups are made that effect the way a program must be written. We've already talked about how cutting tool station numbers are documented on the Sequence of Operations Planning Form, and the programmer must, of course, know which station each tool to use in the program for each cutting tool.

In similar fashion, there are things about the workholding setup that effect the way a program must be written. The programmer must know, of course, where clamps and other obstructions will be so they can be avoided in the program. For this reason, the programmer must plan the entire setup before the program can be written.

Most companies use a standard one-page setup sheet. You can create a setup sheet form including a place to document cutting tools and their placement in the machine, a place to write setup instructions, and a place to draw a sketch of the workholding setup.

You're finally ready to write the program!

Armed with all of these things being done, a programmer is truly ready to write the program. There will be no problems or questions to ponder while the program is being written. All answers will already be documented. Again, this minimizes potential for mistakes when programming, provides excellent program documentation, and will allow the programmer to concentrate on the task at hand.

Here are two links that bring you to our CNC curriculum page and our CNC educators page. Use these two links to learn more about how you can use our key concepts approach in your own classes.

End of article (M01)

Top of page

Time saver: Can you speed up your tool change time?

Machining centers, of course, have automatic tool changing devices to automate the tool changing process. Current models boast very fast tool changing times and you may be quite satisfied with tool changing time. But for older models, and if you're trying to minimize cycle time, there may be some things you can do to reduce tool change time. We offer a few suggestions.

From a cycle-time-reduction standpoint, tool changing is a non-productive on-line task. That is, it does not further the completion of the workpieces (only machining operations do this), and it adds to the time it takes to complete a production run. Anything that reduces tool changing time will, of course, make the machine more productive. When you consider how many tool changes a machining center will make during its lifetime, minimizing tool change time should be an important priority for any CNC-using company.

Spindle orientation

Most automatic tool changers require that the keyways in the cutting tool shank be aligned with the keys in the tool changing arm before a tool change can be made. This angular spindle position is called the spindle's orient position. Spindle orientation is done as part of the tool change command (M06).

Spindle orientation takes time (one to five seconds, depending upon the machine). Don't wait until the machine is at the tool change position before performing the spindle orient. A special M code (M19) can be used to cause the spindle to rotate to its orient position during the motion to the tool change position. Include an M19 in every command that sends the machine to its tool change position. If the machine's Z axis zero return position is the tool change position, as it is for most vertical machining centers, this command will cause the spindle to begin orienting as soon as the machine starts to move:

  • N105 G91 G28 Z0 M19

And again, this command will save time because the spindle will begin rotating to its orient position during the motion to the tool change position. Depending upon the machine's rapid rate, the distance to the tool change position, and how fast the spindle orientation occurs, it is possible that you can make spindle orientation time internal to the motion time. This, in effect, eliminates spindle orientation time from the program (possibly saving one to five seconds per tool change).

Note that machine tool builders vary when it comes to how they handle M codes. Given the command above, the vast majority of machines I've seen will begin to rotate the spindle to its orient position as soon as the Z axis starts to move. But I have seen some machine too builders that do not interface the M19 in this fashion. Instead, the spindle may orient before (or after) the motion occurs. This, of course, will not save any time.

If you happen to have one of these poorly interfaced machines, contact your machine tool builder and tell them that you want spindle orientation to occur during motion. Given the amount of time that can be saved over the machine's lifetime, don't take no for an answer. With today's programmable logic controllers, this should be pretty easy to do. You may even find that you have three special M codes that control when M code functions occur, before, during, or after motion commands.

How far does the machine have to move?

With most machining centers, the automatic tool changer arm is in a fixed location - and the machine must be sent to a special position in X, Y , and/or Z in order to make a tool change. With vertical machining centers, for example, the tool change position is commonly the Z axis zero return position. For horizontal machining centers, it is commonly the Y and Z axis zero return position.

Unless special interference problems exist with the job, be sure to minimize the distance the machine must move in order to make a tool change. With a vertical machining center, send the machine to (only) the Z axis zero return position. Sending the machine to the X and/or Y axis zero return position will be a waste of time (again, unless interference problems exist).

There are vertical machining centers available with which the tool change mechanisms move along with the Z axis. This means they can change tools in any position when a tool change is commanded. With these machines, you must be concerned with the lengths of cutting tools when commanding tool changes, but you can minimize the distance a machine must move in order to change tools.

Should you place tools in the tool changer magazine in sequential order?

Today's machining centers have random-access tool changers. This, of course, means that tools can be placed in the tool changer magazine in any fashion, yet they can be accessed in any order. This is a wonderful feature, allowing great flexibility in tool placement. But watch out for a time-wasting trade-off.

This is especially true for machines that have a single arm tool changer. With these machines, the cutting tool just used must be placed back in the tool changer magazine before the magazine can rotate to the next tool. Magazine rotation, of course, is not instantaneous. Magazine rotation time is a non-productive on-line task that can be minimized if tools are placed in the magazine in a sequential manner.

Machines with double-arm tool changers can have the magazine begin to rotate to the next cutting tool station while the current tool is working on the workpiece. But the program must be written in a fashion that allows this. Be sure to include a magazine rotation word (a T word with most controls) in the program close to the beginning of each tool:

  • O0001
  • N005 T01 M06 (Place tool one in spindle)
  • N010 G54 G90 S500 M03 T02 (Among other things, bring tool number two to the ready position)

Even with double-arm tool changers, of course, the tool changer magazine cannot rotate instantaneously. The larger the magazine, the slower it will move and the longer it will take to rotate. For machines having large magazines, magazine rotation time will be substantial. Consider a magazine that can hold one hundred tools or more. It may take over thirty seconds for the magazine to rotate to a tool that is on the other side of the magazine.

If a machining operation for a given tool takes a long time to complete (over thirty seconds for the example above), this will not create a time-wasting problem. The magazine will have rotated to its next position before the machine will be ready for its next tool change. But consider a short machining operation. Say a center drill must machine but one hole in a soft material. The tool may compete its operation in less than five seconds - and the machine may be back at the tool change position long before the magazine has completed its rotation to the next station.

This is one time when placing cutting tools in the magazine in close proximity will minimize tool changing time. Note that it will also ensure that cycle time will be consistent from one time a job is run to the next.

How heavy are your tools?

The actual act of tool changing requires a synchronized series of actions. The tool changer double-arm rotates to grab the tools in the ready station and spindle. The tools are a released, and the double arm pulls the tools out. It then rotates 180 degrees, bringing the tool in the ready station to the spindle and vise versa. The arm then pulls the tools into the spindle and ready station. Finally, the tools are clamped and the double arm rotates away.

We think of these actions as fixed and unchangeable - and with some machines, they may be. But remember that machine tool builders always strive to have their machines deal with the worst case scenario. If a machine tool builder claims that the automatic tool changer on a given machine can change a fifty-pound tool, they have designed the automatic tool changer mechanism accordingly - including the speed related to each action of the tool change.

Maybe you have a machine that has been designed to change a fifty-pound tool (or more), but your heaviest tool is less than twenty pounds. It is possible that the machine tool builder can speed up your machine's automatic tool changer to match your heaviest tool. Machine tool builders vary when it comes to how willing they will be to do so, but it sure doesn't hurt to ask.

End of article (M01)

Top of page

G-code primer: Using Directional Vectors with Circular Motion

Most programmers specify the arc size in circular motion commands with an R word. Indeed, this is the method we teach in our basic CNC courses. With the R word, you simply specify the size of the arc being machined. It couldn't get much simpler.

You must understand, however, that not all circular motions can be made using the R word. With most controls, the radius being machined must be tangent to the two adjacent surfaces (commonly straight surfaces) in order for the R word to work. Or, if you intend to make a full circle motion (360 degrees of motion) in one circular motion command, many controls do not allow you to use the R word to do so.

Additionally, the R word is a little to forgiving for some programmers. If you make a mistake with the coordinates or the size of the R word, most controls will do something - but probably not what you want it to do. That is, no alarm will be sounded even though a mistake has been made.

The alternative to using the R word to specify arc size in a circular command is to use directional vectors. For Fanuc and Fanuc-compatible controls, one directional vector is used to specify the distance and direction from the start point of the arc to the center of the arc in each axis.

  • Letter address I specifies the distanced and direction from the start point of the arc to the center of the arc along the X axis.
  • Letter address J specifies the distanced and direction from the start point of the arc to the center of the arc along the Y axis.
  • Letter address K specifies the distanced and direction from the start point of the arc to the center of the arc along the Z axis.

Note that most circular motion commands occur in the XY plane, so K can be omitted. Additionally, if there is no distance from the start point of the arc to the center of the arc along a given axis, that component (I, J, and/or K) can be omitted from the command.

One way to get comfortable with directional vectors is to draw an arrow along each axis from the start point to the center of the arc. Remember each arrow can only point along an axis (not diagonally). After you've drawn the arrow/s, ask yourself which way each arrow is pointing. If it is pointing along the X axis, an I word must be included in the circular command. If it is pointing along the Y axis, a J word must be included in the circular command.

Remember that there is also a polarity (plus or minus) for each directional vector. As with any other CNC word, the control will assume a positive value unless the minus sign (-) is included within the word. If an "X arrow" is pointing in the X minus direction, the I word in the circular command will be negative. If a "Y arrow" is pointing in the Y minus direction, the J word in the circular command will be negative.

Here is a drawing that we'll use for the example program. Notice that none of the radii to be machined are tangent to both adjacent surfaces, meaning most controls will not allow circular commands to be made using the simpler R word. The lower left corner of the workpiece will be the program zero point for the program that follows. And by the way, this drawing is not to scale.

Circular motion example drawing

We're going to be using cutter radius compensation (a 0.75 diameter cutter could be used), and programming the work surface path. The radius of the cutter must be placed in offset number thirty-one. The cutter will start in the lower left corner and mill in a climb milling fashion (clockwise around the workpiece). Also note that we've dimensioned the drawing a little more completely than most design engineers would. In the real world, there will probably be some trig to do.

Here is the program for this workpiece.

  • O0001 (Program number)
  • N005 T01 M06 (Place 3/4 end mill in spindle)
  • N010 G54 G90 S500 M03 T02 (Select coordinate system, abs mode, start spindle, get next tool ready)
  • N015 G00 X-0.5 Y-0.5 (Rapid to approach position)
  • N020 G43 H01 Z0.1 (Instate tool length compensation)
  • N025 Z-0.6 M08 (Rapid to work surface, turn on coolant)
  • N030 G41 D31 X0 (Instate cutter radius comp)
  • N035 G01 Y0.7395 (Mill left end)
  • N040 X1.75 (Mill top to beginning of left radius)
  • N045 G03 X2.4134 Y1.0 J0.975 (Mill top left radius)
  • N050 G01 X6.5236 (Mill top to beginning of top right radius)
  • N055 G03 X7.187 Y0.7395 I0.6634 J0.7145 (Mill top right radius)
  • N060 G01 X8.0 (Mill to right end)
  • N065 Y0 (Mill right end)
  • N070 X7.1843 (Mill to beginning of bottom right radius)
  • N075 G03 X6.375 Y0.355 I-0.8093 J-0.745 (Mill bottom right radius)
  • N080 G01 X2.375 (Mill bottom to beginning of lower left radius)
  • N085 G03 X1.5657 Y0 J-1.1 (Mill lower left radius)
  • N090 G01 X-0.2 (Mill final portion of bottom)
  • N095 G00 Z0.1 (Retract in Z)
  • N100 G40 M09 (Cancel cutter comp, turn off coolant)
  • N105 G91 G28 Z0 M19 (Return to tool change position)
  • N110 M01 (Optional stop)
  • .
  • .
  • .

Explanation of directional vectors in the example program

Upper left arc (N045): Only one arrow can be drawn from the start point of this arc to its center - and it will be pointing in the Y plus direction. This means a positive J word will be used in the command. Its value will be the radius of the arc (0.975).

Upper right arc (N055): For this arc, one arrow can be drawn in the X plus direction and another in the Y plus direction from the start point to the center of this arc. This means both an I plus and J plus word must be included in the circular command. I will be 0.6634 (7.187 minus 6.5236) and J will be 0.7145 (1.7145 minus 1.0).

Lower right arc (N075): Again, two arrows can be drawn from start point to center, one in the X minus direction and one in the Y minus direction. This means both an I and J word will be required in the command and they will both be minus. I will be -0.8093 (7.1843 minus 6.375). J will be -0.745 (specified on print).

Lower left arc (N085): With this arc, only one arrow can be drawn from start point to center, and it will be pointing along the Y minus direction - meaning a J minus word will be required in the circular command. Its value will be -1.1, the arc radius as specified on the print.

By the way, if you make a mistake using directional vectors, and even if you're off by only a tiny amount, an alarm will be sounded.

  • See more G-code level CNC tips on our website!
End of article M01

Top of page

Parameter preference: Retract Amount In G73 Chip-Break Peck Drilling Cycle

Parameters control countless things about the way your CNC machine tools behave. In each Parameter preference segment, we will expose a parameter that has an important impact on how your machines run. But first, a disclaimer. Parameters vary from one Fanuc control model to another - as do the actual functions they control. Always check in your Fanuc Operators manual and/or Maintenance manual to confirm the parameter number and settings we show. Never blindly change a parameter! If there is any doubt about what the parameter does, contact your machine tool builder to learn more.

The choice

As machining center programmers know, G73 is used when you want a drill to break chips as it machines a hole. This is important when the material being machined is gummy, and chips have the tendency to form a long string - as is the case with many steels. G73 causes the control to peck a small distance, specified by the Q word in the G73 command. It will then retract a tiny amount, and peck again. This pecking action is repeated until the hold depth is reached (specified by the Z word in the G73 command), at which time the drill will retract all the way out of the hole.

The peck amount (again, specified by the Q word) should be just enough to allow the chip to be broken at a manageable length. Usually 0.1 inch is a good peck amount.

Note that with Fanuc and Fanuc-compatible controls, the retract amount is not programmable. Instead, it is set by a parameter. It should be a tiny value - just big enough to cause the chip to break. A value of 0.003 - 0.005 inch is usually sufficient to cause chip breakage. The larger this value, the more time the G73 command will take to execute. The motion directly after each retract will, of course be done at the programmed feedrate for the G73 command. The greater the retract, the more time it will take the drill to get back into the cut.

The initial value of this parameter is, of course, set by the machine tool builder, and unfortunately, we've seen some machine tool builders that excessively set this parameter. Even if your machine appears to be executing the G73 command in an acceptable manner, we urge you to check the value of the retract amount. We've seen machine tool builders that initially set this value to 0.1 inch. If the peck depth (Q) is also set to 0.10 inch, this retract amount will double the length of time it takes to machine each hole!

Finding the parameter

Frankly speaking, Fanuc does not make it very easy to find parameters - or to understand their meaning. And remember, parameters vary from one control model to another. Whenever looking for a parameter, or if you're questioning whether a parameter is related to a given machine function, I recommend first looking in the Fanuc Operators Manual in the section that describes the feature in question.

In our case, I'm looking in the Fanuc 15M Operators Manual in the section that describes G73. As is common with Fanuc, the description is a little cryptic. It goes like this:

  • The retraction is set by parameter (data no. 6210) or setting. Since the Z-axis direction intermittent feed simplifies chip disposal and permits a very small retraction value to be set in deep hole drilling, efficient machining is performed. Retraction is performed at the rapid traverse rate.

From this we learn that it is parameter number 6210 for a 15M control. Remember, it will be a different parameter number for other Fanuc control models - and you can find out which one by looking at the description of G73 in your Fanuc Operators Manual.

When looking at parameter number 6210 in the parameter documentation for a 15M control (I'm looking in the Operation and Maintenance Handbook to see the parameter documentation), I find that parameter 6210 is specified with a value (as opposed to a 8-bit binary parameter). Actually, the parameter documentation reads as follows:

  • 6210: Retract value in canned cycle G73 (G83.1 for lathe systems

From past experience, I know that this value must be specified without a decimal point. In the inch mode, a four-place format must be used (in metric, it will be a three-place format). If you work in the inch system, a value of 0.005 inch must be specified as 0050 (or simply 50). If you work in the metric system, a value of 0.1 mm will be specified as 100.

Again, we urge you to check the setting for this parameter for your controls. If you've never checked it, you may find that it is excessively set.

End of article (M01)

Top of page

Manager's corner: Your most important resource

The people you have working for you contribute the most to your success. Without good, knowledgeable people, even the best managers will likely fail. Unfortunately, it is becoming harder and harder to find and keep proficient CNC people. Given this problem, you have two alternatives: You can either improve the proficiency of your people, or you can simplify the tasks they must perform.

Improving proficiency is probably the single-most effective way to improve productivity. Proficient programmers write efficient programs. Proficient setup people make efficient setups. Proficient CNC operators run good parts. Think of any facet of manufacturing (or in any profession). Improving the proficiency of the people involved will, in turn, improve their productivity. It's as simple as that.

The most obvious way to improve proficiency is to provide training in areas that your people are weak. Get them up to speed. And don't just get them to the point that they can make do - bring them to the point that they are truly confident with the tasks they must perform. Again, truly proficient people are the most productive people.

Though providing training is the most obvious way to improve proficiency, there are alternatives. Positive reinforcement for jobs well done, incentives to reach acceptable proficiency levels, and tangible participation in the companies success help provide the motivation it takes for your people to want to improve. With the right amount of motivation, your people can do just about anything.

As stated, you can also improve productivity by lowering the proficiency (skill) level required to perform a given task. I call this the fast-food approach. When you order your favorite meal at any fast-food restaurant, you probably say something like "meal number three". Your server simply presses one button on the cash-register and is told the food to put in the bag and how much to charge. When you pay, the server types the amount you've provided and the cash-register tells them how much money to give you back. This makes it possible for just about anyone to work in a fast-food restaurant.

You can apply this approach to any task a CNC person is required to do. Though most (motivated) people would prefer to learn what it takes to become proficient with the task at its current difficulty level, you can also achieve great success by reducing the skill required to perform the task.

Past issues of The Optional Stop newsletter have been filled with techniques aimed at lowering the proficiency required to perform CNC-related tasks. Additionally we provide many proficiency-reducing CNC tips on our website. But the best way to determine which tasks are currently causing problems is to watch your CNC people.

Complex tasks should be pretty easy to spot. Look for wasted time, duplicated effort, confused people, scrap parts, damaged machines, and in general, anything that detracts from productivity. These symptoms should be taken as a signal that you must either improve the proficiency of the people involved - or lower the proficiency required to perform the task.

End of article (M01)

Top of page

Safety tip: Keep A Finger Ready To Press Feed Hold!

This is a pretty simple tip, and very easy to implement. And we can almost guarantee that it will save a crash some day. Whenever you press the cycle start button, get in the habit of having a finger ready to press the feed hold button. Feed hold, of course, will instantly stop the machine's axis motion. This button is usually in close proximity to the cycle start button, so you may even be able to use one hand for both buttons (a forefinger for cycle start and a thumb for feed hold).

You know that there are many switches that have to be properly set in order for the machine to behave as you expect it to. You may be doing a dry run, and wanting to take control of the machine's motion during approach movements. If everything isn't perfect, you may be expecting the machine to "crawl up" to the workpiece, but when you press the cycle start button, it takes off at rapid! Without a finger ready to press the feed hold button, you first have to find it. By the time you do, it may be too late.

Keeping a finger ready to press the feed hold button is especially important when you are in doubt about what the machine is going to do. Maybe you've just completed a setup and you're ready to run the program for the first time. Maybe you're rerunning a tool. Maybe you've been away from the machine for a break or lunch. Or maybe you're starting your shift. We urge you to always have a finger ready to press the feed hold button whenever you press the cycle start button - you never know when it will help you avoid a nasty surprise.

End of article (M01)

Top of page