Product Design

CAD File Formats: Who Makes Them, What They Do, & Which is Best for You

  • Posted by Dienamics
  • November 10, 2016

Last week, we explored the one question you need to ask to ensure you get a CAD format you can use: “will I own the design?”
But which formats are the ones you’ll own? How can you be sure that the next in your production chain can use what your designer hands you?
Be aware; this topic is incredibly complex. We are aiming for a quick overview to allow you to get the files you need from one party to another with a minimum of fuss and cost.

Mechanical CAD vs. The World.

Designers and mechanical engineers in the field of product development deal mainly with mechanical CAD systems. These systems are designed to make accurate representations of object that exist (or want to exist) in the real world. To give the designer as much power as possible, these programs can precisely model dimensions ranging from a micron (.001mm) to multiple kilometres. They can also simulate movement, forces, weights and other physical properties.
There are many other types of CAD. For example, architects use a whole suite of specialty systems designed to handle the scale of their projects, but not focused on the fractional accuracy of mechanical CAD. Electrical engineers have specialised CAD to simulate the functioning circuitry as well as its physical size, and so on.
It may seem like they are all doing the same thing (making a model on a screen), but the type of problem each programs is trying to solve is quite different. This means that the similarities are only skin deep.

The Basic Divide – 2D and 3D Mechanical CAD

Mechanical CAD formats can be broken into those that focus on 2 dimensional (flat) drawings, and those that focus on 3 dimensional shapes.
You may wonder why in this day and age designers bother with plain old flat drawings that have more in common with the ACME blueprints from a Road Runner cartoon than a pretty computer render. The answer is complexity usually comes at the cost of time, and you pay for designers time.
Some designs do not require a full 3D model. The flat drawing may get the info across just fine. You can also print out a flat drawing, which is a benefit that should not be underestimated.

3D file types For mechanical CAD

Herein lies the jargon! don’t be scared though. As with the difference between mechanical CAD and other sytles, the terms below come down to one concept, “how does the program store the data that makes up the model?”
Solid Models are what they sound like. They model the whole shape, all the way though. They use complex formulas to define what the shape is, what’s inside it, and what’s not. They allow the designer to ask almost any question about a model and get an accurate answer about how it would react in the real world.
Mesh, or polygonal, models, are the yin to a the solid models yang. They only recreate the skin of a shape. Instead of using complex formulas to define every single bitty bit of the shape, they define a series of points floating in space, and then link those points up into flat shapes (polygons) which become the surface.
Historical or Feature based file types build shapes from a series of instructions. i.e. Draw a box, then cut a hole out of the side, then add a block to one end, and so on. The power of this type of construction is very complex shapes can be created step by step. Underlying steps can also be edited separately. Started your design 300 steps ago with a with a box that was too small? That’s ok, just edit that step and watch everything that was based on it update!
Container file types are a means of consolidating multiple files or components of a design into one file for ease of reference and editing of the whole design.
Export files are visual representations of 3D designs. They take information defined in one way are recalculate it to be used by a system that needs the information in another format.

So this all means what….?

Whew! Still with us? Now that we have busted some jargon, let’s see what that means for someone who just wants a useable file of something they have had designed for them.
The key concept is that although systems files can often be exported to another, each time this happens information will be lost, and it can’t be brought back without a lot of hands on work.
So to ensure you really own your design, you need access to the original file it was created in. You also need to ensure the designer created it with enough information to begin with. This will typically be a solid model drawn in a professional CAD package like Solidworks, Pro-E, IronCAD, or similar.

However, in our imperfect world you will often have files show up in your email with weird letters at the end of them, regardless of the instructions you give. Below is our cheat sheet of what some of those letter mean, and what that file is good for.

.sldprt / .sldasm

