Last updated
STEP-NC interface on a CNC, showing product shape and color-coded tolerance state STEP-NC control scania.jpg
STEP-NC interface on a CNC, showing product shape and color-coded tolerance state

STEP-NC is a machine tool control language that extends the ISO 10303 STEP standards with the machining model in ISO 14649, [1] adding geometric dimension and tolerance data for inspection, and the STEP PDM model for integration into the wider enterprise. The combined result has been standardized as ISO 10303-238 [2] (also known as AP238).

Machine tool Metalworking machine

A machine tool is a machine for shaping or machining metal or other rigid materials, usually by cutting, boring, grinding, shearing, or other forms of deformation. Machine tools employ some sort of tool that does the cutting or shaping. All machine tools have some means of constraining the workpiece and provide a guided movement of the parts of the machine. Thus the relative movement between the workpiece and the cutting tool is controlled or constrained by the machine to at least some extent, rather than being entirely "offhand" or "freehand".

ISO 10303 is an ISO standard for the computer-interpretable representation and exchange of product manufacturing information. Its official title is: Automation systems and integration — Product data representation and exchange. It is known informally as "STEP", which stands for "Standard for the Exchange of Product model data". ISO 10303 can represent 3D objects in Computer-aided design (CAD) and related information.

Geometric dimensioning and tolerancing standardized code for engineers to specify parts for manufacturing

Geometric dimensioning and tolerancing (GD&T) is a system for defining and communicating engineering tolerances. It uses a symbolic language on engineering drawings and computer-generated three-dimensional solid models that explicitly describe nominal geometry and its allowable variation. It tells the manufacturing staff and machines what degree of accuracy and precision is needed on each controlled feature of the part. GD&T is used to define the nominal geometry of parts and assemblies, to define the allowable variation in form and possible size of individual features, and to define the allowable variation between features.


STEP-NC was designed to replace ISO 6983/RS274D G-codes with a modern, associative communications protocol that connects computer numerical controlled (CNC) process data to a product description of the part being machined.

G-code, which has many variants, is the common name for the most widely used numerical control (NC) programming language. It is used mainly in computer-aided manufacturing to control automated machine tools.

A STEP-NC program can use the full range of geometric constructs [3] from the STEP standard to communicate device-independent toolpaths to the CNC. It can provide CAM operational descriptions and STEP CAD geometry to the CNC so workpieces, stock, fixtures and cutting tool shapes can be visualized and analyzed in the context of the toolpaths. STEP GD&T information can also be added to enable quality measurement on the control, and CAM-independent volume removal features [4] may be added to facilitate regeneration and modification of the toolpaths before or during machining for closed loop manufacturing.

Computer-aided manufacturing use of computer software to control machine tools

Computer-aided manufacturing (CAM) is the use of software to control machine tools and related ones in the manufacturing of workpieces. This is not the only definition for CAM, but it is the most common; CAM may also refer to the use of a computer to assist in all operations of a manufacturing plant, including planning, management, transportation and storage. Its primary purpose is to create a faster production process and components and tooling with more precise dimensions and material consistency, which in some cases, uses only the required amount of raw material, while simultaneously reducing energy consumption. CAM is now a system used in schools and lower educational purposes. CAM is a subsequent computer-aided process after computer-aided design (CAD) and sometimes computer-aided engineering (CAE), as the model generated in CAD and verified in CAE can be input into CAM software, which then controls the machine tool. CAM is used in many schools alongside Computer-Aided Design (CAD) to create objects.

Boundary representation method for representing shapes using the limits. A solid is represented as a collection of connected surface elements, the boundary between solid and non-solid

In solid modeling and computer-aided design, boundary representation—often abbreviated as B-rep or BREP—is a method for representing shapes using the limits. A solid is represented as a collection of connected surface elements, the boundary between solid and non-solid.


Impeller machined using STEP-NC STEP-NC impeller.jpg
Impeller machined using STEP-NC

