These are some examples of STL files. "STL" stands for "stereolithography", and indicates that the primary purpose of this file format is to describe the shape of a 3D stationary object. Stereolithography is a means of creating physical 3D models of such objects, using resin or carefully cut and joined pieces of paper.
The ASCII STL file usually has a filename extension of ".stla". It contains a description of the surface of a solid that has been decomposed into triangles. The vertices of the triangles should be listed in counterclockwise order, as viewed from outside the surface. A normal vector for the triangle may also be listed.
The file begins with a solid record, (which can include a name for the object), and ends with an endsolid record. Each triangle begins with a facet record and ends with an endfacet record. The normal vector, if given, is included as part of the facet record, and is identified by the normal keyword. The normal vector should have unit length. The three vertices of the triangle are delimited by outer loop and endloop records. Each vertex is described on a vertexrecord that lists its (X,Y,Z) coordinates.
An ASCII STL file for a four-face figure that's a slice of a cube would be:
solid cube_corner facet normal 0.0 -1.0 0.0 outer loop vertex 0.0 0.0 0.0 vertex 1.0 0.0 0.0 vertex 0.0 0.0 1.0 endloop endfacet facet normal 0.0 0.0 -1.0 outer loop vertex 0.0 0.0 0.0 vertex 0.0 1.0 0.0 vertex 1.0 0.0 0.0 endloop endfacet facet normal 0.0 0.0 -1.0 outer loop vertex 0.0 0.0 0.0 vertex 0.0 0.0 1.0 vertex 0.0 1.0 0.0 endloop endfacet facet normal 0.577 0.577 0.577 outer loop vertex 1.0 0.0 0.0 vertex 0.0 1.0 0.0 vertex 0.0 0.0 1.0 endloop endfacet endsolid
A binary STL file has the following structure:
- An 80 byte ASCII header that can be used as a title.
- A 4 byte unsigned long integer, the number of facets.
- For each facet, a facet record of 50 bytes.
The facet record has the form:
- The normal vector, 3 floating values of 4 bytes each;
- Vertex 1 XYZ coordinates, 3 floating values of 4 bytes each;
- Vertex 2 XYZ coordinates, 3 floating values of 4 bytes each;
- Vertex 3 XYZ coordinates, 3 floating values of 4 bytes each;
- An unsigned integer, of 2 bytes, that should be zero;
STL files are:
- ASCII or BINARY
- No color information
- 3D
- No compression
- 1 image
-
Reference:
Programs to view an STL file include:
Programs to convert an STL file to another format:
Programs to convert another format to STL format:
Files you may copy:
- bottle.stl, a bottle;
- cube.stl, a cube;
- magnolia.stl, a magnolia flower;
- sphere.stl, a sphere;
- teapot.stl, a teapot;
Back to the data home page.