Introduction
ASCII STL is the text form of the stereolithography format. It holds the same data as binary STL, a list of triangles with a normal each, but spelt out in keywords and decimal numbers. It is useful for small test files and for reading a model by eye, and several times larger than the binary form.
Structure
The file starts with solid and an optional name, and ends with
endsolid and the same name. Between them, each triangle is a
facet with its normal, then an outer loop of three
vertex lines giving the corners, then endloop and
endfacet. The corners are listed anticlockwise when seen from outside,
and many programs recompute the normal from them rather than trust the stored one.
solid part
facet normal 0 0 1
outer loop
vertex 0 0 0
vertex 1 0 0
vertex 0 1 0
endloop
endfacet
endsolid part
A file that starts with solid is not always text: some programs write
binary files whose 80-byte header begins with the same word. Comparing the file size
with 84 + 50 × count tells the two apart.
Variants
- ASCII STL – the text form of STL: each triangle a facet of three vertex lines
- Binary STL – the usual form of STL: a header, a count, then 50 bytes per triangle
Links
Software
- PrusaSlicer – Prusa Research’s free open source slicer (Windows, macOS, Linux)
- UltiMaker Cura – free open source slicer from UltiMaker (Windows, macOS, Linux)
- Blender – free open source 3D suite that can export ASCII STL (Windows, macOS, Linux)
- MeshLab – free open source mesh viewer and editor (Windows, macOS, Linux)
- FreeCAD – free open source parametric CAD program (Windows, macOS, Linux)