Input to a CNC in the ISO 6983/RS274D G-code control language is often machine-specific and limited to axis motion commands. The machine tool is given little or no information about the desired result of the machining.

STEP-NC allows more information about the machining process to be sent to the machine control and adds new information about the product being machined. [5] This "Smart Data for Smart Machining" [6] enables applications such as the following:


Overview of STEP-NC process model STEP-NC cncprocess diag.gif
Overview of STEP-NC process model

STEP-NC can communicate a complete machining process description to a machine tool control or between manufacturing software applications. The information handled by STEP-NC can be divided into the following general categories. The standard handles technology-specific parameters for milling and turning, and extensions for other technologies under development (see Future Work).

Turning machining technique acting on rotated objects

Turning is a machining process in which a cutting tool, typically a non-rotary tool bit, describes a helix toolpath by moving more or less linearly while the workpiece rotates.

STEP-NC can exchange the explicit toolpath descriptions in use today, and add part, stock, and fixture geometry, a description of the tools, geometric dimensions and tolerances, and PDM information. A STEP-NC file is difficult to edit by hand because it contains geometry descriptions but for large programs the file size can be smaller because STEP-NC uses a compressed XML format instead of ASCII codes.


STEP-NC is not the first attempt at providing better quality information to a CNC. The EIA 494 Basic Control Language (BCL) [13] defined a control language that was portable and had toolpaths independent of machine geometry, but did not contain any of the other product model information found in STEP-NC. [14]

The core of STEP-NC is the ISO 14649 model for CNC control developed by European ESPRIT and IMS [15] STEP-NC projects begun in 1999. These were led by Siemens with contributions from RWTH Aachen University and the University of Stuttgart in Germany, Komatsu and FANUC in Japan, Heidenhain in Switzerland, and the Pohang University of Science and Technology in Korea. [16] Models for the control of CNC milling [11] and turning machines [12] were published in 2005, and draft models exist for EDM and contour cutting.

Integration of the CNC model into STEP [17] to produce ISO 10303-238 was done in the United States, under the NIST ATP Model Driven Intelligent Control of Manufacturing project, led by STEP Tools, Inc. with an industrial review board (IRB) consisting of Fortune 500 companies, CAD and CAM software developers, machine tool manufacturers, job shops and industry experts. [18] STEP-NC AP238 was published in 2007. [2]

STEP-NC Crown Wheel STEP-NC Crown Wheel.jpg
STEP-NC Crown Wheel

In 2005 the OMAC STEP-NC Working Group hosted an AP238 testing forum in Orlando to demonstrate 5-axis parts machined using AP238 CC1 machine independent toolpaths. Four CAD/CAM systems produced AP238 machining programs for milling a 5-axis test part (an NAS 979 circle/diamond/square with an inverted NAS 979 cone test in the center). Each run on a pair of CNCs configured for completely different machine geometries (AB tool tilt vs. BC table tilt). [19] In addition, Boeing cut parts on a variety of machines at their Tulsa facility and a machine at NIST in Gaithersburg. [20]

In June 2006, a live 5-axis STEP-NC machining demonstration was hosted by Airbus at the Université Paul Sabatier Laboratoire de Génie mécanique in Toulouse. [21] Further machining and measurement demonstrations were conducted in Ibusuki Japan in 2007. [22]

On March 10–12, 2008, the STEP Manufacturing team (ISO TC184 SC4 WG3 T24) met in Sandviken and Stockholm, Sweden to demonstrate use of STEP-NC for feed and speed optimization, high-speed machining, tolerance-driven tool compensation and traceability. The participants in the demonstrations included Airbus/Univ. Bordeaux, Boeing, Eurostep, KTH Royal Institute of Technology, NIST, Sandvik Coromant, Scania, STEP Tools, and Univ. of Vigo. [23]

