Understanding Post Processors

What is a post processor? A software engineer from CNC Software, makers of Mastercam programming software, explains the different types of CNC post processors, the different types of post processor users and the different levels of functionality in post processors.


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

Good CAM systems import all sorts of CAD models and use them as virtual environments where tool paths for hundreds of CNC machine types can be generated. CAD and CAM systems are visually exciting. In their shadow, however, is an equally important piece of software. It is the bridge between computer-generated tool paths and the CNC equipment. It is called the “post processor” or “post” for short. Although it’s not as graphically interesting as CAD or CAM, there is a lot more to the post than meets the eye. Understanding those things can help your shop become more capable and productive.

What is a CNC Post Processor?

Say you are going to manufacture a part on a mill, lathe or multi-axis machining center. To do this, you create the tool paths in your CAM system, and then you “post it.” That means you send the instructions for making your part to the post processor, an intermediary piece of software that translates the tool motions calculated by your CAM software into NC code that can be executed by your particular machine.

A good post is also capable of “flavoring” this information in ways that best suit your shop’s workflow, data handling procedures, and most importantly, the requirements of your machine tool and control. For example, your control will expect information such as work offsets, tool offsets and canned cycles to be formatted and presented in a specific way. Examples of machine shop-specific customization might include your standards for safety blocks or required comments. The post can also generate additional outputs such as alarms or signals to equipment performing secondary operations. Some posts can be programmed to deliver functionality beyond what is currently available in your CAD system.

Open vs. Closed Post Processors

CAM vendors offer post processors that are either open or closed. Closed post processors allow no one but authorized parties (that is, the post vendor) to customize the post. Open post processors have an architecture that allows anyone—vendors, resellers and customers—to make modifications to customize the post processor’s behavior.

The benefit of the closed approach lies in its simplicity and safety. Users get what they pay for, and ideally, the CAM software will give them everything they need in functionality and performance. If not, the vendor will create customizations for a fee.

Open post processors give their users more options to make this software fit their preferences and requirements. Today, there is a large community of experts who know how to develop post customizations, and they share their knowledge with each other. Open post processors provide their own layer of safety, too. Because extensive modifications can be made entirely outside the main CAM program routines, it is less likely that a user’s CAM software code might be corrupted by poorly developed customizations.

The ready availability of customization expertise means that resellers and users can be more involved in flavoring the post so that the user’s preferences are realized sooner. In addition, users with the right expertise can continue to make modifications as needed so that the post’s contribution to quality and productivity may increase substantially over the years.

As a software engineer deeply involved in the development of open post processors, I will keep my observations mainly to that arena.

Variety of Post Processor Users

The first customers for new posts are the machine tool builders. When a new machine tool is being developed, leading CAM software developers work closely with the machine builder and controller suppliers to develop an initial “generic” post that satisfies a majority of output requirements for the new machine tool. The typical CAM software developer is likely to have relationships with many machine tool vendors. These relationships enable the software developer to create and test posts on new machine tools. Mastercam, for example, works with nearly a hundred machine tool companies.

These generic posts can be used as written, with little (if any) customization, to put the new machine tools through initial testing by shops that are early adopters. There has to be enough functionality in the generic post so that the new users can operate the equipment productively. However, flavoring of the post should be kept to a minimum at this point. Otherwise, some customers may be satisfied, while others may find the post totally contrary to the way they structure their CNC manufacturing workflow. This approach enables the final configuration to be tailored closely to the specific needs of each end user.

End users generally fall into one of three categories. A great many will find that the generic post (with or without some minor modifications by the reseller) meets their needs. Others will need some specific customization, which could be minimal or extensive. In most cases, the cost of customization will only be a small fraction of what it would take to develop a completely custom post, because a generic version that already covers all or most of the end user’s requirements is likely to be the starting point.

The third type of end user includes CNC programmers and machine operators who have learned to go into the post and change lines of code to change its functionality. For example, most machinists who need to make a minor variation on a part that has already been programmed will simply modify the G and M code at the machine. However, if such part variations are made frequently, then it is far more efficient to edit the post processor to generate the code automatically by prompting for some dimensional variables.

Additional Functionality of Post Processors

Skilled post writers can create additional functionality for their equipment even when the desired routines are not supported in the CAM system itself, as these two examples show:

  • Canned Pocket Cycles: Many CAM packages have canned drilling cycles but few have canned pocketing. This is not a problem if you have an open post. You can customize the post to take data from a CAM drilling cycle and output a canned pocket routine instead.
  • Programming Robots: Although Mastercam does not support robots, enough data is available in the CAD file to drive one. The developers of RobotMaster (Jabez Technologies Inc.) grasped this fact and used the Mastercam post processor to create a specialized module to drive a wide variety of six-axis robots. Robot trajectories are programmed graphically within the CAM package. Then the RobotMaster module uses the CAM software’s machine definitions to define the outputs for particular robots.

The lesson here is simple: If the requisite data is in the CAD file, you can use a good CAM system and an open post processor to program a CNC machine to its full capability.

Getting Some Help with Post Processors

With the basic training that comes with a standard CAM installation, most programmers can soon make useful changes competently. Typically, users simply need to know how to post the program to their CNC machine or change some data in tables to get it to perform simple variations of programs created in the CAM package.

For those who want to learn more, there is an enormous amount of information on the Internet. Search engines such as Google can locate numerous websites with pertinent information, especially if multiple searches are conducted using a variety of keywords. Patience and persistence is likely to be rewarded. Another option is to enter a question on an Internet forum, such as those hosted by the CAM developer for its community of users. (For example, emastercam.com is operated by In-House Solutions Inc., a Mastercam distributor.) The experience with this forum shows that usually it won’t be long before helpful suggestions and possible solutions are submitted in reply.

Finally, a user might consider taking an advanced post processor training course. For those with an aptitude for writing scripts, this knowledge can help them expand the productivity of their shop’s CNC machines.


  • How to Slash 5-Axis Finishing Time

    Finally there is an alternative to ballnose endmills for finishing 3D parts. The combination of finishing tools shaped to provide more cutting surface and a CAM system with the ability to apply them on a five-axis machining center can dramatically reduce finishing cycle times while delivering better surface finishes.

  • Understanding NURBS Interpolation

    The right way to program curves? A solution to yesterday's problems? The truth is probably somewhere in between.

  • Programming A Robot The Way You Program A CNC Machine Tool

    Programming a robot with the same CAM software used for a multi-axis machine tool makes it unnecessary to “teach” the robot by jogging it manually from point to point and recording these point-to-point moves as the robot’s motion commands. Robotmaster is a software package that provides this CAD/CAM-based, off-line programming for robots. It runs fully integrated inside Mastercam CAM software for CNC machine tools.