lost in translation

1 Dec, 2003 By: Don LaCourse

This month's Modeling column is dedicated to Mark Boucher, an applications engineer with Mitutoyo America in Charlotte, North Carolina. Mitutoyo designs and manufacturers CMMs (coordinate measuring machines) and develops a CAD product called Mitutoyo Computer-Aided Technology that ships with its CMM machines.

Mark wants to know how data is lost during IGES translations and whether the accuracy of the part is significantly altered during the process. Because this month's focus is on data exchange, I thought his questions typify the issues that all users face when using neutral file formats to exchange data.

Neutral-format data exchange standards such as IGES and STEP are extensive in structure and scope so they can support a variety of disciplines-MCAD and AEC are only two among many. In the process of neutral-format data exchange, a 3D model file is translated from the native CAD format of the sending system to an IGES or STEP file. The receiving system then translates this file into another native CAD format (figure 1).

The process involves extensive entity mapping. The sending system maps native entities to supported neutral entities. The receiving system then has to map the neutral entities from the IGES or STEP file into its own native CAD entities. Sometimes this entity mapping

Figure 1. I imported this IGES file from one system into a different system, and then back into the original system to see if any data was lost.
changes the definition of a native CAD entity-for example, mapping an analytical arc or cylinder to a b-spline curve surface. During the process, the original definition of an entity can be lost. In most cases, this loss of definition is acceptable (figure 2).

Also, because of the size and scope of the standards, MCAD systems support only a subset of each. While System A may support entities a, b, c, d, and e, System B supports only entities a, c, and e. When this happens, System B ignores entities b and d, and the data is lost (figure 2). This is not to say that data is lost due to nonsupport during every translation. It's most likely to occur when the two systems are fundamentally incompatible (such as between a high-end and a low-end system) or when the receiving system is outdated.

Figure 2. Each CAD system supports a subset of the IGES standard. The entity types that both systems support are mapped from the sending system to the receiving system. Other entities within the subset may be ignored.
3D data loss can also occur because of human programming errors that affect how well the MCAD systems translate to IGES and STEP and read data (translate from IGES and STEP). This depends on how true the programmers are to the specifications documented in the standards when they write the translators. The specifications are open to interpretation and, of course, programmers are prone to human error.

There are many ways that data accuracy can change. Starting from the native sending system, what you see on the screen is not necessarily what is in the 3D database. 3D modeling kernels can force geometry to connect or treat it as if it connects, even though it doesn't. Neutral-format data exchange exposes these inconsistencies (figure 3).

Figure 3. 3D modeling kernels can force geometry to connect or treat it as though it connects, even though it doesn’t. Neutral-format data exchange can expose these inconsistencies. Note: The conditions portrayed in this figure are enhanced for better understanding.
You may have noticed in recent years that mechanical CAD applications now pay attention to healing 3D data. Virtually all viable mechanical CAD applications today offer integrated tools to fix topology-related geometry problems. The translation process is usually integrated into the File | Open and File | Save commands. These advancements have reduced much of the stress related to translating data, but they've also obscured some of the translation process.

Many mechanical CAD applications today are very strict and require geometry to be healed before they add data to the database. For example, duplicate vertices must be removed and faces extended and trimmed to form new edges to eliminate gaps (figure 4). For many systems, all geometry is stored as NURBs. Primitives are all polynomial definitions converted to NURBs. During the healing process, surfaces may be extended to catch trim loops that are defined off the surface.

Figure 4. A receiving system can automatically perform topology healing when it opens a neutral-format data file. This example illustrates how healing extends and trims faces to form new edges (see window C), eliminating gaps. Note: The conditions portrayed in this figure are enhanced for better understanding.
The tolerance used to do all this is the tolerance set by the user in the receiving system. The original user may have created the geometry in a looser tolerance than the recipient is using. Even units conversion and local coordinate systems can play small parts in reducing the accuracy of the geometry.

Large deviations typically originate from the on-screen issue shown in figure 3. Geometry can also be malformed by defining coincident intersections or gaps with neighboring geometry. The receiving system must clean all of this up in its attempt to produce a valid part file. Sliver surfaces are particularly difficult because they are used by the sending system to patch gaps in the part even though they are below the sending system's registered tolerance (figure 4, window B). These cases can also be healed by extending surfaces and re-intersecting with neighbors.

On top of this, the receiving system must deal with neutral data files that don't conform to the specifications-trim loop curves out of order, reversed, not matching end to end, missing geometry, and so on. You may also run across hand-edited neutral data files that are missing large sections, contain control characters, and so on. Some systems do a very good job of identifying and healing these anomalies on the fly.

I hope this discussion clarifies some confusion about data loss and accuracy issues related to the exchange of neutral-format data files such as IGES and STEP. I can't stress enough the importance of interoperability testing to bring potential problems to light before depending on neutral format data exchange for production purposes.

If you uncover problems with your system's translators, be sure to submit a bug report to your application vendor and if possible include relevant error logs and neutral data files. You can initiate improvements to your application. Don't be afraid to let your vendor know about any problems you experience. Users have a strong voice and vendors do listen.

Glossary of Translation Terms

ANSIAmerican National Standards Institute.

Entity maps or mapping A table that lists a CAD system’s native data types such as line, arc, and surface, and the IGES entity types to which they map to create the IGES file. To read an IGES files, the table lists the IGES entity types the CAD system supports along with the native data types that it creates.

IGES Initial Graphics Exchange Specification; IGES version 5.3 is now available, but most vendors support v5.2. IGES B-Rep Entity Type 186 The IGES entity type that supports a manifold solid B-rep object. Manifold refers to a solid that doesn’t have topological difficulties such as self-intersecting surfaces. In solid modeling, topology refers to the vertices, edges, and faces of a solid as well as their relationship to each other.

Interoperability Related to acceptance testing, but specifically applied to the examination of the information exchange between two specific systems and the ability of each to use such information.

IPO IGES/PDES Organization. A volunteer group of users and CAD/CAM developers whose goal is to promote, develop, and maintain the IGES standard.

ISOInternational Organization for Standardization.

NISTNational Institute of Standards and Technology.

NIUG National IGES User Group. A membership organization of individuals whose goal is to increase and improve the use of IGES.

STEP Standard for the Exchange of Product model data.

AutoCAD Tips!

Lynn Allen

Autodesk Technical Evangelist Lynn Allen guides you through a different AutoCAD feature in every edition of her popular "Circles and Lines" tutorial series. For even more AutoCAD how-to, check out Lynn's quick tips in the Cadalyst Video Gallery. Subscribe to Cadalyst's free Tips & Tools Weekly e-newsletter and we'll notify you every time a new video tip is published. All exclusively from Cadalyst!
Follow Lynn on Twitter Follow Lynn on Twitter

How often does your company use 3D printing (in-house or outsourced)?
Once or a few times per week
Once or a few times per month
Once or a few times per year
We don't use 3D printing, but we're exploring the technology
We don't use 3D printing, and we have no plans to do so
Submit Vote