On October 1–2, 2008, the STEP Manufacturing team met at the Connecticut Center for Advanced Technology, in Hartford, Connecticut to demonstrate closed-loop machining, feed optimization, and measurement using STEP-NC. The highlight of the meeting was the live 5-axis machining of a titanium impeller. Participants in the machining demonstration and other activities included Boeing, Connecticut Center for Advanced Technology, Concepts NRec, DMG, KTH Royal Institute of Technology, Mitutoyo, NIST, Sandvik Coromant, Scania, Siemens, and STEP Tools. [24]

These participants and others continue to hold STEP-NC international implementation and testing events on a roughly six-month cycle. The demonstrations in 2009 focused on machining a Mold part at multiple sites from the same AP238 data including one part machined on a FANUC-developed STEP-NC control. At a meeting in Seattle the parts were then measured for accuracy using a CMM probe and a laser scanner. [25]

STEP-NC machining on an Okuma CNC at IMTS 2014. STEP-NC at IMTS 2014.jpg
STEP-NC machining on an Okuma CNC at IMTS 2014.

In the first half of 2010, the testing activity focused on tool wear management and machining a part in multiple setups with multiple alternate machining plans for 3, 4 and 5-axis machining. The new test part was a gear box that must be machined on all six sides. The tool wear and consequent machine loads were predicted from the STEP-NC data and verified using a dynamometer. [26] In the second half of 2010, the testing forum applied STEP-NC to set up compensation with on-machine measurement of part and fixture datums using a FaroArm portable measurement device. [27]

In 2012, the testing focused on machine tool accuracy calculations, culminating in a demonstration in June at the KTH production engineering labs in Stockholm. The test case milled a forged blank for a Crown Wheel Gear on an older Mazak VQC 20. Accuracy data from the machine was combined with tool engagement information from the STEP-NC to predict the deflections, which were tested against actual machining results. [28]

In 2014, CAM data exchange using STEP-NC was shown at IMTS 2014 with daily machining demonstrations hosted by Okuma. A base machining process for a mold part was created by Boeing and then sent to Sandvik and ISCAR for optimization, producing a STEP-NC description containing all three process options. All machining was done in titanium and a range of CAM software was used, with all results captured as STEP-NC. [29] [30]

At IMTS 2018, a team consisting of Airbus, Boeing, DMG MORI, Hyundai WIA, Renishaw, and Mitutoyo demonstrated Digital Twin manufacturing by combining STEP-NC model and process data with MTConnect machine tool status and Quality Information Format (QIF) metrology results. [31]

Future work

STEP-NC plasma cutting STEP-NC plasma cutting.jpg
STEP-NC plasma cutting

Work continues within the ISO standard committees to extend STEP-NC to new technologies and to incorporate refinements discovered during use. Process models for new technologies are usually produced by the ISO TC184/SC1/WG7 committee. Models for Wire & Sink EDM [32] and contour cutting of wood or stone are under investigation.

Work on extending and integrating STEP-NC with the manufacturing enterprise takes place in the ISO TC184/SC4/WG3/T24 STEP Manufacturing Team. [33] This group also works on extensions and refinements discovered during testing. A series of traceability extensions have been proposed for linking STEP-NC machining programs with sensor feedback and machine state information during execution. [34]

The National Shipbuilding Research Program (NSRP) has also hosted work to implement a prototype that connects a shipyard design system to a plate cutting using STEP-NC. [35] This work involved extending STEP-NC to steel plate cutting and marking using lasers and plasma torches.

A second edition of AP238 is being prepared for model-based integrated manufacturing, with geometry, tolerance, and kinematics improvements first introduced by AP242. [36] .

Related Research Articles

