Demystifying CAD File Formats

Last modified: April 10, 2024

As a beginner, understanding CAD File Formats can be really challenging. Numerous questions might arise:

It turns out there are more CAD file formats than there are CAD programs, just to make things even crazier.  And, most CAD software can create multiple file formats.  What's the right one to use?

Native (Proprietary) versus Neutral File Formats

The first thing to note is that CAD file formats generally fall into one of two categories-either Native or Standards-Based.  Native file formats are Proprietary-they're under the control of a particular CAD software maker who can choose to change them at any time.  A Standards-Based format is in the hands of some standard-making organization which gets to decide when and how the format changes.  Purportedly it will do so according to the best interests of all users, and not just the best users of a particular CAD software company.  The Neutral formats were specifically created to encourage interoperability.  In other words, to make it easier to exchange files with someone who uses different CAD software than you.  To make matters more complex, the most successful Native Formats are supported by a variety of software.  Once you become an industry standard, the world pretty much wants to do whatever it can to work with you.  Sometimes, the ability to work with a Native File Format affords better interoperability than the Neutral File Formats.

One of the things I like to look for when I am evaluating CAD software is its ability to handle as many file formats as possible as well as possible.  You never know when  you're going to get a file from a customer or some other source that you need to be able to read and do some work on.

Neutral File Formats

Let's have a look at some of the Neutral File Formats and discuss their pros and cons:

o STEP includes tolerance information in the file, which is very important to precision machining applications.

o STEP does assemblies.  It won't just make 100 copies of the same part, it'll refer to a single part 100 times.

o  STEP does Solid Modelling

o  STEP is an active and vigorous standard with many sub-standards to support specialized use in various areas.

Tip: Check our library for free DXF files that you can use in your designs.

Native File Formats

Most every CAD package has one or more Native formats in addition to any Neutral formats it supports.  For the most part, your CAD package will do the best job loading its own Native formats-no surprises there.  But if the package does a good enough job on a Neutral format, why use the Native/Proprietary format?

Well, "good enough" is in the eye of the beholder, but the loss of features and productivity of using pure Neutral formats all the time can be profound.  For example, neither STEP nor IGES capture any parametric data.  It's extremely common to load a Neutral format and find that most of the commands in the CAD package just won't work on the objects loaded, even though they look fine.

The fact is, you'll probably be using Native Formats more often than the others.  Every time you can avoid the Neutral format in many cases.  The Native files simply contain more information for your CAD software to manipulate.

So, whenever possible, it's good to have a CAD system on hand that can load multiple Native formats, not just its own.  Ideally, it should load formats from the most popular CAD software in the market.  And what is the most popular CAD software?

Well, CNCCookbook has done extensive surveying to determine that.  Here are some overall market shares:

If there are particular formats you know you'll be exposed to, perhaps due to knowledge of your customer's needs or the market niche you're in, be sure to consider those.  Also, don't just focus on the Mainstream CAD market share.  Review our CAD Market Share article and see about the different market segments we've classified things under.

CAD File Formats and CAM Considerations

You've got a pretty good grasp of what the various File Formats mean for CAD software, but there is more to CNC than CAD.  Perhaps most importantly, there is CAM.  Before a CAM package can post gcode, it needs to geometry that it can use to generate toolpaths.  That geometry comes to it from a CAD file being loaded.

The critical issues for the CAD file formats and CAM fall into two categories:

As with CAD, this leads us to preferring file formats that capture as much useful information as possible.  The difference is CAM is a little less sensitive to the amount of information available because you're less likely to want to change the CAD model from within the CAM package.

Unfortunately, CAM is much more sensitive to the accuracy available from the CAD file.  There are various sources of inaccuracy in these files.  For example, a purely tesselated file format (one that contains only the triangular mesh), such as STL, has nothing but triangles in it.  There's no way to tell what resolution or tolerance was specified when the triangle mesh was created.  The CAM software just has to take the triangles as gospel and hope for the best.  OTOH, a more complex file format may make it easy to tell when a wall is truly vertical and not just triangles within some tolerance of vertical.  It can tell when a round hole is a hole, and not just some array of triangles that are within some tolerance of being a hole.  Perhaps there is further information annotating the hole in some way that tells even more.

Here is a view of what a typical triangular mesh looks like:

A triangular mesh...

This is the kind of thing that matters to CAM software.  It's also one reason why having CAM integrated into the CAD package has become so popular.  Not only is it easier to have it all under one roof, but typically the CAM can tell more about what's going on by using API's that let the CAD package tell it potentially even more than is captured in the file.  Or perhaps to tell it in a way that is easier and more useful to the CAM.

Here is a part that is showing the results of inaccuracies and imprecision from the CAD file:

A part that is faceted...

As you can see, the part is faceted where a smooth curve was expected.  This can happen for a variety of reasons.  Perhaps the file format simulates all curves as line segments, for example.  Combine that with a low precision setting and you're going to get visible facets.  Imagine the difference between the precise mathematical definition of a circle and one simulated as a series of line segments-there is room for quite a lot of error if you're not careful!

For most CAD, it is possible to set the precision.  You'll to experiment with it a bit to get the results you want.  The more precision, the better the results, but too much precision can also make files much larger and software will run more slowly.  So, there are tradeoffs.

Conclusion

This has been a general overview of the different file types used by CAD software and some of the impacts on interoperability and on downstream CAM software.  There's much more going on, but that's better left to specific cases and questions.  If you are having a problem, track down the user forum for your software and check in there first.  Chances are you will not be the first one who had that particular issue.  Someone else may already have solved it and can tell you an answer right away.

Be the first to know about updates at CNC Cookbook

Join our newsletter to get updates on what's next at CNC Cookbook.