A Brief Introduction to CAD File Formats
Have you ever noticed that there are more types of CAD file formats than there are CAD systems?
A precise gear (left) as compared to a tessellated gear (right).
Not only do most CAD systems create several different types of files, there are a myriad of interoperability formats that have different advantages when collaborating with your partners and customers. Let’s take a look at some of the formats supported by GrabCAD’s 3D viewer, along with the strengths and weaknesses of those formats.
Precise versus tessellated
The main difference between mechanical CAD products and the 3D tools used in other industries is that mechanical designs need to be extremely precise. Modern CAD tools can represent holes a micron in diameter on parts that are a kilometer long. These models are commonly called “precise solids,” or more technically, “boundary representation” (B-rep) solid models.
To visualize the precise solid on the graphics processors that are in your computer and phone, the models need to be converted to an approximation of the underlying design. These “graphics,” “tessellated,” or “mesh” models are generated on-the-fly every time you modify your design, and most CAD systems store the graphics in their files along with the precise data. If you’ve ever noticed that a circle in CAD is actually made of a lot of little straight lines, it’s because you are looking at this approximation. The reason that you don’t usually notice the triangles is due to a fancy lighting trick, but, if we disable the trick, you can see the difference in the picture, above.
All of CAD systems that GrabCAD supports store both precise and tessellated geometry. When we display them to you in the viewer, we use the tessellated information whenever we can access it. That means we can often show the world the exact same graphics you saw when working in your CAD system, minimizing the chance of translation error.
Proprietary versus neutral
Every CAD vendor creates their own file formats, and they also tend to support neutral formats that are designed for interoperability. The vendors need their own file formats because every time they add a new type of entity, it needs to get stored in their files. On the other hand, neutral formats are only useful for entities that are supported by many CAD systems. The reality is that if you want to share all of the features, history, and special objects stored in the files, everybody involved needs to be using the same CAD tool. On the other hand, neutral files are great when working with customers and suppliers, because the different stakeholders can have different CAD systems.
Neutral formats are designed to be easy for any vendor to read, and they are often the most reliable way to share work on GrabCAD. We work as hard as we can to read data from many proprietary formats, but the reality is that there will always be funny things in those files that can cause errors.
When sharing files on GrabCAD, we recommend that you consider sharing both the native format and a neutral one. The native files let people with the same CAD system as you see all the details of your work, and the neutral format helps guarantee than anybody will be able to see it on GrabCAD and easily incorporate it in their own CAD models. On the other hand, if you don’t want to provide all of the details, a neutral format, perhaps even a tessellated one, can obscure them.
One more word about neutral files: there is a lot of debate in the industry over whether various formats truly qualify as neutral or not, and there are many different standards bodies and tests of neutrality. At GrabCAD, we like to embrace anyone who has data to share, so for the purpose of this post, we will designate as neutral any format that has been designed or promoted as such.
Single-file versus multiple-file assemblies
Many CAD vendors create different file types for parts and assemblies. Even those with only one file type often allow for references to external components. In most cases, we need the entire assembly to display the design on GrabCAD, which is why we created an awesome multi-file uploader. In some cases, most notably with SolidWorks assemblies, GrabCAD can extract all the necessary graphics from the assembly file itself, so you don’t need to upload all the parts and subassemblies or export to a neutral file if all you want to do is show off your work!
BOM versus flat list
Some file formats are smart enough to know that if your assembly contains 100 copies of the same bolt, it can store one part and the 100 different positions for it. These contain the BOM (Bill of Materials) and the assembly hierarchy structure. Others are simpler, and need to store 100 copies of all the geometry of the same bolt. The GrabCAD viewer lets you navigate the BOM when it’s available, which can be helpful for those examining your work.
Some formats allow us to embed color information, while others just contain the geometry. If you can use a format that supports colors, your assemblies will look a lot better in 3D. For individual parts, it doesn’t matter as much.
With those categories defined, let’s take a look a the 3D formats supported by GrabCAD’s viewer:
Click image to expand the view.
In addition to uploading the native data, your two best bets for viewing on GrabCAD are STEP for precise data and VRML for a graphics-only preview. STEP has all the goodies, including BOM and color. The only limitation of STEP is that it doesn’t contain its own tessellation, which leaves a small chance of error. If you don’t need or want precise geometry, but you want your model on GrabCAD to look as good as it does in your CAD tool, VRML is your best bet.