STL file (Standard Tessellation Language or STereoLithograhpy file) files are by far the most popular file format used for 3D printing. Developed by 3D Systems over 29 years ago the file type is ubiquitous and used by all hardware and software vendors in the Additive Manufacturing and 3D printing industry.
STL files describe the mesh of your object. They deal solely with the surface of the object not what is inside it. This surface is made up of a series of adjacent winding triangles. If you had a 3D model of a football, the STL would recreate this football shape through a patchwork quilt of triangles that wrap the football. The file itself simply lists a facet normal and the coordinates of the vertices of these triangles. The facet normal faces outwards telling us where the surface of the football is. An XYZ coordinate is given for each vertex and they are listed counterclockwise.
By describing only the surface of your object, the STL file can take any number of different complex 3D file types and turn them into a format that is readable by the slicer. A slicer will then slice up the football shape into slices. Gcode will then be created instructing the 3D printer how and where to move to construct each slice layer by layer.
Initially, this lets a lot of CAD and 3D modeling file types be 3D printed. As technologies improved, however, STL’s elegance has also become a limitation. Color information and textures are increasingly becoming important. Gradient materials mean that objects can be created which are printed in one material but with different densities and levels of flexibility. We may see 3D printers emerge that print several different materials. These things can not adequately be described in STL files.
Due to this two different file types have emerged to replace it.
Additive Manufacturing Format is an official ASTM standard. This XML based format lets you define materials, textures, composition of materials and lattices and data about the author or license of the file itself. It can be extended and by including curved triangles should be able to more accurately describe objects than STL can.
The .3MF file format was developed by Microsoft and the .3MF Consortium. The consortium includes major players such as 3D Systems, Autodesk, HP, Siemens, Shapeways, Materialise and Ultimaker. .3MF is also XML-based. It does not have curved triangles but does have many of the elements that AMF has. Interestingly .3MF has also been created with subtractive technologies in mind such as CNC. The chief benefit of the file type is that it promises complete integration with Windows and will have Microsoft develop its 3D content ecosystem with the file type in mind.
Currently STL is still the default. Even though AMF is the official ASTM standard it is .3MF that seems to be gaining more in traction. If you want to experiment with gradient materials, support material design, color and textures then the file types are worth exploring. Nearly all files made for 3D printing are currently however in the good old STL format. For emerging capabilities of next generation 3D printers we all know we will at one point have to leave STL behind, but then again people have been saying this for years! What do you think, will we decades from now still be using STL? Or will we have moved to AMF or .3MF? Or KLF?