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).

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.

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.

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


STEP-NC impeller
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:

  • Toolpath descriptions that are portable and independent of machine geometry.[7]
  • Visual process, to show toolpaths in context of the machine and workpiece, and eliminate drawings.[8]
  • On-Machine Simulation, to check for gouges, machine interference and other undesired behavior.
  • Simplified Inspection, with linked tolerances, on-machine probes and inspection workplans tied to part tolerances.
  • Feed and Speed Optimization, using tolerances,[9] cross section information, sensor data.
  • Associativity so feedback can be sent from manufacturing back to design.


STEP-NC cncprocess diag
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).

  • Product Description
  • General Process Description[10]
    • Project
    • Executable
    • Operation
    • Toolpath
  • Technology-Specific Process Description
    • Operations and cutting tools for milling[11]
    • Operations and cutting tools for turning[12]
    • Operations and devices for inspection[10]

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

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 at IMTS 2014
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]

Future work

STEP-NC plasma cutting
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[31] 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.[32] 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.[33]

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.[34] This work involved extending STEP-NC to steel plate cutting and marking using lasers and plasma torches.


  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. ^ a b 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. ^ a b 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. ^ a b 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. ^ a b 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. ^ 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.
  32. ^ "Archives of the STEP Manufacturing Team (ISO TC184/SC4/WG3/T24)".
  33. ^ 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.
  34. ^ "Step-NC Application for Steel Production in Shipbuilding". Retrieved 2018-03-07.

External links

APT (programming language)

APT or Automatically Programmed Tool is a high-level computer programming language most commonly used to generate instructions for numerically controlled machine tools. Douglas T. Ross is considered by many to be the father of APT: as head of the newly created Computer Applications Group of the Servomechanisms Laboratory at MIT in 1956, he led its technical effort. APT is a language and system that makes numerically controlled manufacturing possible. This early language was used widely through the 1970s and is still a standard internationally. Derivatives of APT were later developed.

CAD data exchange

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.

Many companies use different CAD systems internally and exchange CAD data with suppliers, customers and subcontractors. Transfer of data is necessary so that, for example, one organization can be developing a CAD model, while another performs analysis work on the same model; at the same time a third organization is responsible for manufacturing the product. The CAD systems currently available in the market differ not only in their application aims, user interfaces and performance levels, but also in data structures and data formats therefore accuracy in the data exchange process is of paramount importance and robust exchange mechanisms are needed.The exchange process targets primarily the geometric information of the CAD data but it can also target other aspects such as metadata, knowledge, manufacturing information, tolerances and assembly structure.

There are three options available for CAD data exchange: direct model translation, neutral file exchange and third-party translators.

Computer-aided manufacturing

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 (thus minimizing waste), 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.

Economic Development in Rural Western North Carolina

Rural Economic Development in North Carolina is analogous to other areas as the focus of said projects are to facilitate a higher standard of economic activity to a specified area. In these designated areas citizens, interest groups, business owners, and policy makers work together in order to formulate long term economic goals and strategies to meet those goals. There are many different avenues and forms an economic development project can take dependent on the desired outcome.

Feature recognition

The term "feature" implies different meanings in different engineering disciplines. This has resulted in many ambiguous definitions for feature. A feature, in computer-aided design (CAD), usually refers to a region of a part with some interesting geometric or topological properties. These are more precisely called form features. Form features contain both shape information and parametric information of a region of interest. They are now ubiquitous in most current CAD software, where they are used as the primary means of creating 3D geometric models. Examples of form features are extruded boss, loft, etc. Form feature is not the only type of feature that is discussed in CAD literature. Sometimes a part's functional or manufacturing features of the subject of attention. Although it is quite possible to see form features and manufacturing features are called by the same name, they are not exactly the same concepts. For example, one may either use the name "pocket" to refer to a swept cut on the boundary of a part model, or to refer to a trace left on the part boundary by a specific machining operation. The former is exclusively concerned with a geometric shape whereas the latter is concerned with both the geometric shape and a manufacturing operation, needing more parameters in its definition. As such, a manufacturing feature can be minimally defined as a form feature (if it has a form that can uniquely represent it), but not necessarily vice versa (forms can be interpreted differently in different manufacturing domains). Machining features are an important subset of manufacturing features. A machining feature can be regarded as the volume swept by a "cutting" tool, which is always a negative (subtracted) volume. Finally, there is also the concept of assembly feature, which encodes the assembly method between connected components.

Feature data in CAD can be specified either as a collection of surfaces or as volumes. Surface features can be used to describe manufacturing tolerances or locating surfaces in assembly design. Volumetric features on the other hand, can be used in tool path generation, etc. Manufacturing information (particularly in machining) is better portrayed by using volumetric features.The first published work on features was for the original boundary representation modelling system, BUILD, and was performed by Lyc Kyprianou. Soon other work followed based on different solid representations. Overviews on the work on features can be found in Shah et al.; Subrahmanyam and Wozny; Salomons et al.


G-code (also RS-274), 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.

G-code is a language in which people tell computerized machine tools how to make something. The "how" is defined by g-code instructions provided to a machine controller (industrial computer) that tells the motors where to move, how fast to move, and what path to follow. The two most common situations are that, within a machine tool such as a lathe or mill, a cutting tool is moved according to these instructions through a toolpath cutting away material to leave only the finished workpiece and/or, an unfinished workpiece is precisely positioned in any of up to 9 axis around the 3 dimensions relative to a toolpath and, either or both can move relative to each other. The same concept also extends to noncutting tools such as forming or burnishing tools, photoplotting, additive methods such as 3D printing, and measuring instruments.

Geometric dimensioning and tolerancing

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 (theoretically perfect) 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.

Dimensioning specifications define the nominal, as-modeled or as-intended geometry. One example is a basic dimension.

Tolerancing specifications define the allowable variation for the form and possibly the size of individual features, and the allowable variation in orientation and location between features. Two examples are linear dimensions and feature control frames using a datum reference (both shown above).There are several standards available worldwide that describe the symbols and define the rules used in GD&T. One such standard is American Society of Mechanical Engineers (ASME) Y14.5-2009. This article is based on that standard, but other standards, such as those from the International Organization for Standardization (ISO), may vary slightly. The Y14.5 standard has the advantage of providing a fairly complete set of standards for GD&T in one document. The ISO standards, in comparison, typically only address a single topic at a time. There are separate standards that provide the details for each of the major symbols and topics below (e.g. position, flatness, profile, etc.).

History of numerical control

The history of numerical control (NC) began when the automation of machine tools first incorporated concepts of abstractly programmable logic, and it continues today with the ongoing evolution of computer numerical control (CNC) technology.

The first NC machines were built in the 1940s and 1950s, based on existing tools that were modified with motors that moved the controls to follow points fed into the system on punched tape. These early servomechanisms were rapidly augmented with analog and digital computers, creating the modern CNC machine tools that have revolutionized the machining processes.

Plasma torch

A plasma torch (also known as a plasma arc, plasma gun, or plasma cutter, plasmatron) is a device for generating a directed flow of plasma.The plasma jet can be used for applications including plasma cutting, plasma arc welding, plasma spraying, and plasma gasification for waste disposal.

ISO standards by standard number

This page is based on a Wikipedia article written by authors (here).
Text is available under the CC BY-SA 3.0 license; additional terms may apply.
Images, videos and audio are available under their respective licenses.