How to test and review CADCAM software for your company - Generating NC code

Page 2 of 6: Generating NC code

We are now in a position to generate NC code, however programmers will often want to simulate the job prior to running it on the machine. On a capable CAM system, simulation will show exactly what will happen when the nest is run on the machine tool. A large amount of time and money can be saved by graphically simulating the machining process, and identifying any possible problems, such as a component being cut/punched/unloaded incorrectly, wrong machining sequences specified, etc. Simulation gives the CNC programmer a great deal of confidence, assuring that when the operator presses the Green Start button on the machine tool, he is not going to have any major disasters.

Once we are satisfied with the simulation, a CNC program for the machine can be generated. This is normally done by a special module in the CAM system, which takes the ‘generic’ machining data stored in the CAM system’s database for a particular nest and converts it to CNC program instructions a particular machine tool will ‘understand’. This is referred to as ‘post processing’ and the module is usually called ‘postprocessor‘(regardless whether it is an internal or external function to the CAM system). Just about every machine tool requires different instructions and to complicate the matter still further, each machine tool can offer a wide range of options such as complex loading/unloading systems, tapping attachments, labeling devices, etc. Additionally, there are so called ‘combination’ machines, which combine two or even three different machining technologies in one machine tool (ie. Punch/Laser or Punch/Right Angle Shear combinations, etc) and these can also have any or all special options, mentioned above. When you purchase your CAM system from and independent vendor, you will choose a postprocessor to match your machine. This is actually one of the most important aspects of a CAM system as without a well constructed postprocessor you will not get the best out of your machine. A postprocessor could be compared to a printer driver – taking your printed document and converting it to something that your printer can understand and produce. Ask the vendor for details of some of their existing customers that have the same machine tool so that you can find out their experiences. If the machine is new and no postprocessor exists, you will probably need to supply machine programming manual and other information to the CAM vendor in order to allow them to develop the required postprocessor for you.

When should an organization consider buying a new CAM system?

  •  When a first machine tool is purchased - that beautiful piece of machinery just installed in your facility becomes an expensive ‘paper weight’ if you cannot feed it fast enough with reliable CNC programs! Most machine tool manufacturers offer some sort of CNC programming system with their machines. These may come from independent software vendors or may be developed by the machine manufacturer. The ones developed by machine manufacturers usually support only their own machine tools, so keep in mind that if you acquire such CAM system and you decide to buy another machine tool from another manufacturer in the future, your CAM system will not be compatible with it and you will need another one to program the new machine. In any case, it is always a good idea to compare offerings from other independent CAM system vendors when purchasing a machine tool.
  • When you are buying another machine tool and you have an existing CAM system or systems which cannot support it. In such cases it would be prudent to contemplate the replacement of the existing CAM system(s) with a single one which can support both of your machines and is also ‘future proof’ as much as possible.
  • If you organization has a collection of various CAM systems supporting a collection of various machine tools and you or somebody else in your organization finally decided to stop the unmanageable mess and waste of resources such situation creates and consolidate all the programming into one single CAM system.
  • If you want to improve production yield and minimize material wastage
  • If you desire to fully automate component ordering, nesting, CNC program generation and improve machine efficiency and loading
  • If you desire any combination of the above

‘Small, medium or large?’
The price point of software that you evaluate will be determined by the functionality and automation it offers. As with everything else, you get what you pay for. It is a fact that although CAM systems have impact on numerous areas of the business, many companies make the mistake of tasking the selection of CAM software to the CNC programming department alone. Ideally it should have sponsorship and final expenditure sign-off at board level, members of which should understand potential impact of it on the whole operation.
Which CAM system you should select depends very much on your company’s operation, machine tools in use and the quantities and mix of parts being produced. Materials you are processing and their prices also figure strongly in this evaluation.


There are numerous CAM systems available worldwide, offering various levels of functionality, but only few offer a range of levels from the fairly simple and inexpensive to full ‘no-hands‘ automation. If you decide that your organization currently has no need for high functionality and automation and selects a lower level CAM system, make sure that it will grow with you. You may have only one simple machine tool today with limited programming needs, but in a year or two the situation may change and you suddenly realize that you need to program another machine or two that you just acquired, and that you need higher CAM functionality and automation to be able to cope with the potentially dramatically increased workload. At that time you may also decide that, as your material usage is increasing, you want the most effective automatic nesting to cash in on potential material savings. Because of this, you want to make sure now that the CAM system you select can be easily upgraded to high levels of functionality and automation and that it can effectively support any machine tool you may purchase in the future.

Take into account that should you be forced to change to a CAM system from different vendor sometimes in the future, your current component and nesting files and your technology databases will be most likely incompatible with the new CAM system and you will have to start all over again.  Also, should you end up having (or perhaps already have) two or more programming systems supporting different machine tools, you will not only significantly increase your CNC programming overheads, but also limit the flexibility of your production department, as quick changes of jobs between machines become difficult and keeping track of revisions/modifications to components become a nightmare, since numerous copies of same components will reside on a number of different CAM systems…

Questions to analyze


Sheet metal news, fabrication exhibitions, software, cnc, hardware, forums and tutorials.