STEP-NC Machine History
The STEP-NC Machine software that you see here today has been under continuous testing and improvement for many years. Since 2000, this software has been used as the STEP-NC testbed in a continuous series of technology demonstrations to verify the ISO standard, drive implementations of STEP-NC machine controls and give organizations experience with the STEP-NC standard.
This series of demonstrations, averaging two per year, has attracted a wide range of industrial participants and focused on deployment, machining interoperability, integrated machining and measurement, optimization, and simulation.
We have used these testing cycles as an opportunity to apply lessons learned to the software, and focus our development efforts on practical machining issues.
The Early Days
The earliest versions were developed under the Super Model project and demonstrated to the Industrial Review Board in 2000 at the Watervliet Arsenal, in 2002 at EMPT in Troy, and in 2003 at JPL. The software primarily linked CAD geometry to high level operation descriptions but could not drive a CNC directly. This tool used plugins to external CAM systems to generate final toolpaths and communicate with the CNC.
The STEP-NC AP238 standard was being drafted at the time and the software and demonstrations provided important feedback and validation of the document. At the same time, an XML exchange form (called Part 28) was being developed to augment or replace the traditional ASCII exchange form (called Part 21) used by the STEP standards. The software was used as a testbed for these various XML drafts and for using XML to set up engineering services over the internet.
Version Two
After the end of the Super Model project we spent two years digesting the results and working on internal improvements to simplify programming STEP-NC applications. Building upon this new knowledge, we addressed limitations in the earlier versions by beginning to drive CNCs directly using the part-space toolpaths in STEP-NC. We began to take toolpath curves from APT, CAM systems, and other sources, then store them as machine independent curves. We also began storing CAD shapes for the tools, part, and stock and displaying them in context with the toolpaths.
With this rich toolpath data, we built the first interfaces to drive the installed base of Fanuc and Siemens controls directly using G-codes. The resulting software used a single STEP-NC description to drive CNCs for five-axis machining of real aerospace parts on machines with different axis arrangements (AB vs BC). These improvements were demonstrated in 2005 in Orlando at the first industrial testing forum.
Version Three
In the subsequent year and a half, development centered on integration of machining with measurement. The demonstrations at EASTEC 2005, in Toulouse in 2006, and Ibusuki in 2007 explored this major theme and attracted new industrial participants.
We extended the software to create and display STEP-NC probing operations as well as the measured values. Initial support for datums and tolerances was used to color features on the part red, yellow, or green depending on the probing results returned from the CNC.
The CNC interface was expanded to drive CNC probing operations via codes or CMM probing via DMIS. We also added output support for Heidenhain iTNC530 controls, showed turning on MDSI controls, and plasma cutting of steel plate with ESAB controls.
Internally, we completed the move to a new application architecture which used the STEP-NC DLL to provide a high-level API for STEP-NC data. In addition, the Part 28 XML specification had been finalized and published by ISO, so we updated all of our software tools to use zip compressed XML to store STEP-NC data. Surprisingly, the new STEP-NC files often turned out to be smaller than the raw G-code files, even after adding toolpaths, tolerances, and CAD models of the raw and finished parts.
Version Four
The three main areas of work in this phase were feed-speed optimization, tool compensation based on the tolerances, and efficiency improvements for high-speed machining toolpaths. This work was demonstrated in Sweden in early 2008
To handle tool compensation, we fully implemented all of the STEP GDT associative tolerances and significantly extended the tolerance APIs so we could find related tools, tolerances, and toolpaths for any given part face. To support the feed-speed optimization we added support for a parametric description of removal volume tied to the toolpath curve. And finally, to improve efficiency in handling high-speed machining toolpaths, we added support for more compact arc and helix curve notations.
The major visual change in this cycle was the move to a .NET application using a new OpenGL graphics interface provided by the STEP-NC DLL. This opened up the software to many more user interface options than was possible with previous versions.
Version Five
The next round of development revisited machining and measurement, ending with the live demonstration of closed-loop impeller machining in Hartford in late 2008.
To handle impeller data more efficiently, the software was extended to take full advantage of the flexible STEP-NC process model by reusing workplans in eight different orientations. The closed loop feedback after measurement also required improvements to the workplan handling to allow update of the finishing toolpaths.
Supporting such extreme five-axis machining required numerous improvements to the graphics engine and CNC output drivers along with more flexibility in the selection of operations to send to the CNC.
Over the course of this phase we continued to refine the cross-section parameter curves used by feed and speed optimization. We also developed tools for volume removal simulation and used these tools to produce our own cross-section parameter data.
Version Six
The next round of work focused on using STEP-NC to make the same part, from the same data, in many different locations. A mold part was chosen as the testbed so that organizations with three-axis or five-axis machines could participate. In the end, copies were made on eight different machines and then inspected for the 2009 Renton demonstration.
In order to make a part on different machines, you must be able to test if a machine can run the program safely. Starting with STEP CAD assemblies for a machine tool, we were able to annotate them with axis and travel information and then extend the software simulate their motion for a given program. The first machine tool models were a gantry with BC head, a BC nutating table, and an AC trunnion machine. Once these models were in place and operating properly, we began work on collision detection support.
We extended the software to capture and display presentation information and tolerance annotations transmitted from Catia as AP203e2 data.
Version Seven
This goal of this development phase is to broaden the use of STEP-NC by repeating the "same part, same data, many sites" exercise of the last phase, but with a much wider community of machine shops. To reach as large a number of shops as possible, we have released STEP-NC Machine as a free download for these machining partners to view data sets and export CNC codes.
At the same time, we are working with the development partners on machining processes with multiple setups, to gain experience and extend the software as needed. The demonstration for this phase will be in Bath, UK in Fall 2009
