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. Motivation 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. Capabilities 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 Workpiece, PDM and Product Geometry Manufacturing Features Dimensions and Tolerances Measures and Part Properties General Process Description Project Executable Operation Toolpath Technology-Specific Process Description Operations