6 Steps to Take Before Creating a CNC Program

Any time saved by skipping preparation for programming can be easily lost when the program makes it to the machine. Follow these steps to ensure success.


Facebook Share Icon LinkedIn Share Icon Twitter Share Icon Share by EMail icon Print Icon

The success of a CNC program is a direct result of the preparation done prior to its creation. While an ill-prepared programmer may be able to create workable programs, such programs will often be prone to error, inefficient, unfriendly to the user or difficult to verify. Any time saved by skipping preparation steps can be easily lost when the job arrives at a CNC machine.

machinist working at laptop

Taking the time to properly prepare will go a long way toward making sure a CNC program is successful and efficient. 

Here are six planning steps to complete before producing a new program.

Step 1: Determine the machining operations to be performed.

For simple workpieces, required machining operations may be easy to ascertain. But as complexity increases, so does the difficulty in isolating everything that must be done during a given operation. A company’s routing sheet, which commonly gives generic instructions like “complete all milling and hole machining,” is unhelpful. It is left to the programmer to find all surfaces that must be machined. This is no easy task with complex drawings having multiple views distributed among several pages.

One way to identify machined surfaces is to use colored pens and mark up a working copy of the engineering drawing. Another is to create a list of machined surfaces and the related cutting tools. Either technique will keep you from omitting something when it comes time to create the program.

Step 2: Decide the machining order.

The order of machining operations is of the utmost importance. One general rule of thumb is to rough everything before finishing anything. If this rule is broken, it may be impossible to consistently produce acceptable workpieces. It is easy to forget something in a complex process. 

I recommend using a sequence of operations planning form. Headings for this form can include:

  • Step number
  • Operation description
  • Cutting tool name (with cutting tool components listed separately)
  • Cutting tool station number
  • Spindle speed
  • Feed rate
  • Notes/issues for the step

A completed form becomes the written version of your program. Anyone seeing it in the future will know exactly what the program is doing. If you question whether your chosen process will work, you can share it with others in your company for confirmation. Use it as a checklist while developing your program to keep from forgetting something.

Step 3: Do the math.

The idea here is to avoid breaking your train of thought while programming to perform a calculation. During manual programming, you must calculate coordinates needed for the program. There will also be cutting conditions (speeds and feeds) to calculate, even if using a CAM system. Coordinates can be documented separately or written on your working copy of the engineering drawing. Speeds and feeds can be documented on the previously mentioned planning form as well.

Step 4: Consider the workholding device.

There may be things about the workholding device that affect how you create the CNC program. Examples include the orientation of a fixture on a table, clamps that must be avoided, location surfaces and jaw configuration for three-jaw chucks. Only with a clear understanding of how the workpiece will be held in the setup can you create an acceptable CNC program.

Step 5: Consider the cutting tools.

Cutting conditions are directly related to the cutting tools you’ll be using and, as mentioned, should be documented on the planning form. There may also be rigidity or clearance issues. If you know a milling cutter will be performing powerful roughing operations, it must be kept as short as possible. Conversely, a drill may have to reach deep into a casting to get to a surface into which a hole must be machined. Notes included on your planning form can highlight any special considerations you should remember when programming and when providing setup instructions.

At some point, you must come up with a list of components that make up each cutting tool. This information will be included in setup documentation. Doing this before programming may expose an issue that affects what the program must do.

Step 6: Write the documentation.

Develop setup and production run documentation as if the CNC program has already been created. Thinking through what setup people and operators must do when they run the job may expose something that you can do in the program to help them. Will the workholding setup be qualified? If so, can you include G10 commands in the program to retain/enter program zero assigning values in fixture offsets? Will trial machining be necessary? If so, could a probe be used to automate the process? Developing documentation in advance could help answer these questions for employees. 

While these preparation steps take time, skipping them can be reckless and wasteful, especially when you consider the machine (down)time that will be required to correct issues that should have been handled during the preparation stage. There is no excuse for wasting machine time for something as basic as not being truly ready to create the program in the first place.