STLA Files
ASCII stereolithography files
STLA is a data directory which contains examples of "ASCII 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.
An ASCII or binary STL file usually has a filename extension of ".stl".
An STL file 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
The facet record has the form:
- The normal vector, 3 floating values of 4 bytes each;
- vertex 1 coordinates, 3 floating values of 4 bytes each;
- vertex 2 coordinates, 3 floating values of 4 bytes each;
- vertex 3 coordinates, 3 floating values of 4 bytes each;
STLA File Characteristics:
- 3D;
- ASCII;
- No color information;
- Normal vectors are associated with faces;
- Triangulated surfaces;
- No compression;
- 1 image;
Licensing:
The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.
Related Data and Programs:
IVCON, a C++ program which can convert graphics information between various 3D formats. (ASCII STL is a supported format.)
IVREAD, a FORTRAN90 program which can convert graphics information between various 3D formats. (ASCII STL is a supported format.)
MESHLAB, examples which illustrate the use of the meshlab program, an advanced mesh processing system for automatic or user-assisted editing, cleaning, filtering, converting and rendering of large unstructured 3D triangular meshes.
STLA_DISPLAY, a MATLAB program which reads an ASCII STL file and displays it on the screen.
STLA_IO, a C++ library which reads and writes the 3D graphics information in an ASCII STL (stereolithography) file;
STLA_IO, a FORTRAN90 library which reads and writes the 3D graphics information in an ASCII STL (stereolithography) file;
STLA_IO, a MATLAB library which reads and writes the 3D graphics information in an ASCII STL (stereolithography) file;
STLA_TO_TRI_SURFACE, a MATLAB program which reads an ASCII STL file and extracts the surface mesh data as a TRI_SURFACE dataset.
STLB, a data directory which contains examples of binary STL files, binary Stereolithography files, 3D graphics;
TRI_SURFACE_TO_STLA, a MATLAB program which reads a TRI_SURFACE dataset and extracts the surface mesh data as an ASCII STL file.
Reference:
- 3D Systems, Inc,
Stereolithography Interface Specification,
October 1989.
Sample Files:
BLOCK is a cube of side 100, using 12 triangular faces.
- block100.stl, the ASCII STL file;
- block100.png, a PNG image;
BOTTLE is a bottle using 1240 triangular faces.
- bottle.stl, the ASCII STL file;
- bottle.png, a PNG image;
CUBE is a cube using 12 triangular faces.
FLAT is a flat shape using 3 triangular faces.
HUMANOID is a humanoid shape.
- humanoid.stl, the ASCII STL file;
- humanoid.png, a PNG image;
HUMANOID_TRI is a humanoid shape using 96 triangular faces.
- humanoid_tri.stl, the ASCII STL file;
- humanoid_tri.png, a PNG image;
LIVER is a human liver, using 38,142 triangular faces and 19,073 nodes.
MAGNOLIA is a magnolia blossom, using 1247 triangular faces and 3741 nodes.
- magnolia.stl, the ASCII STL file;
- magnolia.png, a PNG image;
SPACE_INVADER_MAGNET is a file that can be used to make a refrigerator magnet in the shape of one of the aliens from the game of "Space Invaders".
- space_invader_magnet.stl, the ASCII STL file;
- space_invader_magnet.png, a PNG image;
- space_invader_magnet_photo.png, a photograph of the space invader magnet, as "printed" by MakerBot.
SPHERE is a sphere using 228 triangular faces and 684 nodes.
- sphere.stl, the ASCII STL file;
- sphere.png, a PNG image;
TEAPOT is (half of) a teapot using 2016 triangular faces and 6048 nodes.
- teapot.stl, the ASCII STL file;
- teapot.png, a PNG image;
TILER_3D is a tiling pattern in 3D created by TILER_3D.
- tiler_3d.stl, the ASCII STL file;
- tiler_3d.png, a PNG image;
You can go up one level to the DATA page.