1. What is an STL File?
STL file contains data describing the layout of a three-dimensional object.
These files are usually generated by a computer-aided design (CAD) program.
“.STL” is the file extension of the STL file format.
The STL file format is the most commonly used file format for 3D printing. When
used in conjunction with a 3D slicer, it allows a computer to communicate with 3D
printer hardware.
Since its humble beginnings, the STL file format has been adopted and supported by
many other CAD software packages, and today is widely used for rapid prototyping,
3D printing, and computer-aided manufacturing. Hobbyists and professionals use it
alike.
2. What does the file extension .STL stand for?
The meaning of the file extension .STL has been lost to the mists of time.
It’s widely believed to be an abbreviation of the word STereoLithography, though
sometimes it is also referred to as “Standard Triangle Language” or “Standard
Tessellation Language”.
3. Why is the STL Format Important for 3D Printing?
In software terms, the STL file is perhaps the single most important item of any 3D
printing workflow. It contains the 3D model that is used to make a physical object,
and as a standard data format, it has reigned supreme for nearly thirty years.
4. How does an STL File work?
In simple terms, the STL file format uses a series of linked triangles to recreate the
surface geometry of a solid model.
For a basic model, its surfaces can be represented using a few triangles. For higher
resolution models, more triangles are required to replicate the surface of the model.
The more triangles that make up a model, the bigger the file size and the more
detailed the object.
The STL file format can define complex shapes (mathematically speaking,
polyhedrons with any polygonal facets). In practice, it is mostly used to describe the
layout of triangles in a virtual space.
Diving a bit deeper, each triangle facet is described by a perpendicular direction and
three points which represent the corners of the triangle. An STL file provides a
complete listing of the x, y and z coordinates of these corners and perpendiculars.
5. Who invented the STL File Format?
The STL file format was invented by the Albert Consulting Group for 3D Systems in
1987, in turn, to support the stereolithographic 3D printer invented by Chuck Hull.
The STL file format made it possible to transfer three-dimensional CAD models to 3D
Systems’ very first commercial 3D printers, the StereoLithography Apparatus.
Since this initial release, the technical specifications of the STL file format have
remained virtually unchanged.
6. What are the Benefits of the STL File Format?
In a word: simplicity. Even the most complex design can be reduced to simple
geometrical forms.
Open: The STL file format is non-proprietary, and allows for both (human readable)
ASCII and (smaller) binary representations.
Vector-based: As the STL file format describes geometrical figures, it is scalable,
which is a huge advantage if you want to change the size of a 3D object.
Universal: STL files can be used with nearly every 3D printer or CAD program.
Readable: Users can code up an STL file very quickly, and can read or write to it
very easily. Almost all of today’s CAD systems are capable of producing STL files.
For the user the process is often as simple as selecting “File,” “Save As” or “Export,”
and then clicking on “STL”.
In turn, a large software and service ecosystem has grown around repairing and
manipulating STL files.
Most 3D printable models you can find on the internet are in the STL file format. The
existence of this ecosystem, combined with STL-based software investments made
by 3D printer manufacturers, has given rise to a large user-base that’s heavily
invested in the format.
How to Prepare STL Files
STL is the standard file type used by most additive manufacturing systems. STL is a
triangulated representation of a 3D CAD model (Figure 1).
The triangulation (or poly count) of a surface will cause faceting of the 3D model.
The parameters used for outputting a STL will affect how much faceting occurs
(Figures 2 and 3). You cannot build the model smoother than the STL file. If the STL
is coarse and faceted the physical 3D printed model will be coarse and faceted as
well. However, the smoother/ less faceted your surface is, (the higher the poly count
or triangulation) the larger your file. 3D printing can only accept a certain file size;
therefore it’s important to find a balance between your model, its desired surface,
and the 3D printing process of your choice.
When exporting to STL in your CAD package, you may see parameters for chord
height, deviation, angle tolerance, poly count, or something similar. These are the
parameters that affect the faceting of the STL. We’ve compiled tips on exporting for
the best “surface: file” size ratio below.
Preparing your files
The following step-by-step instructions for converting CAD files to STL came from
each CAD software company’s website or from 3D printing and design user forums;
it’s an overall simplified step-by-step process from the greater 3D printing
community. If your CAD software is not listed below or if you require additional
assistance, please contact your CAD software technical support for information
about exporting to an STL.
Select your CAD software:
3D Modeling for Beginners
Tinkercad
SketchUp
3D Modeling for Engineers
Autodesk Inventor
CATIA
IronCAD
Rhinoceros
PTC Creo Parametric
ProEngineer
Solid Edge
SolidWorks
NX
Tinkercad
Tinkercad is great for 3D printing simple geometrical objects. Its interface was
created with 3D printing in mind.
1. Design > Download for 3D Printing > .STL
SketchUp
SketchUp does not offer STL creation directly within the program. Download the
extension for .STL here (note: this plugin is open-source and updated frequently).
1. Download and install the plugin
2. Select Tools > Export to DXF or STL and select the units for your model
(millimeters is recommended)
Tip: SketchUp isn’t inherently built for model production therefore it’s useful to check
your SketchUp file for additional feature accuracies once it’s exported from the
interface. We recommend uploading your SketchUp file into Meshmixer (a free
program from Autodesk) to check your file for faceting and fix any surface flaws.
Note: We don’t recommend Sketchup for use with 3D printing as it does not export
well and is best for early design sketches rather than producing physical models.
Autodesk Inventor
1. Select IPro > Print > 3D Print Preview
2. Select Options and choose desired resolution and click OK
3. Within the preview window, select Save Copy As or Send to 3D Print
Service
4. Save As type to STL File (*.stl)
Note: The “High” setting will also produce the largest file size. From Low, Medium to
High, the hairdryer sample file in Inventor went from about 6.7MB to 17.6MB to
50MB.
Tip: Before finalizing your export, select the Options tab. Within this window, you can
select the resolution (faceting) for your model (High, Medium, Low and Custom) and
check that your units are correct. The “High” setting will produce a large file size.
Autodesk Inventor allows you to save both individual parts and assemblies in STL
format, at all design levels. For a quick overview of designing in Inventor, click here.
To check your modifiers have been applied before exporting:
1. Tools > Rebuild All (this ensures that the design data contains recent changes,
and that it is not corrupt)
2. File > Save Copy As > STL (.stl)
3. Select High and click OK
Note: To change the values associated with each of the resolution settings
(High/Medium/Low) you need to edit the Windows registry.
PTC Creo
3D printing in PolyJet:
1. File > Print > 3D Print
2. Define Material
3. Define STL resolution
a. Tip: Check your file for printability through the Printability Validation Tab
Retired PTC Creo Formats: Pro/ENGINEER
1. File > Export > Model
2. Set type to STL
3. Set chord height to 0. The field will be replaced by minimum acceptable value
4. Set Angle Control to 1
5. Click OK
Exporting your STL file can be done at all levels of design, for both individual parts
and assemblies. When dealing with assemblies, you can specify parts of an
assembly to either include or exclude from the resulting STL file. Use the procedure
below for saving both parts and assemblies as STL files for eventual 3D printing.
To save a Pro/E as an STL file:
1. Check that the model design is continuous and “watertight”
a. This step is especially important if the design was imported from a neutral
design format because non-continuous bodies are likely to result in
defective models
b. To check for continuity:
i. View the model with hidden lines displayed.
ii. From the View menu, select Display Setting > Scheme > PreWildfire.
The model surfaces are displayed in magenta. If the design is
continuous, the contour lines are white. If there are gaps, the lines are
yellow.
iii. Fix the model design, if necessary, before saving it as an STL file.
iv. From the File menu, select Save a Copy. The Save a Copy dialog box
appears.
v. From the Type pull-down menu, select STL
Deviation Control
The Deviation Control settings in the Export STL dialog box affect the accuracy of
the model and the size of its file.
1. Open Chord Height (chordal tolerance)
a. This setting specifies the maximum distance between the surface of the
original design and the tessellated surface of the STL triangle (the chord)
b. Chord height controls the degree of tessellation of the model surface
c. The smaller the chord height, the less deviation from the actual part surface
(but the bigger the file)
Angle Control
This setting regulates how much additional tessellation occurs along surfaces with
small radii. The smaller the radii, the more triangles are used. The setting can be
between 0 and 1. Unless a higher setting is necessary, to achieve smoother
surfaces, 0 is recommended.
Once you have reviewed the above the controls and adjusted your settings, click
Apply > OK to create the STL file.
Saving a Pro/E Assembly as an STL File
1. File > Save a Copy
2. From the Type pull-down menu, select STL.
3. Export STL dialog box appears: Specify the parts of the assembly to either
include or exclude within the resulting STL file
a. Example: In the dialog box one of the parts of the assembly (the tire) has
been excluded, leaving two parts (the hub and the main wheel) to be
exported to the STL file. The design resulting from these settings (when you
click OK) is shown on the left.
4. When you have made all of the required settings, click Apply and OK to create
the STL file.
Solid Edge ST6 – ST8
1. Application Button > Save As (opens dialog box)
2. From the Save As drop down menu, select STL documents (*.stl)
3. Select the Options button from the Save As dialog box
4. Adjust Conversion Tolerance and Tolerance Units (millimeters recommended)
a. The lower the conversation tolerance, the finer the tessellation
5. Adjust the Surface Plane Angle (dependent your desired surface smoothness)
a. The lower the surface plane angle, the greater the accuracy (noticeable in
small details)
i. As a rule, the finer the tessellation and the greater the accuracy, the
larger the size of the STL file, and the longer it takes to generate it
6. Under Output File as: Check Binary
a. Binary STL files are much smaller than STL files saved in ASCII format
7. Click OK > Save
Tip: Review the controls for exporting STL files in Solid Edge here.
Note: Solid Edge is capable of creating individual STL files from the components of
an assembly, but this functionality is not built into the program. It is achieved through
the application programming interface (API), using Visual Basic scripts. This solution
does not enable a visual preview of the polygon mesh before saving the STL files.
Solid Edge (Older than ST6)
1. Open model and select File > Save As
2. Save As Type >STL
3. Options > Conversion Tolerance: 0.0254 mm for FDM; 0.015 mm for PolyJet
4. Set Surface Plane Angle to 45°
5. Select Binary type and OK
6. Name and Save STL file
Note: Solid Edge software from Siemens PLM (formerly USG) supports STL output
at the core level, enabling you to save both parts and assemblies as STL files.
However, when saving an assembly, all of its components are included in a single
STL file.
SolidWorks
1. File > Save As
2. Set Save As Type to STL
3. Options > Resolution > Fine > OK > Save
STL settings: How to change STL settings
1. File > Save As
2. STL > Options
3. For a smoother STL file, change the Resolution to Custom
4. Change the deviation to 0.01 mm
5. Change the angle to 5 (smaller deviations and angles will produce a smoother
file, but the file size will get larger)
Tip: Review file export options before you save your file from SolidWorks here.
To save a model or a model assembly in STL Format:
1. File > Save As (Save As dialog box opens)
2. From the Save as type drop-down menu select STL (*.stl)
3. Click Options
4. The Export Options dialog box will display the file in a tessellated view
5. File Format selection is STL
6. In the Export Options dialog box > Output As section select Binary
a. The resulting file size will be much smaller than a file saved in ASCII format
7. In the Resolution section, select the appropriate option
a. If you select Custom, you can manually adjust the Deviation and Angle
settings
b. The Deviation and Angle settings affect the tessellation of non-planar
surfaces as follows:
i. Lower deviation settings result in finer tessellation
ii. Lower angle settings result in greater accuracy, noticeable in small
details
Note: The higher the resolution, the larger the size of the file, and
the longer it takes to generate
8. For single material builds make sure that the following check box is selected:
Save all components of an assembly in a single file
a. This ensures that all components are saved as a single STL file.
9. For dual material builds (PolyJet) make sure that the following check box is NOT
selected: Save all components of an assembly in a single file
a. Note: Keep in mind that an assembly with many units will create many
individual STL files when the “Save all components of an assembly in a
single file” check box is left unchecked
10. Click OK
11. In the Save As dialog box, click Save
12. In the confirmation message, click Yes