At the turn of the 21st century, a new ISO standard also known as STEP-NC was developed to provide a data model for a new breed of intelligent CNC Controllers. Its Application Reference Model (ARM) has been given the number ISO 14649, which represents a common standard specifically aimed at NC programming, making the goal of a standardised CNC controller and NC code generation facility a reality. Coupled with the ARM is the STEP-NC Application Interpreted Model (AIM), ISO 10303 Part 238. The STEP-NC ARM (ISO 14649) provides an object oriented data model for CNC’s with a detailed and structured data interface that incorporates feature based programming where there is a range of information such as the features to be machined, tool types used, the operations (Workingsteps) to perform, and the process plan (Workplan). Though it is possible to closely define the machine tool trajectory using STEP-NC, the aim of the standard is to allow these decisions to be made by a STEP-NC enabled controller. It is the aim that STEP-NC part programs may be written once and used on many different types of machine tool controller providing the machine has the required process capabilities. The STEP-NC AIM, i.e. ISO 10303 Part 238, provides the avenue for a fully integrated CAD/CAPP/CAM/CNC by bringing together various STEP APs for different stage of product development stages.