STEP-NC is a machine tool control language that extends the ISO 10303 STEP standards with the machining model in ISO 14649, 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 (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 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 may be added to facilitate regeneration and modification of the toolpaths before or during machining for closed loop manufacturing.
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. This "Smart Data for Smart Machining" enables applications such as the following:
- Toolpath descriptions that are portable and independent of machine geometry.
- Visual process, to show toolpaths in context of the machine and workpiece, and eliminate drawings.
- 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, cross section information, sensor data.
- Associativity so feedback can be sent from manufacturing back to design.
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
- Technology-Specific Process Description
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) 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.
The core of STEP-NC is the ISO 14649 model for CNC control developed by European ESPRIT and IMS STEP-NC projects begun in 1999. These were led by Siemens with contributions from the University of Aachen 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. Models for the control of CNC milling and turning machines were published in 2005, and draft models exist for EDM and contour cutting.
Integration of the CNC model into STEP 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. STEP-NC AP238 was published in 2007.
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). In addition, Boeing cut parts on a variety of machines at their Tulsa facility and a machine at NIST in Gaithersburg.
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. Further machining and measurement demonstrations were conducted in Ibusuki Japan in 2007.
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.
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.
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.
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. 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.
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. 
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.
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 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. 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.
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. This work involved extending STEP-NC to steel plate cutting and marking using lasers and plasma torches.
- 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.
- 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.
- 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.
- Callen, John (2002-05-01). "Enabling Manufacturing's Future Without Limits". Modern Machine Shop. Retrieved 2008-10-28.
- 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.
- 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.
- Kennedy, Bill (July 2007). "All Together Now: STEP-NC" (pdf). Cutting Tool Engineering 59 (7). Retrieved 2008-10-27.
- Woods, Susan (April 2006). "Stepin' Out" (pdf). Cutting Tool Engineering 58 (4). Retrieved 2008-10-27.
- "Boeing/Fanuc Tolerance Study". Retrieved 2008-10-27.
- 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.
- 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.
- 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.
- 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: Electronics Industries Association.
- 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.
- "Intelligent Manufacturing Systems". Retrieved 2008-10-27.
- 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.
- Loffredo, D (2006-07-14). "Validation Report for ISO/IS 10303-238". N2098. ISO TC184/SC4 WG3. Retrieved 2008-10-28.
- "STEP-NC Industrial Review Board". Retrieved 2008-10-28.
- 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.
- 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.
- "International STEP-NC Testing in Toulouse". Retrieved 2008-10-27.
- "STEP-NC Machining and Measurement in Ibusuki". Retrieved 2008-10-27.
- "International STEP-NC Demonstration of Feed Optimization, High-Speed Machining, Tolerance-Driven Tool Compensation, and Traceability". Retrieved 2008-10-27.
- "International STEP-NC Demonstration of Closed-Loop Machining, Feed Optimization, and Measurement". Retrieved 2008-10-27.
- "International STEP-NC Demonstration, Renton, WA 2009". Retrieved 2010-03-25.
- "International STEP-NC Demonstration, National Institute of Standards and Technology (NIST), Gaithersburg, MD, June 2010". Retrieved 2010-03-25.
- "International STEP-NC Demonstration, Boeing Renton Plant, Renton, WA, October 12-13 2010". Retrieved 2011-03-23.
- "STEP-NC Machining Accuracy Demonstration, Stockholm, June 14, 2012". Retrieved 2015-03-20.
- "Okuma / Boeing STEP-NC presentation TRAM2014 describing the CAM Exchange demonstration,". Retrieved 2015-03-20.
- 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.
- "Archives of the STEP Manufacturing Team (ISO TC184/SC4/WG3/T24)".
- 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.
- "AP238 Plate Cutting and Marking, NSRP Panel Project" (pdf). Retrieved 2012-08-15.
- Video: STEP-NC impeller machining demo (2008-10-01)
- Video: STEP-NC tolerance-driven tool compensation demo (2008-03-12)
- What is STEP-NC?
- A toolkit for ISO 14649 Parts 10, 11, and 111