Introduction
AMF is an XML format for 3D printing, standardised by ASTM in 2011 and later as ISO/ASTM 52915. It was meant to replace STL: as well as triangles it records units, several objects, materials, colours, and a layout of objects on the build plate. Unlike STL, a mesh lists each vertex once and the triangles refer to it.
AMF saw little adoption. The industry largely moved to 3MF instead, though some slicers still read AMF.
Structure
The root element is amf, with a unit attribute such as
millimeter. Each object holds a mesh, which has
one vertices list and one or more volume elements made of
triangles that refer to vertices by index. A volume can name a
material, and constellation elements place copies of
objects. The file may be stored inside a ZIP archive to save space.
<amf unit="millimeter">
<object id="1">
<mesh>
<vertices>
<vertex><coordinates><x>0</x><y>0</y><z>0</z></coordinates></vertex>
…
</vertices>
<volume>
<triangle><v1>0</v1><v2>1</v2><v3>2</v3></triangle>
</volume>
</mesh>
</object>
</amf>
Links
Software
- PrusaSlicer (Windows, macOS, Linux)
- Slic3r (Windows, macOS, Linux)
Developers
- Assimp, C++ library that imports dozens of 3D formats, AMF among them