This article compares OBJ, STL, AMF, and 3MF: the four most common 3D printing file formats in use today.
All files, whether text, music, picture, or 3D models are made up of millions of bits. The data these bits carry, as well as the way they are encoded determine the nature and format of the file. Depending on the file format of a CAD file, the file can contain geometry, material, texture, size, or colour data of a model.
3D printers build parts layer by layer. After a model has been created and saved in a 3D printing file format, the model has to be sent to a software to be sliced, a process in which a solid model is divided into numerous thin horizontal layers. The slicing software then scans the layers and uses the information to generate the G-Code – set of instructions on how the 3D printer should move to produce the required object. After this, the G-Code file is sent to the printer. Some printers come with their own slicing software so you can send the model directly in the 3D printing file format.
The information contained in the CAD file is very important for successful printing. Recall that the file format determines the information the file carries. It is with this information that the necessary machine code is generated. Therefore, the file format is very important. There are specific kinds of information such as geometry, texture, colour, and material that are needed to enable the process. In regular 3D CAD file formats, this data is not always contained or encoded for 3D printing, hence, the need for file formats that are exclusively for 3D printing. These file formats are known as 3D printing file formats.
Also, slicing software does not work with regular 3D file formats such as STEP, IPT, and SLDPRT. These have to be first converted to a 3D printing file format.
There are several 3D printing file formats in use today. However, the most ubiquitous are STL, OBJ, AMF, and 3MF. So what exactly is the reason for their ubiquity? What these file formats are, what makes them stand out, and how they differ from each other and other 3D printing file formats are as follows.
The STL (Standard Tessellation Language) file format is the pioneer 3D printing file format. It was invented in 1987 by Chuck Hull, the inventor of 3D printing. Three decades later, the STL file format is still the most widely used and is considered to be the standard file format in 3D printing. This is because, having been around for such a long time, STL is compatible with most 3D CAD software and other software and hardware in 3D printing.
One key characteristic of STL is that it saves geometry using tessellations. Tessellation is the process of covering (tiling) a surface with a series of geometric shapes in such a way that there are no gaps or overlaps. In an STL file, a 3D model’s geometry is encoded by numerous triangles covering the model’s surfaces.
For curved surfaces, a large number of arbitrarily small triangles are required to cover the surfaces. However, the larger the number of triangles employed in a model, the bigger the file size.
Another distinguishing characteristic of the STL 3D printing file format is that it only stores geometry data. Other data related to a model such as colour, texture, and material are left out. This wasn’t a problem when printers could only print in one colour and one material at a time. It may still not be a problem if you require a simple prototype. However, with advancements in 3D printing such as multi-colour and multi-material printing, and with the use of 3D printing for producing fully functional, ready-to-use objects, the STL file format may well be on its way out
Developed by WaveFront Technologies, the OBJ file format was originally used in graphics design as a neutral interchange file format. With the development of multicolour and multi-material printing, the file format was later adopted by the 3D printing industry.
In terms of popularity, OBJ is second only to STL. However, unlike STL which only stores geometry data, OBJ can store geometry, colour, texture, and material data. Colour data is stored in a separate companion MTL (Material Template). An OBJ file has to be shared with its corresponding MTL file for colour printing to be possible.
Another key characteristic of the OBJ 3D printing file format is that it allows you to choose the way the geometry of your model is encoded. You can create tessellations using various shapes such as polygons and quadrilaterals, and not just triangles. You are also able to use more advanced and precise methods such as free-form curves and surfaces. These allow OBJ files to store models with far greater accuracy.
The AMF (Additive Manufacturing File) 3D printing file format is considered to be an updated version of STL. It was developed exclusively for additive manufacturing by the ASTM (American Society for Testing Materials) in 2013 to address the limitations of STL files.
Like STL, AMF stores geometry data using triangular tessellation. However, the triangles in AMF can curve, resulting in accurate data representation. This also results in much smaller file sizes as a smaller amount of triangles are required to accurately represent curved surfaces.
Also, AMF files can store colour, texture, material, duplicate, orientation, and lattice data, as well as metadata. This makes them far more technically superior than their STL counterparts.
After analysing the shortcomings and slow adoption of the AMF file format, some of the biggest names in 3D printing including Autodesk, 3D Systems, Stratasys, HP, Microsoft came together to form a body known as the 3MF consortium. This body developed the 3MF 3D printing file format which is very similar to but much more widely accepted than AMF.
The industry influence and extensive customer base of the 3MF consortium, as well as the functionality of the 3MF 3D printing file format, are responsible for its wide acceptance.
3MF has all the technical properties of AMF. It used curved triangular tessellations to encode geometry. It can also store colour, texture, material, and orientation data, and is highly accurate.
Data is stored in the human-readable XML format (as opposed to binary) for ease of development and modification.
3MF files are mostly error-free and are considered as ready-to-print, something that is very much appreciated in 3D printing.
In conclusion, we recommend the STL formats for simple geometry and single colour prototypes. If you intend to print simple parts in colour, then the OBJ is a better option. However, the fact that texture and colour data are stored in a separate file makes sharing OBJ files stressful. The 3MF and AMF 3D printing file formats are the most technically superior of the lot as they both store every information on a model. They are great for complex multi-part, multicolour, and multi-material objects. They also standout for their ease of file sharing as all data and metadata are stored in compact, compressed files. If you have compatible necessary supporting software, feel free to go for AMF. Otherwise, 3MF is the safer option as it is more popular and more likely to be compatible with supporting software.
At Xometry Europe, we are always ready to deliver accurate and timely 3D printing services. Head over to our Instant Quoting Engine℠ and upload your file to get a quote in seconds.