Humans have been storing information ever since writing was first developed. Before the invention of 3D scanning, dentists and lab technicians would store physical models and paper files in cabinets. However, information storage is now in a digital stage so rather than cabinets, we use computers. File formats are used to encode information to store data on a computer and programs need to recognize and access the file format in order to use the data.
With regard to impressions, the most basic feature of files formats is that they encode a 3D model’s geometry. There are three ways to do so: approximate mesh, precise mesh, and constructive solid geometry (CSG).
For 3D printing, approximate mesh is used because printers are unable to print in too high a resolution and the other ways to encode geometry are unnecessary for 3D printing. Approximate mesh uses tessellation which is the process of tiling a surface of an object with geometric shapes. The tiling produces no overlaps or gaps. With this process, it is possible to store the appearance of the model and other details such as color or texture. In 3D printing, the file is usually generated by CAD, which is then later processed by CAM, creating the CAD/CAM system.
So, this brings us to the three file formats commonly used in 3D printing: STL, OBJ, and PLY.
The most common file format that uses approximate mesh – and for 3D printing in general – is the STL file. In STL files, the tiles used are triangles (called facets), which cover the surface of the 2D shape. There are several advantages to using STL over other file formats. First, as it is universally recognized and most commonly used, collaboration is made easier. STL files are also simple and small, which makes processing them faster.
However, STL files have a large downfall. As tessellation only covers the surface, the files encode for surface geometry with no representation of color or texture. If you only want a single color or texture – which is most often the case – then STL files are great but with improved printers and the demand for color, other formats are increasing in popularity. Another issue with STL files is resolution. Retaining high resolution or encoding larger-sized objects requires more triangles, resulting in larger file sizes. The larger the file size, the longer it takes to process them.
The next two file formats, OBJ and PLY, were created to make up for what STL files lack. Both can store properties such as color and texture. While not as widespread as STL files, both OBJ and PLY are well-known and widely used for their ability to store color and texture along with other details. Both files benefit from improved 3D printers and are viewed as having more relevance into the future than STL files.
In the end, is one file format better than the other? It mainly depends on your needs and situation. However, one thing is for sure - 3D printers will continue to improve and so will file formats.