There are many different ways of exporting .stl files for 3D-printing and SLS-printing. This is a guide to clarify the process, so you can optimize the settings for your specific needs.
What is STL?
The STL format is the most widely used format for additive manufacturing, more commonly known as 3D-printing. STL stands for Standard Tessellation Language or STereoLithography. The format describes a 3D object’s surface geometry without any color, texture or other properties. This format uses a series of interconnected triangles to recreate or reproduce a 3D-model’s surface geometry. The more triangles used, the higher the resolution of the 3D model.
Why should you use STL?
Many websites that publish 3D-models use STL format and, thanks to the format’s simplicity, which makes the file size small. They may lack the precision other formats achieve, but most 3D-printers are similarly limited in the level of detail they can reproduce, so it does not really matter.
STL has become widely accepted as the standard format for models intended for additive manufacturing and manufacturers. 3D printers have therefore designed their products to work with it. Furthermore, most software platforms for 3D-modeling can open STL files and some have even developed a special version to handle STL.
The format also serves as an interface between 3D modeling and 3D printing. Full 3D models created with CAD software can be complex to share online, and difficult to read for 3D printers. By converting to STL, the model is simplified into a form that’s easier to understand for a 3D-printer’s slicer software. This software turns the model into layers which print one at a time.
Settings for exporting STL files for 3D-printing
Below are some of the most important settings when it comes to exporting STL files for 3D-printing. These settings will result in appropriate file sizes as well as high quality prints.
Units for STL export
STL files are unitless, that is, they do not retain information about how large a model is in actual dimensions when the file is saved in one application and then opened in another. This can cause problems when exporting files to a 3D-printer. Therefore, it is important to specify the correct unit for a model when it is imported into a particular program. If we first design a model in millimeters and then open it in inches instead, it will be about two and a half times too large. Wematter’s SLS 3D-printer Gravity for example, uses millimeters as unit to specify the size of the model.
The animation above shows how big the difference in size becomes when the unit changes from mm to inches in the 3D Builder program.
ASCII or Binary
Since STL files are used extensively for 3D-printers, it may be helpful to think about how the file stores information to make it as easy to read as possible for the machine. STL files can store information in two different ways, either by binary encoding or by ASCII encoding. Binary encoding is best for 3D-printers because it only contains ones and zeros and results in smaller files that are easier to share. ASCII files are based on text and visually easier to read but generate a larger file size and take longer time to load. Heavier files are also unnecessary in that they also do not provide better print quality, since too small details cannot be printed.
We learned above that the STL format uses a series of interconnected triangles to recreate the surface geometry of a solid model. As the resolution increases, the program uses more such triangles which better merge the surfaces of the 3D-model, but also increase the size of the STL file. If you export the model in too low resolution, the model will have visible triangles on the surface when printed. Often this is something you want to avoid, but you can use it to create low poly models with a digital look.
The pictures above show a 3D model of a ring in 3D Builder with a resolution of 768 and 20,000 surfaces respectively.
Choosing the right parameters for export
Resolution of the STL file can be changed by adjusting the tolerance in the CAD software. Each program has its own way of specifying this but most ones use two parameters that we choose to call chord height and angular tolerance. The first specifies the maximum distance the software will allow between the surface of the original 3D model and the surface of the STL file. A minor such deviation will help to more accurately represent the curvature of the surface. A recommended value for this is 1/20 of the thickness of the 3D print layer and never less than 0.001 mm. The illustration above shows the maximum distance deviation (chord height)
The latter parameter limits the angle between the normals for adjacent triangles. The default value for this is often 15 degrees. Some software also specify this tolerance as a value between 0 and 1. Unless you need a higher setting to achieve a smoother surface, we recommend the default value of 15 degrees or 0. The illustration above shows the angular tolerance
Wematter Deep Space och handling of files
Convertion from ASCII to Binary coding
In some cases, you may have missed some settings. This could be exporting your file with binary code, and sometimes it is simply not possible to choose this. In such cases, Wematter’s Deep Space software can convert from ASCII to binary encoding and successfully read the file.
When uploading an ASCII-encoded file, the status message above shows that conversion is being performed.
When it comes to files that should be exported to a 3D-printer, larger files are not necessarily better than smaller ones. The larger the files, the longer they take to upload into the Deep Space interface making them impractical to work with. It is then better to convert them from the beginning using the settings above so that they are not larger than necessary for the quality required by the prints. However, if an oversized file is loaded into the program, this is reduced in the background to be easier to handle.
The Repair tool is a software within the Deep Space Cloud Services that can repair broken files before further processing. If an incomplete file is uploaded with a model containing gaps, the program will try to fix these before the object is placed in the scene. The tool will look for example holes in the polygon mesh, walls without specified thickness or places where triangles don’t connect in a proper way. It then tries to solve these problems with different algorithms to attain a printable shape.
When uploading a broken file, the status message above shows that Repair tool is working on to fixing the file.
Quick guides for exporting stl files for 3D-printing from different programs
How to export .STL for 3D-printing from Inventor
- From the Tools menu, select Rebuild All. This ensures that the design data contains recent changes, and that it is not corrupt.
- From the File menu, select Save Copy As
- In the File-type drop down, select STL Files
- Click Options
- Select High (for highest quality surface) and click OK (the “High” setting will also produce the largest file size).
- Make sure the “Binary” button and the Units are in “Millimeter” prior to pushing the “OK” button
How to export .STL for 3D-printing from Catia
- Click on Generate CATPart from Product in the Tools menu
- Click on File and Save As
- Set Save As file type to STL
How to export .STL for 3D-printing from Solidworks
- Click on File and Save As
- Set Save As file type to STL
- Click on Options, Resolution, choose Fine or Custom and click OK
How to export .STL for 3D-printing from Sketchup
- In SketchUp, creating STL files directly within the program may not be possible. An extension for .stl must be downloaded first in order to export STL files.
- Download and install the SketchUp STL plugin
- Choose Export to DXF or STL from the Tools menu.
- Choose Millimeters as unit and Binary as file format for the model.