What is an STL file?
Posted By Lucie Gaget on Jun 12, 2019 | 0 comments
An STL file is the most used file format for 3D printing, but let’s see how it actually works. Are you planning to use 3D printing for the first time? Or are you looking for more details about file formats suitable for additive manufacturing? Then, this blog post will certainly help to answer some of your questions.
Today, we are going to give you all the information you need about STL files. What is it exactly and what are the advantages for you? How to create it, and how to use it? Let’s discover it right now and explain this file format in depth.
What is an STL file format?
General information about STL
If you want to use additive manufacture for your next project, you will have to get your file in the right file format, and STL is certainly the most popular one. Indeed, creating an object in three-dimensions requires a special three-dimensional file.
What does “STL” mean? The most common explanation is to say that it is the abbreviation of the word Stereolithography, given by 3D Systems. But others will tell that it is actually referring to Standard Triangle Language or even Standard Tessellation Language. No one really knows, but the most important thing is not the origin of the name STL, it is what it does.
An STL file stores information about your 3D model. The format represents the raw surface of a model with small triangles. The more complex and detailed the structure is, the more triangles will be used to represent the model. But why is this file format useful, exactly?
Once your model is created, you need to translate it in a language your 3D printer will understand. The information of an STL file is only describing the geometry of the model, there are no specifications about the texture, the color or the material of your model. It has all the information about the surface of the object, exactly what the 3D printer will print.
How to create an STL file?
Creating a good STL file can help you on many levels! Indeed, as you may know, 3D printing your project, from rapid prototyping to production, can be a great advantage. The first step for you will be to create a 3D design. Today, almost all CAD software on the market are able to generate an STL file from your 3D model. You just have to export your STL file from the CAD program.
Once you have your file, you might want to optimize it and increase the resolution of your model. To get the best 3D printed result while ordering your part on our online 3D printing service, you might need to follow all our tips to get the best resolution for your STL file.
How does it work?
Let’s go a little bit further in our explanation. We just saw that the STL file is actually a translation of the 3D object, but what does it mean? This file will encode the surface geometry of the object, the concept used at this step is called tessellation. Tesselation is the action of tiling a surface with geometric shapes, and especially triangles, just like the example below:
The role of the file will be to store the information of these triangular geometries. There are two different ways for a file to store information: ASCII encoding and binary encoding, which both save the components of the unit normal vector to the triangle and the coordinates of the vertices.
- ASCII encoding
The ASCII STL file is always starting with this line:
The name will be the name of the model, and it continues with this all numbers of triangles:
facet normal ni nj nk
vertex v1x v1y v1z
vertex v2x v2y v2z
vertex v3x v3y v3z
Each n or v is a floating point number. The ASCII STL file ends with:
If your file is big and really detailed, the file might become a little bit complicated and become huge. In this case, there is another solution.
- Binary encoding
The binary file starts with an 80 character header and each triangle is then represented by twelve 32-bit floating point numbers. And in the end, it looks like this:
UINT8 – Header
UINT32 – Number of triangles
REAL32 – Normal vector
REAL32 – Vertex 1
REAL32 – Vertex 2
REAL32 – Vertex 3
UINT16 – Attribute byte count
This encoding binary format is way easier to read, which can be convenient when you need to inspect the file to find an eventual problem.
3D printing an STL file
Additive manufacturing works by adding material layer by layer, or by sintering powder layer by layer. So, what will be interesting for the 3D printer are all the layers of the 3D object. At this step, a 3D slicer tool allows to create all layers in 2D, and all of this is then grouped in a GCode file, the language of the 3D printer.
This way, the machine will execute the building process of the object, layer by layer. The big advantage of STL for 3D printing is that it is a universal file format and all 3D printers can read it. But before sending your file for 3D printing, you have to be sure that it is not broken.
If the file is broken, the 3D machine will not be able to print it. Adjacent triangles must share two vertices and the right-hand rule applied on the vertices should result in the same orientation as the normal vector. Check out our top of the best free STL editors, in order to edit or repair all your STL files before the 3D printing process.
How to find the best STL files? From Thingiverse to GrabCAD, you will necessarily find 3D models for you to print or to edit on these marketplaces.
Is the STL format the only file format to 3D print?
When it comes to 3D printing file formats, you have the choice. OBJ is also a really common file format, it can also store information regarding the texture and color of the object. The PLY format is Polygon format, which was often used for 3D scanned object
But don’t worry, at Sculpteo, we can print almost all existing 3D file types!
Is your STL file ready? Upload it right now on our online 3D printing service, choose among all our 3D printing materials and get your instant quote. You will receive your part in a few days.
Don’t forget to subscribe to our newsletter to get all the information and tips about 3D files and 3D printing process!