The challenge for moldmakers with multi-axis machines is to generate CNC programs that fully exploit the capabilities of these machines. The goal is to take full advantage of the additional axes of movement—whether on the table or in the tool head—in the most efficient manner while producing an outstanding surface finish.

In recent years, the growing complexity of simultaneous machine movement has made this difficult for CAM software systems due to both mathematical and technology challenges. The leaps in machine technology make it hard to synchronize the development of the technology to produce the efficient NC programs to run the machines.

In addition, any software product designed for multi-axis machines must be kept easy-to-use and error-proof. The smallest programming error can generate costly damages because the materials, high precision tools and accessories for these advanced machine tools are quite expensive.

Based on these premises, the challenge for CAM software developers is how to combine a set of powerful programming functions with a programming process that is easily understood by the user. The capabilities of these functions must be presented clearly, stepping the user through the programming process in order to avoid errors during the toolpath definition, while never becoming rigid or imposing limitations.

Old School Thinking
In order to provide users with a reasonable number of machining options, CAM software developers have almost always fragmented their 4- and 5-axis functionality into various dedicated functions for very specific types of toolpath. In fact, a point of pride for some CAM developers is the large number of functions available.

The price to be paid for this type of software development is that soon the system becomes a labyrinth of functions with the typical end user knowing and exploiting only a limited number of them. Busy CNC programmers cannot possibly be expected to memorize the purpose of dozens of functions in a CAM system. Programmers typically stick to the functions they know best and ignore the rest.

Four Easy Pieces
A new concept in highly advanced machining functionality is based on the idea that any 5-axis machining function—no matter how complex—can be defined with a few simple steps. When a moldmaker sits down to program a mold, he or she follows a time-tested method for deciding how to program that mold:

What areas do I want to machine and in what order? Based on the complexity of the shapes involved, this can often be the most thought-provoking step for skilled machinists.
What do I want the toolpath to look like on those areas? Do I want the tool to follow the parametric lines of the surfaces, cut in a back and forth or up and down motion, use the boundary of the surfaces as a guide, etc.?

How do I want to orient the tool axis as it follows the toolpath? This is very important to the quality of the surface finish and whether a short, rigid tool is being used in tight spaces. Moldmakers require full control over the tool, which includes lead and lag angles to control the tilt of the tool. In addition, many machines have angle limits on how far the table or head can rotate and these limits must be taken into consideration. For example, the B-axis on a mill/turn machine will have limitations on how far it can rotate.

How do I want the tool to transition from one cutting pass to the next? How do I want to control tool reposition moves at the beginning and end of the toolpath or when the tool must move between regions? Transition moves are critical in moldmaking to avoid witness lines and tool marks that will have to be polished out by hand later.