Jeff's MCAD Blogging
Jeffrey Rowe has more than 40 years of experience in all aspects of industrial design, mechanical engineering, and manufacturing. On the publishing side, he has written well over 1,000 articles for CAD, CAM, CAE, and other technical publications, as well as consulting in many capacities in the … More »
Is A Universal File Format Possible For 3D Printing? Part 2: AMF
August 17th, 2017 by Jeff Rowe
Like it or not, since the mid-1980s, the STL file format has been the de facto industry standard for transferring information between CAD programs and additive manufacturing equipment. However, the STL format only contains information about a surface mesh, and cannot represent color, texture, material, substructure, and other properties of a fabricated object.
As additive manufacturing technology has evolved from producing primarily single-material, homogenous shapes to producing multi-material geometries in full color with functionally graded materials and microstructures, there has been a growing need for a standard interchange file format that could support these features. A second factor that prompted the development of a new standard was the improving resolution of additive manufacturing machines. As the fidelity of printing processes approached micron scale resolution, the number of triangles required to describe smooth curved surfaces resulted in unacceptably large file sizes.
The Additive Manufacturing File Format (AMF) was introduced as an alternative to the STL file format to address many of the shortcomings of the popular file format. STL files introduce errors such as leaks and inconsistences, and also does not support color, material The choice, or orientation. STL files also rely on triangle subdivision to account for curvature. As the STL file scales in size, retaining resolution means introducing significantly more triangles. For example, a 10cm sphere at 10 micrometer resolution requires 20,000 triangles. Scaling up the 10cm sphere at the same resolution would significantly increase the amount of triangles, resulting in a much larger file. AMF seeks to address these issues by redesigning the way a 3D object is digitally stored.
During the 1990s and 2000s, several proprietary file formats were being used by various companies to support specific features of their manufacturing equipment, but the lack of an industry-wide agreement prevented widespread adoption of any single format.
In 2009, the American Society for Testing and Materials tasked ASTM Committee F42 on Additive Manufacturing Technologies to address the need for a replacement to the STL file. At the time it was dubbed “STL 2.0” and a design subcommittee led the development effort. Their goal was to create a file format analogous to a PDF file for documents, containing as much information possible to describe an object in the same way. This would provide more data prior to conversion into a format for fabrication and would also allow developers to create OEM software that could pick and choose whatever information was necessary for their 3D printing hardware to operate.
The subcommittee developed the AMF format for technology independence, simplicity, scalability, performance, and both future and backward compatibility. Its first iteration was developed in 2011 and subsequently approved in 2013 in conjunction with the International Standards Organization (ISO). Since then, the AMF standard is managed jointly by ISO and ASTM.
So What Is AMF?
AMF is an XML-based format designed to allow any design software to describe the shape and composition of any object to be fabricated on any 3D-printer. This format has been developed by ASTM Committee F42 on Additive Manufacturing Technologies, specifically the Task Group on File Formats.
The Additive Manufacturing File Format (AMF) is an open standard for describing the shape and composition of a 3D object that can be fabricated on any 3D-printer. The official ISO/ASTM 52915:2013 standard is an XML-based format designed to allow any computer-aided design software to describe the shape and composition of any 3D object to be fabricated on any 3D printer. Unlike its predecessor STL format, AMF has native support for color, materials, lattices, and groups of objects (constellations).
An AMF file represents one object, or multiple objects arranged in what is called a constellation. Each object is described as a set of non-overlapping volumes, and each volume is described by a triangular mesh that references a set of points (vertices). These vertices can be shared among volumes belonging to the same object. An AMF file can also specify the material and the color of each volume, as well as the color of each triangle in the mesh. The AMF file is compressed using the zip compression format, but the “.amf” file extension is retained. A minimal AMF reader implementation must be able to decompress an AMF file and import at least geometry information (ignoring curvature).
AMF Design Considerations
When the ASTM Design subcommittee began developing the AMF specifications, a survey revealed that the key priority for the new standard was the requirement for a non-proprietary format. Units and buildability issues were a concern lingering from problems with the STL format. Other key requirements were the ability to specify geometry with high fidelity and small file sizes, multiple materials, color, and microstructures. In order to be successful across the field of additive manufacturing, the AMF file format was designed to address the following issues:
AMF curved triangle patch. Normals at vertices are used to recursively subdivide each triangle into four sub-triangles.
AMF addresses these issues by reconstructing the data format in XML. The format begins with unit specification, which defaults to millimeter if left undeclared. AMF structure is defined by the following properties/characteristics:
Object: The object element defines volumes and materials, where the volume is defined by a face-vertex polygon mesh. There must be one object element in each file.
Material: The optional material element describes one or more materials. If no material is listed, a single default material is assumed. This element can also be used to describe if the material is mixed, graded, lattice sub-structure, or random.
Texture The optional texture element defines images for texture mapping or color assignment.
Constellation: This optional constellation element defines the relative pattern of the objects within the file. This allows multiple objects to be arranged within the file, specifying their location and orientation. A constellation can also define the location and position of a separate constellation.
Metadata: The optional metadata element describes additional information about the object(s) and elements. This can include things like authorship, copyright information, or instructional data.
The AMF format also defines:
More advanced capabilities of AMF include:
Additionally, there are several STL-to-AMF translators available.
Slow AMF Adoption
As this file format was designed specifically for addressing growing trends in 3D printing/ Additive Manufacturing, the advantages over traditional standard formats are great. However, the greatest disadvantage is that the industry has not yet seen wide-spread adoption of the new file format. It wasn’t until Solidworks 2015 did Dassault Systemes include AMF support in their export options. While other companies have introduced support of the format, STL still continues to dominate the industry.
Today, you can create an AMF 3D file using SOLIDWORKS, Inventor, Rhino, and Autodesk MeshMixer.
As good as AMF may look and sound, it is by no means the only alternative to STL. Next week I’ll cover another alternative to STL and competitor to AMF, 3MF. I’ll also contrast and compare STL, AMF, and 3MF file formats. Is there really a winner for becoming the next de facto standard file format for 3D printing? Next time I’ll attempt to present a case with advantages and disadvantages for each.