STL is the most commonly used 3D file format. But due to its limitations many file formats are developed such as AMF, OBJ, 3MF, VRML etc. In this ppt i discuss STL and AMF file formats only in brief.
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
Additive manufacturing file formats or 3D file formats
1. Contents
Introduction
STL file format
Advantages and limitations of STL file formats
New AM file formats
AMF file format
Conclusion
References
2. Introduction
A 3D printer file is a way to store information about 3D model.
All 3D printer files contain the data about the shape of 3D model, their
geometry.
The 3D printer file formats and tools are tightly coupled.
There are several file formats that can hold such data. Examples include
STL, OBJ, 3MF, VRML etc.
STL is the most commonly used 3D printer file format across the globe.
3. STL file format
The first 3D printer was invented
by Chuck Hull in 1987 at 3D
Systems. The same guy was
behind the STL file format.
It is a file type created for rapid
prototyping by 3D Systems.
It was very quickly and easily
adapted by all the 3D modeling
software, slicers, and 3D
printers.
It stands for STereoLithography
or Standard Triangle Language
or Standard Tessellation
Source - https://all3dp.com/what-is-stl-file-format-
extension-3d-printing/#pointten
4. How does the STL file format store a 3D
model?
Tessellation is the process of tiling a surface with one or more geometric
shapes.
Exploiting tessellation to encode surface geometry : store information about
the facets in a file.
Tessellation Paintings Tessellation of cube and sphere
Source - https://all3dp.com/what-is-stl-file-format-extension-3d-printing/#pointten
5. How does an STL file store information about
facets?
ASCII encoding
Binary encoding
In both formats, the following
information of each triangle is
stored:
I. The coordinates of the vertices.
II. The components of the unit
normal vector to the triangle.
Source - https://i.all3dp.com/wp-
content/uploads/2016/11/27015532/vertices-
and-normal.gif
6. Continued…
The ASCII STL file format
The file continues with information about the covering triangles.
solid <name>
facet normal nx ny nz
outer loop
vertex v1x v1y v1z
vertex v2x v2y v2z
vertex v3x v3y v3z
Endloop
endfacet
endsolid <name>
—The ASCII STL file starts with the mandatory
line
—n is the normal to the triangle and v1, v2
and v3 are the vertices of the triangle. Co-
ordinate values are represented as a floating
point number with sign-mantissa-e-sign-
exponent format, e.g., “3.245000e-002”.
—The file ends with the mandatory line
7. Continued…
The binary STL file format
If the tessellation involves many small triangles, the ASCII STL file can
become huge. This is why a more compact binary version exists.
UINT8[80] – Header
UINT32 – Number of triangles
foreach triangle
REAL32[3] – Normal vector
REAL32[3] – Vertex 1
REAL32[3] – Vertex 2
REAL32[3] – Vertex 3
UINT16 – Attribute byte count
end
The binary STL file starts with a 80
character header.
Each triangle is represented by twelve 32-
bit floating point numbers.
Just like the ASCII STL file, 3 numbers are
for the 3D Cartesian co-ordinates of the
normal to the triangle.
The remaining 9 numbers are for the
coordinates of the vertices (three each).
8. Special rules for the STL format
The vertex rule
The vertex rule states that each triangle
must share two vertices with its
neighboring triangles.
The orientation rule
The orientation rule says that the
orientation of the facet must be specified
in two ways. Source - https://all3dp.com/what-is-stl-file-format-
extension-3d-printing/#pointten
9. How is an STL file 3D printed?
For 3D printing, the STL file has to
be opened in a dedicated slicer like
Cura or Simplify3D.
The slicer chops up STL file into
hundreds (or thousands) of flat
horizontal layers.
All of this information is then
bundled up into a GCode file.
Slicer settings do have an impact
the quality of print.
The next stage is for those separate
two-dimensional layers to be
reassembled as a three-dimensional
Source - https://i.all3dp.com/wp-
content/uploads/2016/02/27113945/Best-3D-printing-
software-for-beginners-Cura.png
10. Optimizing an STL file for best 3D printing
performance
The 3D printer will print the object with the same coarseness as specified by
the STL file.
As the size of the triangle decreases, the number of triangles needed to
cover the surface also increases which leads to gigantic file size.
It is therefore very important to find the right balance between file size and
print quality.
Source - https://i.all3dp.com/wp-
content/uploads/2016/11/27020134/increasin
g-resolution.png
11. Continued…
Let’s dig into the most important settings and find out their optimum values.
Chordal height or tolerance
Source - https://i.all3dp.com/wp-
content/uploads/2016/11/27020138/chord-height.png
Angular deviation or angular tolerance
Source - https://i.all3dp.com/wp-
content/uploads/2016/11/27020137/angular-
tolerance.png
0.01-0.001 mm
12. STL file format : Advantages
Simple and old 3D printer file format.
Flexibility more facets for better resolution.
Easy to handle and transfer.
de facto standard for 3D printing.
13. STL file format : Disadvantages
STL 3D printer file format stores a lot of redundant information.
Table for ~63,000 triangular facets
Slow and error-prone.
Incapable of storing color, material and texture information.
3D file
format
s
PLY
(binary
)
PLY
(ASCII)
OBJ
(ASCII)
VRML
(ASCII)
STL
(binary
)
STL
(ASCII)
Size(M
b)
1.1 2 2 2.7 3 11
14. New file formats
OBJ file format
AMF file format
3MF file format
VRML file format
15. AMF file format (.AMF)
The AMF (STL 2.0) 3D printer file format was
developed by ASTM/ISO in 2011 as a
replacement for the STL file format.
The aim was to address many of the
shortcomings of the STL 3D printer file
formats.
AMF addresses the issues in STL by using an
XML format with a hierarchy of five elements
viz. object, material, texture, constellation, and
metadata.
As of today, Solidworks and the Autodesk suite
supports it.
Among Slicers, Cura has support for AMF.
Source - https://i.all3dp.com/wp-
content/uploads/2017/10/26234325/AM
F-Logo.png
16. AMF 3D printer file format features
It allows curved triangles in addition to
planar straight triangles – and it makes all
the difference.
It has support for all the modern
requirements of 3D printing like RGBA
colors, sub-structures, microstructures,
porous materials.
Source - https://i.all3dp.com/wp-
content/uploads/2017/10/26234321/Curved
_triangle.png
Source - https://i.all3dp.com/wp-
content/uploads/2017/10/26234317/dual_material.jpg
17. Continued…
The “constellation” feature allows
multiple objects to be arranged within
the file, specifying their location and
orientation.
Source - https://i.all3dp.com/wp-
content/uploads/2017/10/26234309/multiple_object_
same_model.jpeg
18. Basic file structure
Within the AMF brackets, there are five top level elements
<amf>
<object>
<material>
<texture>
<constellation>
<metadata>
</amf>
19. How to write the AMF file format ?
Source -
https://www.nist.gov/sites/default/files/documents/2017/04/28/Lip
son-Cornell-NIST-AMF.pdf
22. Comparision between STL and AMF file
formats
Source -
https://www.nist.gov/sites/default/files/documents/2017/04/28/Lipson-
Cornell-NIST-AMF.pdf
23. Conclusion
At this point of time, STL, OBJ, AMF, and 3MF seem to be the most
important 3D printer file formats.
They all have their own strengths, weaknesses and have varying levels of
compatibility with 3D printing software and hardware.
It is imperative to know and understand the key differences between these
formats.
Toolchain
Production efficiency
The quality of prints.