STL ASCII Format

The ASCII format is primarily intended for testing new CAD interfaces. The large size of its files makes it impractical for general use.

The syntax for an ASCII STL file is as follows:

-------------------------------------------------------------------
solid name_of_object
facet normal x y z
outer loop
vertex x y z
vertex x y z
vertex x y z
endloop
endfacet
facet normal x y z
outer loop
vertex x y z
vertex x y z
vertex x y z
endloop
endfacet
...
endsolid name_of_object
-------------------------------------------------------------------

Normal vector components and vertex coordinate data are written in scientific notation (+-d.ddddddE+-ee).

Here is an abbreviated listing of an actual .stl file:

solid bottletop.bin
facet normal -4.470293E-02 7.003503E-01 -7.123981E-01
outer loop
vertex -2.812284E+00 2.298693E+01 0.000000E+00
vertex -2.812284E+00 2.296699E+01 -1.960784E-02
vertex -3.124760E+00 2.296699E+01 0.000000E+00
endloop
endfacet
facet normal -7.853186E-02 6.811538E-01 -7.279164E-01
outer loop
vertex -2.343570E+00 2.296699E+01 -7.017544E-02
vertex -2.812284E+00 2.296699E+01 -1.960784E-02
vertex -2.343570E+00 2.304198E+01 0.000000E+00
endloop
endfacet
...
...
facet normal 1.138192E-01 -7.113919E-01 6.935177E-01
outer loop
vertex 1.874856E+00 -2.674482E+01 2.450000E+01
vertex 2.050624E+00 -2.671670E+01 2.450000E+01
vertex 1.874856E+00 -2.671670E+01 2.452885E+01
endloop
endfacet
endsolid bottletop.bin

Bold face indicates a keyword; these must appear in lower case. Note that there is a space in "facet normal" and in "outer loop," while there is no space in any of the keywords beginning with "end." Indentation must be with spaces; tabs are not allowed. The notation means that the contents of the brace brackets can be repeated one or more times. Words in italics are variables which are to be replaced with user-specified values. The numerical data in the facet normal and vertex lines are single precision floats, for example, 1.23456E+789. A facet normal coordinate may have a leading minus sign; a vertex coordinate may not.

Acknowledgement

Part of this introduction is an excerpt from technical documentation of Ennex™ Corporation and other sources.

For more detail or full version of the Ennex document, contact www.Ennex.com