STL formatWritten by Paul Bourke
The STL (STereo Lithography) format was developed primarily by Albert Consulting Group and is perhaps the main standard for rapid prototyping systems. The format is specified as both an ASCII (printable character) format as well as a binary format.ASCII
The first line is a description line that must start with the word "solid" in lower case, it then normally contains the file name, author, date etc. The last line should be the keyword "endsolid". The lines between the above contain descriptions of 3 vertex facets including their normals, the ordering of the vertices should comply with the right hand rule. As an example consider the following except from a STL file
solid : : facet normal 0.0 0.0 1.0 outer loop vertex 1.0 1.0 0.0 vertex -1.0 1.0 0.0 vertex 0.0 -1.0 0.0 endloop endfacet : : endsolid
Binary STL files consist of a 80 byte header line that can be interpreted as a comment string. The following 4 bytes interpreted as a long integer give the total number of facets. What follows is a normal and 3 vertices for each facet, each coordinate represented as a 4 byte floating point number (12 bytes in all). There is a 2 byte spacer between each facet. The result is that each facet is represented by 50 bytes, 12 for the normal, 36 for the 3 vertices, and 2 for the spacer.