Founded in MA in 1983, CNC Software, Inc. is one of the oldest developers of PC-based computer-aided design / computer-aided manufacturing (CAD/CAM) software. They are one of the first to introduce CAD/CAM software designed for both machinists and engineers. Mastercam, CNC Software’s main product, started as a 2D CAM system with CAD tools that let machinists design virtual parts on a computer screen and also guided computer numerical controlled (CNC) machine tools in the manufacture of parts. Since then, Mastercam has grown into the most widely used CAD/CAM package in the world. CNC Software, Inc. is now located in Tolland, Connecticut.

STEP-File is the most widely used data exchange form of STEP. ISO 10303 can represent 3D objects in Computer-aided design (CAD) and related information. Due to its ASCII structure, a STEP-file is easy to read, with typically one instance per line. The format of a STEP-File is defined in ISO 10303-21 Clear Text Encoding of the Exchange Structure.

Tebis is a CAD/CAM program supplied by Tebis Technische Informationssysteme AG headquartered in Martinsried near Munich/Germany.

ISO 10303-22 is a part of the implementation methods of STEP with the official title Standard data access interface or simply SDAI.

Computer-integrated manufacturing manufacturing approach of using computers to control the entire production process

Computer-integrated manufacturing (CIM) is the manufacturing approach of using computers to control the entire production process. This integration allows individual processes to exchange information with each other and initiate actions. Although manufacturing can be faster and less error-prone by the integration of computers, the main advantage is the ability to create automated manufacturing processes. Typically CIM relies on closed-loop control processes, based on real-time input from sensors. It is also known as flexible design and manufacturing.

Product and manufacturing information, also abbreviated PMI, conveys non-geometric attributes in 3D computer-aided design (CAD) and Collaborative Product Development systems necessary for manufacturing product components and assemblies. PMI may include geometric dimensions and tolerances, 3D annotation (text) and dimensions, surface finish, and material specifications. PMI is used in conjunction with the 3D model within model-based definition to allow for the elimination of 2D drawings for data set utilization.

CAD data exchange is a modality of data exchange used to translate data between different Computer-aided design (CAD) authoring systems or between CAD and other downstream CAx systems.

The ISO 15926 is a standard for data integration, sharing, exchange, and hand-over between computer systems.

EXPRESS (data modeling language)

EXPRESS is a standard data modeling language for product data. EXPRESS is formalized in the ISO Standard for the Exchange of Product model STEP, and standardized as ISO 10303-11.

ISO 13399 is an international technical standard by ISO for the computer-interpretable representation and exchange of industrial product data about cutting tools and toolholders. The objective is to provide a mechanism capable of describing product data regarding cutting tools, independent from any particular system. The nature of this description makes it suitable not only for neutral file exchange, but also as a basis for implementing and sharing product databases and archiving, regarding cutting tools.

Multiaxis machining

Multiaxis machining is a manufacturing process that involves tools that move in 4 or more directions and are used to manufacture parts out of metal or other materials by milling away excess material, by water jet cutting or by laser cutting. This type of machining was originally performed mechanically on large complex machines. These machines operated on 4,5,6,and even 12 axes which were controlled individually via levers that rested on cam plates. The cam plates offered the ability to control the tooling device, the table in which the part is secured to, as well as rotating the tooling or part within the machine. Due to the machines size and complexity it took extensive amounts of time to set them up for production. Once computer numerically controlled machining was introduced it provided a faster, more efficient method for machining complex parts. Typical CNC tools support translation in 3 axis; multiaxis machines also support rotation around one or multiple axis. 5-axis machines are commonly used in industry in which the workpiece is translated linearly along three axes and the tooling spindle is capable of rotation about 2 additional axes.


WorkNC is a Computer aided manufacturing (CAM) software developed by Sescoi for multi-axis machining.

LinuxCNC is a free, open-source GNU/Linux software system that implements numerical control capability using general purpose computers to control CNC machines. Designed by various volunteer developers at, it is typically bundled as an ISO file with a modified version of 32-bit Ubuntu Linux which provides the required real-time kernel.

