PHUSION ENGINEERING SOLUTIONS LLC
FT. COLLINS, COLO.
Edited by Leslie Gordon
You would think that by now, CAD data exchange would almost always go smoothly, especially considering all the research that has been done in this area. No doubt interoperability has improved. But, in general, data-exchange problems seem to grow only more complex. Interoperability issues obviously arise because of the many proprietary CAD file formats in use today. But problems also come from CAD-neutral formats, the CAD geometry itself, and so-called intelligent models.
As a quick refresher, neutral formats are defined by industry standards. These formats are intended to be viewable and editable in almost any CAD application. IGES, for example, is the oldest of the neutral formats and still widely used. But it includes many flavors and relies on experienced designers to know which to select. STEP provides yet a better mechanism for the exchange of solid models, but it also includes many configurations including AP203, AP204, and AP214, to name a few. Each has differences in how geometry gets described. Other neutral formats include the Parasolid kernel’s Parasolid and the ACIS kernel’s SAT. Add to this mix a plethora of tools that translate geometry from one proprietary CAD format to another with varying degrees of success.
Making things more confusing are the numerous ways of representing geometry. Years ago, wire-frame CAD created objects out of individual edges tacked together. Objects lacked volume, an inside, and an outside, but they did have shape and size. Other CAD systems build objects with surfaces, typically using curves or wires to trim or bound the surface. And, finally, there is solid modeling.
Different data-translation issues arise from each kind of geometry representation. For example, the translation of vectors or wire geometry is relatively simple for 2D drawings and wire frames. Some problems can come from wires being described differently with Nurbs, B-spline, or analytics. But for the most part, such translations are reasonably reliable and acceptable.
Surfaces are also relatively simple to translate. About the only problem comes from the surface normal being reversed from what is expected. Most CAD systems make it easy to switch normals and continue working. But even when the surface looks the same and can be manipulated, it still might not be identical to the original. A Nurbs-to-Nurbs translation will be close, and a B-spline-to-B-spline transfer is usually identical. But Nurbs to B-spline, or vice versa, only makes for a close approximation.
Solid modeling gets yet more interesting. A solid must be watertight, with no gaps. Solids are basically made up of edges (with a vertex at each edge) that connect to form loops. The loops trim surfaces to form faces, and the faces connect to form the solid. Solids are all about connectivity, or more accurately, topology. Solids have volume and, therefore, mass, weight, and the like.
Accuracy is Accuracy, right?
Note that so-called graphical accuracy is different than geometry accuracy. The graphical or visual accuracy of the model — what you see on the screen — depends on the graphics processing of the computer. A brief explanation helps clear things up:
A graphics card in the computer converts geometry to facets. The higher the numbers of facets, the smoother models look. Most 3D CAD systems use a default graphics resolution that is fairly low so graphics performance won’t get too slow. Graphical accuracy has nothing to do with interoperability.
That all said, there are graphical formats used frequently that are based on the faceted model, such as STL and VRML. But these formats are not typically used for data exchange.
A significant factor affecting connectivity is geometry accuracy. CAD companies use different terms for geometry accuracy, so there might be confusion about what it means. Some systems use relative model accuracy, while others use an absolute accuracy. Some use both. Regardless, an application’s accuracy determines such things as how close two points are in space before being considered one point, or how close an edge can be to another before they are deemed connected. The big problem around geometry accuracy is almost every 3D CAD system uses a different default setting. Of course, it’s possible to adjust the setting, but most designers just accept the default. Some CAD goes to 1.0E-2 mm (0.01 mm) and some as high as 1.0E-6 mm. Others run at 1.0E-3 in., and so on. (Accuracy settings are independent of the unit settings you use to describe the geometry. Accuracy settings are also independent of the number of decimal places you might see in a measurement or dimension.)
Accuracy settings are used as the model is created and also when exporting geometry into IGES, STEP, or other neutral formats. (You can find geometry accuracy information in the header section of an IGES file.) Reading a low-accuracy file into a high accuracy system requires the reading system to downsize its accuracy, a recipe for data-translation disaster. A good practice is to make the sending system’s geometry accuracy higher before writing a file. But this approach often won’t handle complex features such as blends or shells. Unfortunately, some CAD systems are just not capable of creating high-accuracy geometry.
The upshot: If you are on the receiving end of 3D geometry and paying for it, you might be wise to set a standard for the level of geometry accuracy you are willing to accept. “Garbage in, garbage out” could easily apply here.
Another significant factor affecting data translation is the intelligence of the models. Many 3D CAD applications embed intelligence into the model in the form of sketches, feature definitions, constraints, and structure and order. These systems, typically referred to as parametric or history based, do not interact directly with the geometry, but rather through the layer of information. Unfortunately, there is no industry standard for the translation of intelligence. Some protocols such as STEP, for example, accommodate information such as 3D dimensions or feature definitions, but the intelligence required by the typical history-based system is different.
The problem is further exacerbated because each CAD system uses different intelligence. For example, applications define feature definitions and orders and structures differently, and resolve constraints and parameters differently. These differences exist only to provide software developers a competitive advantage.
For the typical history-based CAD user, even when the geometry translates accurately, the ability to interact with it might be limited depending on the program. Some CAD software imports geometry while stripping its intelligence and then interrogates the resulting so called dumb model to reconstruct the necessary features.
There are ways those using history-based CAD can work around interoperability issues with varying degrees of success. One method is to ensure all your customers and partners use the same CAD system you use. Or you can just import geometries and use them as references to rebuild intelligent models. Lastly, you can bite the bullet and purchase a dedicated intelligent model translator.
Depending on your business requirements and processes, a history- based modeler might not be the best choice. Here, history-free or explicit modelers that interact directly with geometry might do well. Most allow adding intelligence, but the intelligence is not necessary to manipulate and interact with the geometry.