Wednesday, December 10, 2008

CAD Interoperability: Native Files vs. STEP

Matt Lombard has an interesting article on his blog titled: Best way to translate Catia Files into SolidWorks? Use Inventor. It spurred a lot of good comments and questions. Check it out at: It spurred some thoughts of my own, and now I have a related question, and it is a bit of a loaded question: Why is it important to load native files versus STEP? I think these are some of the possible answers. They may all apply, but which one best describes your need or problem?

1) Speed and convenience - no translation required
2) Managing risks - don’t want to create and manage another document of the same object
3) Must have a valid solid model - good 3D geometry
4) Must have an editable model - history tree with sketches, features and constraints
5) Must have round trip translation of editable models with no data lose

If you answered #1: Maybe this means that you have to go back to the owner of the native file to request a different format. This can create delays in the process. It should not take too long to actually create the file, but the communication and extra effort would not be necessary if you could just use the native file.

If you answered #2: If you must create a STEP file, you now have another file (document) that represents the same part. Do you know what version the STEP model is connected to? If you send a STEP model out, are you (or the receiver) confident that it is the correct version? Managing another document just adds more complexity to the process and presents a higher risk for mistakes. By using the native file risks can be lower and there is no need to manage another document.

If you answered #3: With STEP perhaps you get erroneous data/geometry – missing faces, gaps, and other geometry problems. You assume that by loading a native file you will get better geometry translations. This assumption is probably wrong, however. There are several issues. If the sending system is a history-based system, the native file may not even contain the 3D geometry, but rather only the receipt, or history-tree, with sketches, feature definitions and parameters (another issue covered later). If the native file does contain geometry, the resolution or accuracy of the geometry will be based on the CAD systems operating model resolution. For some strange reason all CAD vendors have chosen different model resolutions for their CAD system to run at. For some it is adjustable, for others it is somewhat dynamic. Translating a model from a high-res CAD system to a low-res CAD system is not a problem. Going from low-res to high-res is a huge problem. Do you know what model accuracy your CAD system is using when creating 3D geometry? Solid Modeling is all about connectivity. If it cannot connect, it is not a valid solid. The big problem with this geometry accuracy issue is that the people that are creating low-res geometry probably don’t know it. It’s the ones on the receiving side that know it – unfortunately they usually blame the problem on their own CAD tool, when in fact the geometry issues are most likely a result of the junk data coming from the sending system.

If you answered #4: If the sending and/or receiving side of the exchange is a history-based system and you need editable models, you must have the history-tree with all of its components. This is a very tall order. The technology to translate one history-tree to another exists but it is very complicated and expensive. Basically the history-tree, and its contents contain a CAD systems competitive advantages. Things like a special modeling feature or perhaps a unique rounding feature are all contained in the tree. A new version of a CAD system will certainly have enhancements and new features that are captured in the tree. What if one of these features (competitive advantages) does not exist in the receiving history-based CAD system? How will the receiving system handle it? What happens when you upgrade to the next latest and greatest version?

If you answered #5: Go out and purchase a history-free CAD system, now. If this is a requirement and you don’t have one, you are wasting HUGE amounts of money and time. (and/or putting reducilulous requirements on your suppliers.) Just make sure your suppliers are deliverying good high accuracy geometry. Set some standards for it - after all you are paying for it.

So the next time you have a discussion with your CAD vender about interoperability and data exchange, don’t just tell them that you need to load native files, tell them what it is that you really need in order to support your processes and requirements - describe the problem. Too often we tell them how to solve a problem rather than telling them what the problem is that needs to be solved. They are actually good at solving problems, once they know what the REAL problem is. (Also, while you are at it, help your CAD supplier understand your need for higher resolution/accuracy geometry. I am continually amazed at how much junk geometry comes out of our modern CAD systems.)


No comments: