STLA Files
ASCII stereolithography files


These are some examples of STLA, or "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 vertex record 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:

STLA File Characteristics:

Related Data and Programs:

IVCON is a C++ program which can convert graphics information between various 3D formats. (ASCII STL is a supported format.)

IVREAD is a FORTRAN90 program which can convert graphics information between various 3D formats. (ASCII STL is a supported format.)

STLA_DISPLAY is 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 a ASCII STL file, and extracts the surface mesh data as a TRI_SURFACE dataset.

STLB, a data directory which contains examples of "STLB" or 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:

  1. 3D Systems, Inc,
    Stereolithography Interface Specification,
    October 1989.

Programs to create an STL file:

Programs to view an ASCII STL file include:

Programs to convert an ASCII STL file to another format:

Programs to convert another format to ASCII STL format:

Sample ASCII STL Files:

BLOCK is a cube of side 100, using 12 triangular faces.

BOTTLE is a bottle using 1240 triangular faces.

CUBE is a cube using 12 triangular faces.

FLAT is a flat shape using 3 triangular faces.

HUMANOID_TRI is a humanoid shape using 96 triangular faces.

MAGNOLIA is a magnolia blossom, using 1247 triangular faces and 3741 nodes.

SPHERE is a sphere using 228 triangular faces and 684 nodes.

TEAPOT is (half of) a teapot using 2016 triangular faces and 6048 nodes.

TILER_3D is a tiling pattern in 3D created by TILER_3D.

You can go up one level to the DATA page.


Last revised on 27 March 2009.