What is .sldprt / .sldasm?
.sldprt is a parametric, historical solid model file type.
Who makes .sldprt?
.sldprt is the default, native file extension for Solidworks.
What does .sldprt do?
.sldprt models are made up of a hierarchy of actions & features which go together to form the final shape. This allows Solidworks models to be highly complex and accurate, yet easily editable —provided, of course, the designer leveraged the system properly when drawing your design.
What is .sldprt good for?
Complex, accurate designs which are works in progress. If you are in the process of creating something, .sldprt will allow you to tweak without having to redraw the whole shebang each time.
What does .sldprt NOT do?
Solidworks aims to be the Photoshop of CAD – one program to do it all. To a degree, it succeeds – but some other programs may be better for specific things. Many designers use other programs for more organic shapes, or export the file out of Solidworks to create hyper-realistic computer images of how the final product would look.
What is .sldprt NOT good for?
Solidworks isn’t interested in sharing or looking back. Other programs struggle to read .sldprt – even old versions of Solidworks: something made in Solidworks 2015 can’t be read by Solidworks 2014, 2013, etc.
What about .sldasm?
.sldasm is a container file, often called an assembly. It is another native file extension of Solidworks.
It puts components of designs together into larger, more complex designs, and allows those parts to interact. If you were to model an engine, each component would be a .sldprt. All those parts together would be the .sldasm, and that file would contain info like how much each part can move, where they touch, and so on.

.igs

What is .igs?
A wireframe, surface and solid export file.
Who makes .igs?
.igs is a defined standard created by the American National Standards Institute (ANSI) and originally created by the US Air Force. No longer updated (.step is the current international standard), but still very commonly used.
What does .igs do?
.igs strips out proprietary information from 2D, wireframe, surface and solid models so they can be easily read by almost any CAD program. The drawback? That proprietary stuff is often what made the file easy to edit, revise or update. Nothing comes free!
What is .igs good for?
As a standard, it’s owned by no one, so it’s free, and almost every CAD system can read or export to it as a result.
What does .igs NOT do?
Development of this standard stopped in 1996, so it can have problems with solid models. The more complex the surface shape, the more likely it is to drop information or accidentally create bad geometry, which must be repaired before the file can be used.
What is .igs NOT good for?
.igs creates what are known as “dumb” files. The shape is there, but the driving info that created it is gone, so it’s great for transferring info between systems, but not creating new things.
That, and it’s super old. Using .igs is like playing the Nintendo 64 today – if it even functions properly anymore, it’s obsolete a thousand times over by now.
This is doubly appropriate since that console was released in 1996, which is when the final .igs update took place.

.step

What is .step?
.step is a wireframe, surface and solid export file.
Who makes .step?
It’s also a defined standard – only controlled by the International Standards Organisation (ISO).
What does .step do?
.step is like a modern version of .igs — it gets around the proprietary information that prevents one program from reading another’s files. Being more modern, it can translate some of that proprietary info into a universal language, allowing it to stay with the file.
What is .step good for?
CAD companies have to pay the ISO to include .step in their systems. Their payoff for doing this is getting access to the industry default for 3D model transfer.
What does .step NOT do?
It cannot maintain all the info in the file, so they are still harder to edit than a native format. It still creates “dumb” files, they just are not quite as dumb as .igs.
What is .step NOT good for?
Although step is (almost) universal, it’s not the file you design in. It’s the nicely-written cover letter that explains to the next person what you were trying to do. .igs is the dreadful cover letter with whiteout on it.

.3ds

What is .3ds?
.3ds is a mesh/polygonal file.
Who makes .3ds?
Not to be confused with the handheld gaming device of the same name, 3DS was the original native file format of Autodesk. (The history of CAD and Nintendo are not nearly as intertwined as this post suggests.)
What does .3ds do?
.3ds simplifies mesh models for transfer between programs. After Autodesk abandoned .3ds, it grew to become the default transfer file type for mesh modelling programs, much as .igs became the default for surface and solid modelling programs.
What is .3ds good for?
Archiving; the concept is that a file saved in this format will be usable for years to come by new programs. Like .igs and .step, it does this by removing the proprietary data and just storing the base mesh file with no shenanigans.
What does .3ds NOT good for?
Editing or creating models. Its best for storing them.

.obj

What is .obj?
.obj is a mesh/polygonal file.
Who makes .obj?
.obj was developed by Wavefront Technologies, who are now part of Ball Aerospace.
What does .obj do?
Like .3ds, .obj simplifies mesh models for transfer between programs. It is the de facto standard used to archive 3D models and transfer them between mesh modelling programs, having supplanted.3ds in many areas.
What is .obj good for?
Archiving, same as .3ds.

.stl

