As coordinate measuring machine capabilities grow, software improvements attempt to match these gains.

Scanning is an efficient method for inspecting complex surfaces such as the spherical seat on this aerospace component. Using CAD data, software systems can program scan paths to avoid features like the central bore while optimizing the inspection routine. Photo: LK Metrology Systems Inc.

Coordinate measuring machines (CMMs) and the software packages used to program and operate them are locked in a classic "Catch 22" relationship. Getting the most out of a CMM requires powerful software, yet powerful software cannot deliver its full productivity potential without a capable machine.

While most machine builders and software developers play a never-ending game of "Catch Up," users of CMMs face a different set of challenges that are driven by economic considerations. In their world, finding the money to replace a CMM is a tough, uphill battle and that makes software-based productivity enhancements of existing machines a popular alternative.

Software packages can get the optimal performance from a CMM, and they can give budget-conscious users access to technologies and capabilities previously available only on the highest of high-end packages.

Wherever possible, end users should look for new editions of existing software packages that were created with backward compatibility in mind. In practical terms, this means the software should be based on industry standards to ensure the broadest possible compatibility.

A graphics engine speeds the display of the data contained in the files generated by CAD systems. Programmer efficiency is increased by eliminating the time spent waiting for information to be displayed. Photo: LK Metrology Systems Inc.

Standard-based Software

End users should be aware that CMM software should be based on the Dimensional Measuring Interface Standard (DMIS) 4.1, and its successors, which makes it compatible with any DMIS-compliant system, regardless of the manufacturer. DMIS is commonly applied as a native programming language for CMMs and it focuses on the interchange of static inspection commands and results data. Among the more important features included in DMIS 4.1 are a series of commands developed to support the scanning operations that are becoming increasingly important in CMM applications.

CMM software also should be able to read computer-aided design (CAD) data generated by packages such as CATIA V4, CATIA V5, Unigraphics and Pro-Engineer that use a CAD engine such as ACIS. It should support the Dimensional Markup Language (DML) portion of the Extended Markup Language (XML) developed by the Automotive Industry Action Group (AIAG) as an industry standard for non-platform-specific data transfers.

Complex CAD geometry should be displayed for the operator using a highly capable graphics engine such as HOOPS, a feature generally found on high-end packages. A graphics engine that can rapidly display complex images significantly improves programmer and operator productivity by eliminating wait time for images to display or refresh.

Finally, the software should not be an attempt to reinvent the wheel. DMIS, ACIS, HOOPS, DML, XML and many other standards-based capabilities exist in a form that can be incorporated seamlessly into a CMM software package. Devoting time and effort to duplicate their capabilities is counterproductive.

Gas turbine blades are a natural application for scanning technology. Efficiency is improved by developing inspection routines with on-screen editing of software-generated scan paths. Photo: LK Metrology Systems Inc.

Optimized Scanning

Software plays a key role in all CMM routines, and that role is enhanced as more machines incorporate scanning-probe technology. Scanning is clearly the wave of the future for many CMM applications because it is much faster than touch-trigger probing, and generates significantly more data about the part being measured. On the downside, scanning routines are much more complex than traditional touch-trigger routines, and the volumes of data they generate are often beyond the capacity of last-generation software packages to manage efficiently.

Both issues need to be addressed in a software package. Programming is simplified by the inclusion of a large number of standard routines that offer the programmer a range of options for various kinds of measurements. For example, depending on the properties being measured, a cylinder might be inspected by simply touching six points, scanning the circumference in two locations, scanning the entire cylinder helically, or scanning three or more axial lines along the cylinder wall.

Most existing mid-range software packages offer pre-programmed routines for one, or at most, two, of these scans. A better solution is to provide an entire set so a programmer can select the one that yields the most relevant data for the characteristic being measured. All of these tools should be offered in a consistent user interface that simplifies programming tasks to improve productivity.

After the scan is programmed, it should be easy to edit and modify on the machine. High-end packages traditionally have a more "analog" feel than low and mid-range products, which makes editing more intuitive. The software packages let the operator edit scan-paths on the CAD model using the mouse, making it simple to avoid part features or collisions. Both capabilities need to be emulated in the next generation of software.

The capability to project grids on complex plane surfaces, such as cylinder blocks or heads, to avoid obstructions, to generate scan paths quickly and intuitively, and most importantly, to edit these paths through CAD interaction, is another high-end feature that needs to be more widely available.

Scanned data should be stored in an industry-standard SQL (structured query language) database that makes it easy to share with other software applications where necessary. The database, in turn, should support a powerful set of report generators that give the programmer filtering tools, and the ability to perform sophisticated "What If" analyses.

A common feature of existing CMM software packages is the use of original data in filtering operations. The data that is not included in the report is then discarded. This, of course, eliminates any possibility of applying additional analytical tools to the original data, severely limiting its usefulness. A better approach is to do all operations on a copy of the original data to preserve the original for subsequent uses.

Using the cylinder example, if an end-use problem arises, having the original data available for analysis might make it possible to identify the root cause. With the availability of low-cost data storage capabilities, saving scanned data is an affordable option for all quality assurance systems.

Scanning is a highly efficient method for inspecting complex surfaces such as the valve seats on this cylinder head. Photo: LK Metrology Systems Inc.

Upgrade and retrofits

The upcoming generation of software will provide optimized scanning solutions for current generation CMMs using analog probes. But, it is important to note that this class of software will also help users of previous generation machines, regardless of manufacturer, optimize the results of their scanning operations to take advantage of whatever level of capability exists within their machine.

A controller upgrade in conjunction with a software upgrade will produce better results, and a whole machine upgrade will produce even better results. Nevertheless, even a simple software upgrade will reduce offline programming and on-machine editing time. At this point in time, it is safe to say that the software side of the eternal game of "Catch Up" is in the lead.

Tech tips

• Scanning with a coordinate measuring machine is faster than touch-trigger probing and generates more data about the part.

• Software packages must be able to handle the vast amounts of data generated through scanning.

• Software lets operators generate scan paths quickly and intuitively, and edit these paths through CAD interaction using a mouse.