What do CNC programmers do? Chiefly, they make sure that the part program will be executed by the machine tool successfully to make a good part. They apply their knowledge and judgment, gained by experience, to the choices that must be made for CAM software to function properly. CNC programmers are gap-fillers.
These gaps exist because design systems have not yet matured to the point that they can supply all of the digital information needed to automatically program a machine tool. In short, CNC programmers know what nobody else does. That is, they know the best way to make this part on this machine at this place at this time.
Programming of CNC machine tools will continue to rely on proprietary CAM software.
Because CNC programmers are very effective at applying this knowledge, their role in machining is likely to stick around for a while. It seems that companies would do well to invest in whatever hardware and software tools help maximize the productivity of their programmers.
CAM software developers are taking many strides to make the CNC programming function more streamlined and highly automated. Some of the most important of these developments include:
Knowledge-based systems—libraries, look-up tables and databases that capture the preferences and best practices of a shop's machining technology.
Specialized algorithms—applets and calculation formulas designed to meet specific programming requirements in certain applications. Various options to maximize roughing routines are some examples. Algorithms for generating specialized tool paths to produce a fine finish in high speed machining are others.
Feature recognition—the ability to identify machinable features based on sets of associated geometry elements. The most progress has been made with holes and pockets.
Verification—animated displays that preview the programmed tool moves for visual detection of potential collisions, excessive air cutting, synchronization of multiple axes and other results that determine the effectiveness of a part program.
Optimization—software features that seek to maximize feed rates based on values representing workpiece material characteristics, cutting tool performance and accuracy requirements, given the constraints imposed by workpiece geometry.
CAM developers will continue to make improvements along these and other software fronts, giving shops significant productivity gains in CNC programming output.
But how far can CAM go with automation? Can the CNC programming function be completely automated, bypassing the input of the programmer altogether? Is it wise to exclude the flexibility and unique expertise that the involvement of a CNC programmer brings?
For many machining operations, the programmer's contribution represents a key part of the shop's competitive advantage. On the other hand, CNC programming represents a bottleneck and a weak link. Losing a CNC programmer can seriously impact production flow. Likewise, human intervention works against the consistency, the exchangeability of data files and the transportability of machining operations.
Bypassing The Programmer
The most ambitious effort to completely automate CNC programming has been STEP NC, an extension to STEP, the STandard for the Exchange of Product model data. STEP NC is intended to enable product model data to serve as direct input to a CNC machine tool. It eliminates separate files of tool paths and the use of G and M codes as machine instructions. It also makes post processing unnecessary.
STEP is the international standard that specifies a neutral data format for digital information about a product. It allows this data to be shared and exchanged among different and otherwise incompatible computer platforms. STEP NC standardizes how information about CNC machining can be added to parts represented in the STEP product model. By using STEP NC to capture instructions about what steps to follow for machining the part, the "producability" of this part would not be affected by the availability a certain brand of control unit, programming system or post processor.
A full implementation of STEP NC would involve equipping machine tools with CNCs customized with special software. This software enables the CNC to interpret the STEP-NC data directly and use the information to machine the part without a conventional G-code program. With STEP NC, all the data required to make a part are included in one AP-238 file. (Under the ISO STEP standard, STEP NC is designated as AP-238. It is an "application protocol," one of the sets of definitions for data related to a particular industry or type of product such as, in this case, machined parts.)
This approach contrasts with the conventional approach, wherein the digital information about machining a part is locked up in traditional M- and G-code (RS 274D) data. This information may reside only with an external supplier, such as the job shop contracted to machine the parts.
Likewise, the data may be valid only as long as that shop has the original or compatible resources used to generate it. Changes to these resources—if the CAM software is no longer supported, or if the machine tool or its control unit is replaced, for example—are likely to occur before the product's life cycle expires, thereby jeopardizing the availability of machined parts critical to the product.
When fully implemented, STEP NC would make "art-to-part" machining a reality. Unfortunately, implementation by industry has been spotty. Not many CAD/CAM software developers or machine tool control builders have embraced the concept enthusiastically. As a result, there are not enough commercial products to give implementing STEP NC the required "critical mass."
Whether or not STEP NC is widely adopted, it seems inevitable that product model databases will eventually lend themselves to some form of direct CNC machine input and that this option will prove cost-effective for many companies operating in a globally collaborative manufacturing environment.
Getting Part Prints In Step Digitally
Whereas STEP NC standardizes how information about CNC machining can be added to parts represented in the digital STEP product model, N-STEP is being developed so that machining and manufacturing information contained in non-digital sources can be captured in a STEP-compliant format. This initiative underscores both the urgency and the complexity of implementing data-exchangeability standards. It also indicates why marketplace resistance continues to impede the implementation of standards that would facilitate full automation of CNC programming.
N-STEP is short for National Automotive Center STandard Exchange of Product Data. NAC is part of the U.S. Army Tank-Automotive and Armaments Command (TACOM). N-STEP was launched so that the military can more quickly manufacture repair and replacement parts to keep its equipment available for battlefield deployment. Because much of this equipment was originally designed and manufactured with design and engineering data saved only as blueprints or 2D CAD files, complete digital representations of this information are not available. That means the data can't be transmitted electronically or used as input for manufacturing operations such as programming for CNC machine tools.
N-STEP is a suite of software products that enables users to capture complete and unambiguous product data, with the manufacturing features, dimensions and tolerances, material callouts, properties (hardness, surface finish and so on), and other data in a single, cohesive associative file. This file complies with the formats specified in STEP AP 224 and 203, which define machinable features and machining operations. N-STEP is a defense program that implements STEP; N-STEP is not part of the ISO standard development effort.
The suite of N-STEP software was created by the South Carolina Research Authority. The software is currently available for use under licensing agreements. It has three main modules.
The N-STEP Translator puts data from a drawing or a CAD file into an electronic format that makes sure the information from the original source is properly interpreted. In this module, a series of menus queries the user about attributes and important features of the part. Unless all of the questions are answered and ambiguities or conflicts are resolved, the Translator will not allow the user to proceed. Thus, no information is missing or unreliable when applied downstream.
The N-STEP Validator is used to manually verify the correctness of the files generated by the N-STEP Translator. It displays the product model so that the user can examine each feature and check the information against the legacy data. Any errors or omissions are compiled in a report that is sent to appropriate personnel for changes or clarifications.
The N-STEP Process Planner is an application that imposes a systematic and consistent discipline for creating a written plan detailing the processes required to manufacture an individual part or assembly. Time estimates, costs and procedural intents are entered into the database. This data can be used for quoting. The process plan created by this module is designed to streamline the CNC programmer's input to a CAM package to generate CNC part programs. To the extent that it eliminates guesswork and redundant planning steps, it offers significant savings.
Because N-STEP is defense-related, large military contractors have a strong incentive to adopt it. However, N-STEP currently runs on a UNIX computer platform. This will be a serious obstacle to adoption in the wider base of U.S. job shops, where Windows-based PC platforms predominate. TACOM is seeking wider commercialization of N-STEP-related standards, but migrating to other computer platforms and establishing a more realistic pricing structure are clearly necessary for significant market penetration.
As product model databases become more complete and standardized, the CNC programming function will become more automated. In some cases, CNC programming may go away altogether. Most manufacturers, however, will choose to retain some decision-making for experienced CNC programmers. Their intervention will give the manufacturer an advantage in flexibility and optimization. Because commercially available CAM software highly automates and streamlines this input, this approach will remain viable in the foreseeable future.