3D Printing – What is an STL file
3D Printing – What is an STL file
STL format is the most commonly used format file for 3D printing. An STL (Standard Tessellation Language or STereoLithography) file is a format that describes surface geometry of a 3D object without any color, texture or other attributes.
This format uses a series of linked triangles to recreate or reproduce surface geometry of the 3D model. The more triangles used, the higher resolution the 3D model will have.
STL file is widely used because it is simple, light and easy to be handled by 3D machines and software.
Limitations of STL files
Although STL is the most widely used file format for 3D printing, it also has its own limitations. STL only understands the external surface and shape of the 3D model.
The second biggest problem regarding STL files is the gaps and overlaps of joining surfaces in model that are not drawn correctly. These are known as non-manifold edges e.g. a door in a building has a air gap all around the door and is not connected solidly so cannot be 3D printed in the model.
Furthermore, information such as color, internal structure, texture or attributes that a CAD file holds may not be included in an STL file.
Exporting STL files using different CAD software
Exporting an STL file is one of the steps in creating 3D printed models. Exporting STL files may differ in each CAD software. As a quick reference, here are some of the steps for exporting STL files.
Autodesk 3DS MAX – From the menu bar, select File > Export > Export. Choose a location for your file and from the Save as type drop-down list, select StereoLitho(*.STL), and click Save.
Autodesk Fusion 360 – From the menu bar, select the file tab and select 3D Print. In the pop-up window, select the number of triangles (Refinement), and click OK. Next, choose a location for your file and click Save.
Autodesk Inventor Professional – From the menu bar, select File > Send to 3D Print Service. Next, change the Export File Type to STL Files (*.stl), and click OK.
Autodesk Meshmixer – From the left menu bar, select Export. Choose a location for your file, and from the Save as type drop-down list, select STL ASCII Format (*.stl), and click Save.
Blender – From the menu bar, select File > Export > Stl (.stl). Next, choose a location for your file, and click Export STL.
Foundry MODO – From the menu bar, select File > Export As…. Next, choose a location for your file and from the Save as type drop-down list, select StereoLithography STL (*STL), and click Save.
Maxon Cinema 4D – From the menu bar, select File > Export > STL (*.stl). Next, choose a location for your file and click Save.
Pixologic ZBrush – From the menu bar, select Zplugin > 3D Print Exporter. Next, click STL and save the file.
Rhinoceros allows exporting STL files in two ways:
-from the menu bar, select File > Export Selected. Next, select the 3D model which you want export as an STL file, and then press Enter. In the pop-up window, select STL (Stereolitography) (*.stl), and click Save,
-from the menu bar, select File > Save as. In the pop-up window, select STL (Stereolitography) (*.stl), and click Save.
Sketchup requires a special plug-in allowing to export the model as an STL file. The plug-in is available for download here.
From the menu bar in Sketchup, select Extension Manager. In the pop-up window, click Install Extension. From the drop-down list, select the plug-in you’ve just downloaded, and click Open. The plug-in will be installed automatically.
Once you’ve installed the plug-in, select File > Export STL from the menu bar, and click Export.
Solidworks – From the menu bar, select File > Save as. Next, choose a location for your file, and from the Save as type drop-down list, select STL (*.stl), and click Save. If you want to increase the number of triangles, before you click Save, select Advanced and adjust the Deviation and Angle sliders to achieve the desired results.
Tinkercad – To export the model as an STL file, click the left mouse button select it, and click Export button located on the left. In the pop-up window, select which elements should be included in the file, and choose .STL
Important settings when exporting STL files
- Angle control
To improve the print resolution, it is recommended to have gaps between triangles and change its angle deviation between adjacent triangles. In this way, it will be easier to adjust how close objects are layered or tiled together.
- Chordal deviation
Chord height is the maximum distance between the surface of the original design and STL mesh. Choosing the right tolerance will give you smoother and not pixelated 3D part.
The chord tolerance should be set between 0.01 to 0.001 millimeters. This setting usually results in good 3D prints.
- Binary or ASCII
STL files can store information in two different ways. These are Binary encoding and ASCII encoding. Binary files are smaller and easier to share while ASCII files are visually easy to read and check.
Binary format is recommended to use for 3D printing. However, ASCII format is suggested for those who want to manually inspect STL file for debugging.
Special rules for STL files
There are special rules for tessellation and storing information for STL files. Below are some of them.
- Vertex to vertex rule
In STL formatting, this rule states that each triangle must share 2 vertices with its neighboring triangles. This means that a vertex of one triangle must not lie on the side of another triangle.
- Orientation rule
This rule states that the orientation of the facet must be defined clearly. This orientation is specified in two ways. First, the direction of normal vector should point outwards. Moreover, the vertices should be listed in counter-clockwise order when looking at the object from the outside (or right-hand rule).
- All-positive Octant rule
This rule states that all the coordinates of the triangle vertices must be positive (nonnegative and nonzero).
If the 3D part is allowed to lie anywhere in the coordinate space, then negative coordinates may occur. The problem is, when storing negative coordinates, one must use “signed floating pointing numbers”. These numbers may require an additional bit to store a sign (+/-).
Hence, it is important to ensure that all coordinates are positive. When all the coordinates are positive, it also means that more space will be saved.