Tool management is needed in metalworking so that the information regarding the tools on hand can be uniformly organized and integrated. The information is stored in a database and is registered and applied using tool management. Tool data management consists of specific data fields, graphics and parameters that are essential in production, as opposed to managing general production equipment.

Freeform surface machining

Freeform surface or complex surfaces are widely manufactured nowadays. The industries which most often manufactures free-form surfaces are basically aerospace, automotive, die mold industries, bio medical and power sector for turbine blades manufacturing. Generally 3 or 5 axis CNC milling machine is used for this purpose. The manufacturing process of free form surface is not an easy job as the tool path generation in present CAM technology is generally based on geometric computation so tool path are not optimum. The geometry can also be not described explicitly so errors and discontinuities occurrence in the solid structure cannot be avoided. Free-form surfaces are machined with the help of different tool path generation method like adaptive iso-planar tool path generation, constant scallop tool path generation, adaptive iso-parametric method, iso-curvature, isophote and by other methods. The different methods are chosen based on the parameters which is needed to be optimized.


  1. ISO 14649-1 (2003). Industrial automation systems and integration -- Physical device control -- Data model for computerized numerical controllers -- Part 1: Overview and fundamental principles. Geneva: International Organization for Standardization. Retrieved 2008-10-27.
  2. 1 2 ISO 10303-238 (2007). Industrial automation systems and integration - Product data representation and exchange - Part 238: Application protocol: Application interpreted model for computerized numerical controllers. Geneva: International Organization for Standardization. Retrieved 2008-10-27.
  3. ISO 10303-42 (2003). Industrial automation systems and integration -- Product data representation and exchange -- Part 42: Integrated generic resource: Geometric and topological representation. Geneva: International Organization for Standardization. Retrieved 2008-10-27.
  4. Callen, John (2002-05-01). "Enabling Manufacturing's Future Without Limits". Modern Machine Shop. Retrieved 2008-10-28.
  5. Xu, X; Klemm, P; Proctor, F; Suh., S. H. (September 2006). "STEP Compliant Process Planning and Manufacturing". International Journal of Computer Integrated Manufacturing. 19 (6): 491–494. doi:10.1080/09511920600669776.
  6. Hardwick, M.; Loffredo, D. (March 2007). "STEP-NC: Smart Data for Smart Machining". Proceedings of the Intl. Conf. on Smart Machining Systems. Intl. Conf. on Smart Machining Systems. NIST, Gaithersburg, MD.
  7. Kennedy, Bill (July 2007). "All Together Now: STEP-NC" (pdf). Cutting Tool Engineering. 59 (7). Retrieved 2008-10-27.
  8. Woods, Susan (April 2006). "Stepin' Out" (pdf). Cutting Tool Engineering. 58 (4). Retrieved 2008-10-27.
  9. "Boeing/Fanuc Tolerance Study" . Retrieved 2008-10-27.
  10. 1 2 ISO 14649-10 (2004). Industrial automation systems and integration -- Physical device control -- Data model for computerized numerical controllers -- Part 10: Part 10: General process data. Geneva: International Organization for Standardization. Retrieved 2008-10-27.
  11. 1 2 ISO 14649-11 (2004). Industrial automation systems and integration -- Physical device control -- Data model for computerized numerical controllers -- Part 11: Process data for milling. Geneva: International Organization for Standardization. Retrieved 2008-10-27.
  12. 1 2 ISO 14649-12 (2005). Industrial automation systems and integration -- Physical device control -- Data model for computerized numerical controllers -- Part 11: Process data for turning. Geneva: International Organization for Standardization. Retrieved 2008-10-27.
  13. ANSI/EIA-494-B-1992 (1992). 32-Bit Binary CL (BCL) and 7-Bit ASCII CL (ACL) Exchange Input Format for Numerically Controlled Machines. Washington, D.C: Electronic Industries Association.
  14. Hardwick, M.; Loffredo, D. (September 2007). "Challenges and Choices in the Specification and Implementation of the STEP-NC AP-238 Standard". Journal of Computing and Information Science in Engineering. 7 (3): 283–291. doi:10.1115/1.2768090.
  15. "Intelligent Manufacturing Systems" . Retrieved 2008-10-27.
  16. Suh, S. H.; Cho, J. H.; Hong, H. D. (January 2002). "On the architecture of intelligent STEP-compliant CNC". International Journal of Computer Integrated Manufacturing. 15 (2): 168–177. doi:10.1080/09511920110056541.
  17. Loffredo, D (2006-07-14). "Validation Report for ISO/IS 10303-238". N2098. ISO TC184/SC4 WG3. Retrieved 2008-10-28.
  18. "STEP-NC Industrial Review Board" . Retrieved 2008-10-28.
  19. Hardwick, M.; Loffredo, D. (September 2006). "Lessons Learned Implementing STEP-NC AP-238". International Journal of Computer Integrated Manufacturing. 19 (6): 523–532. doi:10.1080/09511920600627170.
  20. Venkatesh, S.; Odendahl, D.; Michaloski, J.; Proctor, F.; Kramer, T. (2007-02-01). "Boeing, NIST help to take STEP-NC to new heights". Tooling & Production. Archived from the original on 2010-10-12. Retrieved 2010-10-12.
  21. "International STEP-NC Testing in Toulouse" . Retrieved 2008-10-27.
  22. "STEP-NC Machining and Measurement in Ibusuki" . Retrieved 2008-10-27.
  23. "International STEP-NC Demonstration of Feed Optimization, High-Speed Machining, Tolerance-Driven Tool Compensation, and Traceability" . Retrieved 2008-10-27.
  24. "International STEP-NC Demonstration of Closed-Loop Machining, Feed Optimization, and Measurement" . Retrieved 2008-10-27.
  25. "International STEP-NC Demonstration, Renton, WA 2009" . Retrieved 2010-03-25.
  26. "International STEP-NC Demonstration, National Institute of Standards and Technology (NIST), Gaithersburg, MD, June 2010" . Retrieved 2010-03-25.
  27. "International STEP-NC Demonstration, Boeing Renton Plant, Renton, WA, October 12-13 2010" . Retrieved 2011-03-23.
  28. "STEP-NC Machining Accuracy Demonstration, Stockholm, June 14, 2012" . Retrieved 2015-03-20.
  29. "Okuma / Boeing STEP-NC presentation TRAM2014 describing the CAM Exchange demonstration," . Retrieved 2015-03-20.
  30. Lorincz, Jim (September 2015). "Optimize Process for Best Performance". Advanced Manufacturing: Aerospace and Defense Manufacturing 2015. SME. Retrieved 2015-11-17.
  31. Albert, Mark (2019-04-01). "Machining Demonstration Shows the Digital-Twin Concept in Action". Modern Machine Shop. Retrieved 2019-04-03.
  32. Sokolov, A.; Richard, J.; Nguyen, V. K.; Stroud, I.; Maeder, W.; Xirouchakis, P. (September 2006). "Algorithms and an extended STEP-NC-compliant data model for wire electro discharge machining based on 3D representations". International Journal of Computer Integrated Manufacturing. 19 (6): 603–613. doi:10.1080/09511920600634903.
  33. "Archives of the STEP Manufacturing Team (ISO TC184/SC4/WG3/T24)".
  34. Garrido Campos, J.; Hardwick, M. (2006). "A Traceability Information Model for CNC Manufacturing". Computer-Aided Design. 38 (5): 540–551. doi:10.1016/j.cad.2006.01.011.
  35. "Step-NC Application for Steel Production in Shipbuilding" . Retrieved 2018-03-07.
  36. ISO/AWI 10303-238. Industrial automation systems and integration - Product data representation and exchange - Part 238: Application protocol: Model based integrated manufacturing. Geneva: International Organization for Standardization. Retrieved 2019-04-03.