3D Manufacturing Format
The 3D Manufacturing Format (3MF) is an XML-based file format specifically designed for additive manufacturing, enabling the reliable transfer of full-fidelity 3D models along with essential metadata such as materials, colors, textures, and production instructions.[1] Developed to address the limitations of legacy formats like STL—such as lack of support for color, multiple materials, and metadata—3MF provides a compact, extensible, and royalty-free standard that ensures watertight models with defined units and scale, facilitating seamless interoperability across design, printing, and inspection software.[2][3] The format is overseen by the 3MF Consortium, an industry association formed in 2015 by founding members including Autodesk, Microsoft, and HP Inc., which has since expanded to over 35 members including leading companies in additive manufacturing like 3D Systems, Materialise, and Siemens.[4][5] Key features of 3MF include its core specification for geometry and metadata, plus optional extensions for advanced capabilities such as beam lattices for lightweight structures, slicing data for direct printer input, secure content protection, and volumetric representations for complex internal features.[2] In June 2025, 3MF achieved international standardization as ISO/IEC 25422:2025, solidifying its role as a universal protocol for the additive manufacturing ecosystem from prototyping to high-volume production.[6]History and Development
Formation of the Consortium
The 3MF Consortium was established in 2015 as an industry association dedicated to developing an advanced, universal file format for 3D printing and additive manufacturing.[4] It was initiated by key technology and manufacturing leaders, including Microsoft, Autodesk, and HP, who recognized the need for a more robust alternative to existing formats.[7] The consortium's formation was announced on April 30, 2015, at Microsoft's Build developer conference, marking the launch of collaborative efforts to standardize 3D data exchange.[8] A pivotal contribution came from Microsoft, which donated its initial work-in-progress on a 3D manufacturing file format specification to serve as the foundation for the consortium's efforts.[7] This seed technology provided a starting point that integrated XML-based structures for describing 3D models, enabling richer data representation beyond basic geometry.[9] Founding members committed to an open development process, agreeing to license necessary patents on a royalty-free basis to encourage broad adoption.[10] The primary motivations for forming the consortium stemmed from the shortcomings of the dominant STL format, which supports only surface geometry and omits critical attributes such as color, materials, textures, and metadata.[11] These limitations hindered interoperability between design software, printers, and manufacturing services, often resulting in data loss during file transfers.[12] By addressing these gaps, the consortium aimed to foster seamless collaboration across the additive manufacturing supply chain, ultimately driving innovation and efficiency in 3D production workflows.[8] From the outset, the consortium's early goals centered on creating an extensible, human-readable, and royalty-free standard capable of preserving full-fidelity 3D models for end-to-end manufacturing processes.[11] This vision positioned 3MF as a comprehensive solution akin to PDF for 2D documents, ensuring that all relevant model information could be reliably shared without proprietary restrictions.[9]Specification Releases and Standardization
The 3MF specification was initially released as version 1.0 on April 29, 2015, establishing the core XML-based format designed to enable full-fidelity exchange of 3D models for additive manufacturing applications. This foundational version addressed limitations in legacy formats by incorporating structured data for geometry, materials, and print instructions, promoting interoperability among design, printing, and inspection software.[13] Subsequent iterations built on this foundation with targeted enhancements. Version 1.2, released in August 2016, introduced the production extension to support efficient management of multi-part print jobs, particularly for high-volume service bureaus and manufacturing environments.[14] The Beam Lattice extension, released in April 2018, enabled compact representation of complex internal structures for lightweight, optimized 3D printed parts. The Secure Content extension, released in June 2020, provided mechanisms to protect intellectual property through payload encryption. The specification advanced further with version 2.2.0 on August 24, 2021. The Volumetric extension, with support for implicit geometries, saw an initial draft in November 2021 and full release in October 2024.[15][16][17][18] In 2025, the Core Specification reached version 1.4.0 on February 27, incorporating updates to mesh specifications, alongside revisions to extensions such as Beam Lattice (v1.2.0) and Materials and Properties (v1.2.1). The Boolean Operations extension was updated to v1.1.1 on April 3, 2025, enhancing shape modification capabilities.[19] The path to international standardization commenced with the 3MF Consortium's submission of the specification to ISO/IEC JTC 1/SC 24 in 2023, initiating a rigorous review process to align it with global norms for 3D data exchange. After iterations involving industry validation and public feedback, the format was approved and published as ISO/IEC 25422:2025 in June 2025, marking 3MF as an official international standard for additive manufacturing file interchange. This milestone ensures vendor-neutral compatibility worldwide, reducing fragmentation in 3D printing workflows.[20][21][6]Technical Specifications
File Format Structure
The 3MF file format utilizes a ZIP archive as its physical container, ensuring efficient packaging and portability of 3D model data. This structure conforms to the Open Packaging Conventions (OPC), a standard for organizing files and relationships within ZIP-based packages, similar to those used in Microsoft Office formats like DOCX or XLSX.[22] Within the ZIP archive, several key parts form the core structure. The mandatory [Content_Types].xml file at the root specifies MIME types for all parts, such as "application/vnd.ms-package.3dmanufacturing-3dmodel+xml" for the model file. The _rels/.rels file defines package-level relationships, including a StartPart reference to the primary 3D content. The essential 3D/3DModel.model XML file serves as the root of the 3D payload, encapsulating the model's description. Optional parts include thumbnails (typically JPEG or PNG images) linked via relationships for visual previews, and a Core Properties part (/docProps/core.xml) for metadata like author, title, and creation date, as per OPC requirements.[22] The 3DModel.model file follows an XML schema with a root<model> element, which includes attributes for unit (e.g., "millimeter" to define the model's scale), xml:lang for language, and xmlns pointing to the core namespace "http://schemas.microsoft.com/3dmanufacturing/core/2015/02". Namespaces enable extensibility, allowing core and extension-specific elements to coexist without conflicts. Relationships between parts, such as linking thumbnails or additional resources to the model, are managed through OPC-compliant .rels files in relationship folders (e.g., 3D/_rels/3DModel.model.rels).[22]
Compression within the ZIP container primarily employs the Deflate algorithm to minimize file sizes while preserving data integrity, though parts may also be stored uncompressed if specified. This approach supports efficient transmission and storage compared to uncompressed XML formats. For forward compatibility, the <model> element incorporates attributes like requiredextensions and recommendedextensions, which list space-delimited namespace prefixes for mandatory or optional extensions, enabling parsers to handle future versions without breaking existing functionality.[22]
Core Model Elements
The core model elements of the 3MF format provide the foundational structure for representing 3D geometry and associated attributes within XML documents packaged in a ZIP container. These elements enable the description of discrete objects, assemblies, and their placement in a build volume, ensuring interoperability for additive manufacturing workflows.[22] The specification defines these components in a hierarchical XML schema, centered around the<model> root element, which encapsulates all model data.[22]
Geometric primitives in 3MF are based on triangular meshes, which form the primary representation of 3D surfaces. Each mesh is defined within an <object> element using a <mesh> child, containing a <vertices> group and a <triangles> group. Vertices are specified as individual <vertex> elements with floating-point attributes x, y, and z for their 3D coordinates, allowing arbitrary precision to capture detailed geometry.[22] Triangles are then defined by <triangle> elements, each with integer attributes v1, v2, and v3 that reference the indices of vertices in the <vertices> list (starting from 0); these must be ordered counter-clockwise when viewed from the outside of the object to ensure consistent orientation.[22] For objects designated as "model" type (via the type attribute on <object>), at least four triangles are required to define a valid solid. This mesh structure supports watertight models suitable for printing, with examples including simple polyhedra where vertices define points and triangles connect them into faces.[22]
The object hierarchy organizes individual parts and assemblies through a resource-based system. Discrete parts are represented by <object> elements within the <resources> section of the <model>, each serving as a self-contained unit with its own mesh or other resources.[22] Assemblies are constructed using <components> within an <object>, where each <component> references another <object> by its unique objectid attribute, allowing hierarchical composition without duplicating geometry.[22] Positioning within the print volume is handled by the <build> element under <model>, which contains one or more <item> children; each <item> specifies an objectid to include and an optional transform attribute for placement. This hierarchy enables complex models, such as a robotic arm assembly where sub-parts like joints are referenced components positioned via the build items.[22]
Basic attributes provide essential identification and manipulation capabilities for objects. Every <object> and <component> requires a unique positive integer id attribute, ensuring unambiguous references across the file and preventing conflicts in resource resolution.[22] Transformations are applied via a 4x4 homogeneous matrix specified as the transform attribute, formatted as 12 space-separated decimal values in row-major order: m00 m01 m02 m10 m11 m12 m20 m21 m22 m30 m31 m32, where the upper 3x3 submatrix handles rotation and scaling, the fourth column translation, and the last row is typically [0 0 0 1].[22] These matrices allow for positioning, rotation, and uniform or non-uniform scaling of objects or components, with the identity matrix as the default for no transformation. For instance, a translated object might use a matrix with m30, m31, m32 set to offset coordinates in the build space.[22]
Metadata inclusion supports contextual information for manufacturing, primarily through attributes on the <model> element and optional sub-elements. The unit attribute defines the default length unit for all coordinates, with "millimeter" as the required default (other options include "micron", "centimeter", "inch", "foot", or "meter"), ensuring consistent scaling across applications.[22] Additionally, the requiredextensions attribute on <model> lists space-delimited namespace prefixes of extension namespaces needed for full interpretation, signaling dependencies without embedding extension data.[22] General metadata is captured in <metadata> elements, with name for the key and preserve to indicate retention on export, allowing storage of non-geometric details like author or version.[22]
Features and Capabilities
Basic Features
The 3D Manufacturing Format (3MF) extends beyond basic geometric representation to include support for colors and textures directly within the file structure. This allows for per-vertex or per-triangle color assignments using RGBA values, enabling precise control over visual properties at the mesh level.[2] Texture mapping is facilitated through UV coordinates associated with vertices, paired with embedded image files such as PNG or JPEG that serve as texture resources, ensuring that the full visual fidelity of the model is preserved without external dependencies.[23] These features make 3MF suitable for applications requiring detailed surface appearances, such as consumer product prototyping. Multi-material and multi-part models are a core strength of 3MF, allowing the definition of distinct object properties for various materials within a single file. Each object can specify material IDs linked to a resource catalog that describes properties like color or texture associations, supporting complex assemblies where multiple components are positioned relative to one another without relying on separate files.[2] This capability enables the creation of composite models, such as those with differing material behaviors in specific regions, streamlining the workflow from design to manufacturing.[24] For user convenience, 3MF files incorporate embedded 2D thumbnail images, typically in PNG format, stored within the archive for immediate preview in compatible software or file explorers.[25] This feature enhances accessibility by providing a quick visual representation of the 3D model without requiring full loading or rendering. Manufacturing metadata is integrated via extensible XML elements, including a print ticket that captures printer-specific parameters such as material mappings to guide additive manufacturing processes.[26] These details ensure reproducibility across different printers and workflows, with the XML structure allowing for customizations.[23]Extension Specifications
The 3MF specification incorporates modular extensions to address specialized requirements in additive manufacturing, enabling the format to support advanced workflows beyond core model representation. These optional extensions, introduced in subsequent releases, allow for the inclusion of production-specific data, lightweight structural representations, direct slicing outputs, security measures, and complex volumetric material distributions, all while maintaining compatibility with the base XML structure.[2] The Production Extension facilitates high-volume 3D printing by embedding build platform details and ensuring traceability across manufacturing stages. It mandates unique UUID identifiers for build elements, objects, and components to track parts in multi-part assemblies and support sequencing during production. Items on the build can reference external model files via absolute paths within the 3MF container, and alternatives provide multiple resolutions (e.g., full, low, or obfuscated) for flexible processing. Slicer settings, such as layer heights and infill patterns, can be associated with objects, while support structures are represented as additional components or items on the build platform to enable automated sequencing and verification.[27] The Beam Lattice Extension enables the modeling of lightweight, topology-optimized structures using beam primitives, ideal for reducing material use in additive manufacturing. Beams are defined as cylindrical segments connecting two vertices, with linearly interpolated radii (r1 at v1, r2 at v2) and optional end caps such as hemispheres, full spheres, or butt joints to minimize anisotropy. The extension includes a<beamlattice> container within mesh objects, grouping beams, optional vertex balls (spheres for joints), and beam sets for organization; attributes like minlength enforce minimum beam dimensions, and clippingmode allows lattice clipping to model boundaries. This representation supports graph-based lattices for efficient computation in optimization software.[28]
The Slice Extension provides 2D layer data directly within 3MF files, streamlining input to printers by bypassing on-the-fly slicing. It uses <slicestack> elements to organize slices by Z-height, with each <slice> containing vertices and polygons for contours; segments define boundaries via line connections, and properties (e.g., via pid attributes) specify hatch patterns, infill, or material assignments per contour. Referenced via slicestackid in objects, this extension supports external slice references for large datasets and resolutions like full or low for compatibility. Contours and hatches are encoded as closed polygons, enabling precise control over layer deposition.[29]
The Secure Content Extension protects intellectual property by encrypting sensitive 3MF payloads and verifying authenticity through digital signatures. It employs modern cryptography standards, such as AES for symmetric encryption of specific parts (e.g., model geometries), with keys managed via asymmetric methods; digital signatures, based on standards like XMLDSig, ensure content integrity and origin validation. Encryption targets individual OPC parts within the container, allowing selective protection while keeping metadata accessible, thus safeguarding designs during sharing or transmission in supply chains.[30]
The Volumetric Extension, in conjunction with the Materials and Properties Extension, supports voxel-based representations and spatially varying material distributions for complex additive processes. Volumetric data is encoded as 3D image stacks (e.g., PNG voxel grids), sampled via functions like linear interpolation to define implicit shapes or properties within objects; elements such as <volumedata> and <functionfromimage3d> enable UVW-coordinate mapping for internal distributions. Advanced materials include gradients through vertex color interpolation in sRGB space or composite mixing with ratios, supporting features like opacity fades, multi-material transitions, and texture gradients across volumes. These extensions allow for heterogeneous structures, such as graded density lattices or multi-material prototypes.