What is .stl?
.stl is a mesh/polygonal file.
Who makes .stl?
.stl is a common machine output format. Its designed to take a file and allow certain machines to make things from it.
What does .stl do?
.stl is a transfer language. It is primarily used by 3D printers to create models based on designs drawn in other formats.
What is .stl good for?
Easily moving complex shapes to 3D printers for creation. 3Dsystems claims .stl is the de facto industry standard for this kind of data transferral.
What does .stl NOT do?
Allow any part editing. Really, its a nightmare to try and edit an .stl. It only transfers.
What is .stl NOT good for?
Designing, or allowing edits to a design.
Think of .stl as the mailman, with the product as the letter and the design file as the sender. Once in the hands of the mailman, the letter can’t be altered unless returned to sender; similarly, once in .stl, the design can’t be changed unless the file exists in an editable format.

.skp / .dae

What is .skp / .dae?
.skp and .dae are mesh/polygonal files.
Who makes .skp / .dae?
.skp and .dae are the native formats for the free 3D modeller Sketchup Make.
What does .skp / .dae do?
.skp and .dae allow free and easy 3D modelling. The attached repository of pre-made shapes, 3DWarehouse, is claimed to be the largest repository of 3D objects available.
What is .skp / .dae good for?
Quickly designing in simplistic shapes, often using existing models as references.
What does .skp / .dae NOT do?
Create files which can be used to generate tool paths or solid bodies for product development.
What is .skp / .dae NOT good for?
Complex or multi-body designs.

.ply

What is .ply?
.ply is a mesh/polygonal file.
Who makes .ply?
Developed in the Stanford graphics lab to be a jacked-up .obj, .ply files are common, neutral file types used by open source programs like MeshLab and CloudCompare.
What does .ply do?
Often used as an intermediary step when 3D scanning and reverse engineering a real world design, .ply allows programs to turn scan data into a generic, exportable file.
What is .ply good for?
Storing complex scans of real world objects. The .ply model is imported and used as a basis to recreate the model inside a parametric or NURBS modeller.
What does .ply NOT do?
Generate an actionable solid model. You can’t edit whatever the 3D scans into .ply; you can only use it as the basis to recreate the model in a different, editable file type.
What is .ply NOT good for?
If you need to edit the scanned model in any way – which you almost always will – you can’t do it in .ply.

.dwg

What is .dwg?
.dwg is a vector-based file.
Who makes .dwg?
.dwg was originally created in the 1970’s, and licensed by Autodesk in 1982. It finds use in their AutoCAD and Revit software, but it’s used by a handful of other non-Autodesk programs too.
What does .dwg do?
.dwg is a primarily 2D format that allows some degree of file movement between programs from various vendors.
What is .dwg good for?
2D drawings, wireframes, and solids.
What does .dwg NOT do?
Although it can translate solids, it’s not recommended. Errors abound.
What is .dwg NOT good for?
.dwg is claimed to be the most common CAD file type in existence, which is plausible given the number of companies it’s licensed to and the multiple versions created by Autodesk alone. But this indiscriminate licensing and versioning has created inconsistencies amongst how the many programs that use .dwg read it – so if you’re using .dwg, make sure whoever else needs your file will see in their program what you see in yours.

Honourable mention

.X_T, a parametric, historical file type developed originally by Shape Data Limited as Parasolid (now owned by Siemens) that acts as the basis for programs such as Solidworks and IronCAD – and therefore can be used by these programs. Fairly versatile as a result.

So which file type is the one you should look for?

Fundamentally, if you’re looking for the most versatile file type — one you can be sure will be usable by almost any program with almost no errors — you’ll want to look to one of formats built from standards.
That means you’ll want a .igs or .step file. Make sure, though, that you get it as a SOLID model rather than a wireframe or surface model.
Be careful you aren’t dealt a .stl file if you expect the design will need to be edited (and it often will). These files will work for 3D printers and not much else.
If you’re using .dwg, make sure whoever else needs your file sees the same thing you do — the way it has spread from versioning and licensing means they may not.
If you’re feeling proactive, you can by all means ask the next in your manufacturing chain what file format they use and see if your designer can or already is producing for this format.
For example, we’re Solidworks acolytes here at Dienamics, so if you’re bringing a design to us to manufacture, you’re our heroes if you’re bringing it in .sldprt or .sldasm.
Go forth and own your format
Even for those in the know, it can be a big scary world of CAD out there. We hope that you’ll keep this guide handy when you ask the one question of your designers so you can feel sure you’re getting exactly what you need to own your design, save on time and money, and make something great.
Help people make sense of the world of CAD by sharing this around using the links to the left. And if you have any questions about these file formats, or submissions of your own, reach out to us on Twitter or Facebook and fill us in.