Have you ever wondered why there are different types of 3D printer file formats? Well, these various formats carry the encoded information that includes geometry, texture, color, transparency and more. The format dictates the variety of the information available and makes it possible for 3D printers to read. However, there are quite a few to choose from. Today I am going to share with you which ones are the most common and what information they carry to help you determine what will be the best fit for your 3D printing project.
Before we started, I want to define a few terms to make sure we are on the same page:
- Geometry: This is the basic shape of the model. This might be made from CAD solid bodies, surfaces, or even meshed files. Geometry represents the overall outer shape of the 3D model.
- Units of measurement: Pretty basic here. This will refer to a file containing the units of measurement that was used to measure the part when the part was modeled. This might seem minor, but in 1999 NASA’s $125M Mars Climate Orbiter was “lost in translation” when it burned up in Mars’s atmosphere because of an English to Metric oversight.
- Color: In this case, we will use color to mean the solid color of bodies, or faces of bodies, that have colors applied to them in the modeling software.
- Transparency: How opaque or translucent a body is.
- Graphical UV Texture: This is 2D “textures”, or patterns on a body or a face of a body. Think of applying a woodgrain appearance to an object in SOLIDWORKS.
- Multi-Bodies: A part that was modeled to have multiple bodies (parts) or even an assembly of parts like a SOLIDWORKS .SLDASM file.
Now that we have some basic terminology down, let's dig into some file formats!
This is the OG (Original Gangster – official industry term) of 3D file formats dating back to 1987 with the introduction of Stereolithography 3D printing. This was (and still is) a simple meshed file that is composed of a series of triangles that allow for the recreation of complex organic and geometric shapes. This file type is based on a 3-Axis cartesian coordinate system that plots the corners of each triangle and then establishes what face of this 2D triangle is facing inside or outside of the model. Unfortunately, this cartesian plotting data does not contain units of measurement. Data contained: Geometry Only.
Extra credit – the triangular faces are referred to as “Normals” and a common error with STL files are “Inverted Normals” where a software tool will not know if a surface is facing inside or outside of the model.
Figure 1: Triangular Meshed files like STL, OBJ, and VRML rely on the user to set the proper mesh parameters during export to ensure that the file has a sufficiently smooth surface without creating an excessive number of triangles that can increase the file size and increase the processing time when working with the file in the 3D printing software.
Like the STL, this is an oldie as well, dating back to only a few years later than the STL when it was developed by Wavefront Technologies in roughly 1990 (there are some conflicting dates floating around). Just like the STL, this is meshed triangle data that does not carry units of measurement. The OBJ does have a big trick up its sleeve – color data. Yes, the OBJ can carry color, transparency, and graphical texture data in the form of reference files. When working with OBJ files that have color data, the file will need to be accompanied by a .MTL file and the associated image files that are “wrapped” around the 3D part to apply the color. Data contained: Geometry, Color, Transparency, Graphical Texture.
Figure 2: The OBJ and VRML files are mesh data that reference a series of supporting files to denote where color and texture should be applied
The VRML’s extension is actually the .WRL but is widely accepted as the Virtual Reality Modeling Language circa 1995. Remember VR in 1995, paying 5 bucks to put on a 10lbs headset at a kiosk in the mall to ride a nausea-inducing “roller coaster”? The VRML was originally designed for VR and for 3D graphics on the “World Wide Web” (for you younger ones out there, that is what the “www” at the start of a web address stands for). Just like the OBJ and the STL, this is a triangle mesh with no units of measurement. Like the OBJ, the VRML carries color, transparency, and graphical texture but also goes on to carry things like surface reflectivity which isn’t much help in the 3D printing world. Again, like the OBJ, we must also have a series of reference files that accompany the .WRL file to denote color/texture on the part. Data contained: Geometry, Color, Transparency, Graphical Texture.
Step and Parasolid (.stp and .x_t)
The Step and Parasolid files are CAD-neutral formats (yes, I know Parasolid is actually for Siemens NX, but it is still universally imported by most CAD platforms). These file formats not only carry the overall geometry of the part but also carry over the units of measurement that the part was modeled in. A huge advantage over the STL is that the geometry is not converted to a triangular mesh, it is still solid body information when pulled into the 3D printing slicer software. This means you can open parts without the concern of proper meshing settings that may cause the part to look “low resolution” and you can also carry over multi-body parts so different build parameters and be assigned to different sections of the part.
The kicker here is that not as many 3D printing slicing software packages open these as it takes a much more compressive tool to do so – however, Stratasys’s GrabCAD Print is one of those few that can do this. With GrabCAD Print, it is even possible to apply build parameters based on faces/regions of the parts rather than just making global print settings. Lately, if working with a full-color 3D printer like the Stratasys J55 or J8 series printer, the Step and Parasolid generally carry color data for bodies and faces that were applied in the CAD tool that generated them. For many industries, CAD neutral formats are starting to become the standard file format for 3D printing as they keep the geometry extremely accurate (no meshing) and also carry with them the correct units of measurement. Data contained: Geometry, Color, Units of Measurement, and Multi-bodies.
Figure 3: Multi-Body parts and assembly data carry over when using CAD file formats in GrabCAD PRINT+
SOLIDWORKS (.SLDPRT and .SLDASM)
We might be SOLIDWORKS geeks here at TriMech, but make no mistake, if you are a SOLIDWORKS user and printing on a Stratasys printer, look no further than your native .SLDPRT and .SLDASM files. These files carry everything you would expect from a CAD neutral file listed above, but also have the unique ability to carry over your material appearance data when opened in GrabCAD Print. This means if you modeled a part with woodgrain or a carbon fiber graphical texture – that will carry directly over when it is opened in GrabCAD Print and printed on a Stratasys full-color 3D printer. The other bonus for SOLIDWORKS users is that you do not need to do any extra steps, just open your part of the assembly file and go from there, no extra exporting or file settings needed. Data contained: Geometry, Color, Transparency, Graphical Textures, Units of Measurement, and Multi-bodies/Assemblies.
Figure 4 (Left): As modeled in SOLIDWORKS Figure 5 (Right): As printed on a Stratasys J55 using GrabCAD Print
3D Printing Specific File Format
With the rising popularity of additive manufacturing and the ever-growing list of industries depending on it for daily operations, you would think there would be a 3D printing specific file format….well there is. Starting in 2015 the 3MF Consortium had a meeting of industry leaders (including companies like Dassault Systems, Stratasys, Siemens, HP, GE, and Autodesk). This meeting was wrapped around the concept of creating a file format that would meet the current and future needs of the additive manufacturing industry. They developed the groundwork for the Additive Manufacturing Format dubbed the 3MF.
The 3MF still uses the proven triangulated mesh seen in its predecessors the STL and OBJ – but the similarities end there. The 3MF is based around an XML form that allows for an endless list of properties to be defined within the file format. This means data like color, transparency, graphical UV textures, and units of measurement are stored within the file, but it doesn’t end there. This XML-based referenced system means that things like copyright info, authors' names, thumbnail images, and even software settings can be stored directly in the 3MF. Unlike the OBJ and VRML, there are no reference files, the 3MF is basically a file package that self contains all the elements needed – this means all you need is the 3MF, and all the other referenced are conveniently stored within it. Data contained: Geometry, Color, Transparency, Graphical Textures, Units of Measurement, Multi-bodies/Assemblies, Software Settings, Copyright Info, and things we haven’t even thought of yet.
In conclusion, the takeaway is to use a format that your 3D printing slicing tool allows that is still capable of carrying all the data you need. This means if you have a hobbyist-grade printer and you are only working with a single color/material - an STL will probably still serve you well. Maybe you need basic color on a simple object that you don’t plan on editing in your slicer software – an OBJ/VRML will work. But when you are leaning on using your printer for the profitability of company, the chances are you will need to leverage a higher level of build parameters to achieve the quality of parts your project demands. When this happens, you need a file type that can keep up. This is where using a software tool like GrabCAD Print that allows for the use of native CAD-like SOLIDWORKS files and the importation of 3MF files really shines by offering the user a higher level of control, inclusive data storage, and a more efficient overall workflow.
Get all the details in the full on-demand webinar below. If you do any 3D printing or even just set up files for others to print, this webinar should not be missed!