Sustainability of Digital Formats: Planning for Library of Congress Collections |
|
Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact |
Full name | 3D Manufacturing Format (3MF) |
---|---|
Description |
3D Manufacturing Format (3MF) describes the set of XML conventions and other technologies to describe the content and appearance of one or more 3D models. The 3MF Consortium provides a specification that defines the formal requirements of 3MF that producers and consumers must satisfy to achieve interoperability between independently created software and hardware, which is a primary goal of the specification. The 3MF format requirements are an extension of the packaging requirements described in the Open Packaging Conventions (OPC) specification. That specification describes packaging and physical format conventions for the use of XML (specifically XML 1.0), Unicode, ZIP, and other technologies and specifications to organize the content and resources that make up any 3D model. They are an integral part of the 3MF specification. The 3MF Consortium offers a free to use open-source implementation of this specification to allow an easy adoption of the format in applications handling 3D content. Structure of 3MF 3MF defines a payload that contains a 3D object/model definition and its supporting files, called the 3D payload. An OPC package that holds a 3D payload and follows the rules of the 3MF Specification is referred to as a 3MF Document. There can be more than one 3D payload in a 3MF Document, but only one primary 3D payload. The 3D Model contains definitions of one or more objects to be fabricated by 3D manufacturing process.
Uses of 3MF As stated on the 3MF Consortium’s website, 3MF is a 3D printing format that allows design applications to send full-fidelity 3D models to a mix of other applications, platforms, services and printers. The 3MF specification allows companies to focus on innovation, rather than on basic interoperability issues, and it is engineered to avoid the problems associated with other 3D file formats. According to the 3MF specification’s Preface, 3MF describes a 3D model and containing format call the 3MF Document. It can be used as a stand-alone file format or as a payload in a print pipeline. This file format includes the fundamental information to generate a physical object through additive manufacturing or basic subtractive manufacturing techniques, such as textures to reproduce the exact desired appearance of a color. It also includes optional components to generate a physical object, including the ability to specify print job control instructions. The 3MF core specification has been designed as narrow as possible in anticipation of the specification evolving, allowing third parties to extend the markup. As described in the core specification, Support for Versioning and Extensibility, extensions are critical and add advanced features to the 3MF format. Producers and consumers can use an a la carte model to state explicitly which extensions are used and supported. Vendors may also define private extensions that are not ratified by the 3MF Consortium. Sana Kazibash wrote in the article, A Look into 3MF and Its New Volumetric Design Extension in January 2022, “So, how does the 3MF specification work? It starts out with a mandatory core specification for defining the outer surface of the object. The user subsequently selects a combination of optional extensions: slice, material, color, beam lattice, volumetric design and security.” |
Production phase | Initial State to Middle State to Final State as a data exchange format. The 3MF Document format is intended both for producers (initial state), which emit content in the 3MF Document, and consumers (final state), which access and transform into 3D objects the contents of the 3MF Document. An editor (middle state) is an entity that acts as both a producer and a consumer of content in the 3MF Document format. |
Relationship to other formats | |
Defined via | ZIP, ZIP File Format (PKWARE) |
Contains | XML, XML (Extensible Markup Language) 1.0 |
Extension of | OPC, Open Packaging Conventions (Office Open XML) |
May contain | JPEG, JPEG Image Encoding Family |
May contain | PNG, PNG, Portable Network Graphics |
LC experience or existing holdings | None. |
---|---|
LC preference | The Library of Congress Recommended Formats Statement (RFS) lists 3MF as a acceptable format for 2D and 3D Computer Aided Design - vector formats. |
Disclosure |
Open standard. Developed by the 3MF Consortium at https://3mf.io/. 3MF Consortium’s website states “3MF is an open standard that is supported by all major 3D printing software and hardware providers.” 3MF Consortium’s website has links to the full specification for the 3MF format, and implementation information for developers can be found on the 3MF GitHub repository. The ZIP archive must follow the ZIP File Format Specification by PKWARE Inc. (https://github.com/3MFConsortium/spec_core/blob/master/3MF%20Core%20Specification.md#11-package) The format requirements are an extension of the packaging requirements described in the Open Packaging Conventions (OPC) specification. That specification describes packaging and physical format conventions for the use of XML, Unicode, ZIP, and other technologies and specifications to organize the content and resources that make up any model. They are an integral part of the 3MF specification. |
---|---|
Documentation |
3MF Consortium – Specification (https://3mf.io/specification/) 3D Manufacturing Format - Core Specification & Reference Guide (https://github.com/3MFConsortium/spec_core/blob/master/3MF%20Core%20Specification.md) The 3MF specification released the latest 3MF Version 1.3.0 as of October 7, 2021 and includes 7 extensions designed to better handle complex geometries, including core and production, material and property, bean lattice, security, and volumetric design. |
Adoption |
Adoption of the 3MF specification is growing as seen with the 3MF Consortium’s membership growth totaling 20 member companies, including Autodesk, Microsoft, Siemens, and Hexagon. 3MF Consortium announced in November 2021 that, “3MF has now been implemented in nearly 50 products across 38 companies.” See full list and descriptions at 3MF Members. According to Ile Kauppila in 3MF File Format – All You Need to Know, November 2019, “Due to the high number of large-scale additive manufacturing players in the 3MF Consortium, 3MF has been adopted by nearly all major CAD tools, 3D printer manufacturers, and others suppliers across the ecosystems ensuring interoperability across products. This high adoption rate helps manufacturers more easily implement 3MF.” |
Licensing and patents | No known license or patent concerns for generation and use of the format. |
Transparency |
As stated in the 3MF specification, 3MF is a file format that is human readable, using common structures (OPC, ZIP, and XML0 for easier development. 3MF is also unambiguous, having clear language and conformance tests to ensure files are consistent from digital to physical. Pooria Sohi describes 3MF file format in the blog Why 3MF Is the Next Generation File Format for Additive Manufacturing, January 2022, as “human-readable,” meaning users can open the file in text editor and quickly understand what’s going on. Data is very digestible, from the code that states coordinate information to the data that shows when the machine needs to pause or switch a tool.” Understanding 3MF specification requires working knowledge of the Extensible Markup Language (XML) and XML Namespace specifications. Full understanding might also require domain knowledge of common terms and procedures within the 3D manufacturing sector. The 3MF Consortium offers a free to use open source implementation of this specification. lib3mf is a C++ implementation of the 3D Manufacturing Format file standard. It provides 3MF reading and writing capabilities, as well as conversion and validation tools for input and output data. lib3mf runs on Windows, Linux and MacOS and offers a clean and easy-to-use API in various programming languages to speed up the development and keep integration costs at a minimum. As 3MF shall become a universal 3D Printing standard, its quick adoption is very important. This library shall lower all barriers of adoption to any possible user, let it be software providers, hardware providers, service providers or middleware tools. |
Self-documentation |
3MF Documents take advantage of parts defined by the Open Packaging Conventions to provide additional information about the content in the package. The 3MF Document format relies on the Core Properties part, defined in the Open Packaging Conventions specification, to provide metadata about the creation time, modification time, author, search keywords, and other document-centric metadata. See the Open Packaging Conventions specification for additional details. 3MF specification, 3.4.1 Metadata states producers of 3MF Documents SHOULD provide additional information about the document in the form of metadata under the root model element. Metadata associated with the model MAY contain a set of well-known values. Metadata in 3MF Documents without a namespace name MUST be restricted to names and values defined by this specification. If a name value is not defined in this specification, it MUST be prefixed with the namespace name of an XML namespace declaration on the model element that is not drawn from the default namespace. The well-known metadata names and values defined by this specification can be found here: Table 3-1. Metadata values |
External dependencies | None. |
Technical protection considerations |
IANA Regulations Security Considerations: 3MF files can be very large, particularly after decompression, which could fill a filesystem and cause a denial of service or system failure. This media type does not employ any sort of active or executable content, nor does it provide direct control of device settings or safety interlocks. Neither privacy nor integrity protection is provided by the media type itself; if these protections are needed they must be implemented externally. Authentication, access control, and privacy/integrity are normally handled by the Internet Printing Protocol, Hyper-Text Transport Protocol, and Transport Layer Security. 3MF files utilize a ZIP container to embed multiple types of files. The security considerations for the deflate compression format used in ZIP files are described in section 6 of "DEFLATE Compressed Data Format Specification version 1.3" [RFC1951]. The security considerations for embedded XML content are described in section 10 of "XML Media Types" [RFC7303]. Each XML namespace utilized may raise additional security considerations. The security considerations for embedded PNG image content are described in section 8.5 of "PNG: Portable Network Graphics" [RFC2083]. |
Other | |
---|---|
3D Model Geometry |
3MF format describes 3D shapes using triangular meshes. 3MF core specification defines the mesh element as the root of the triangular mesh of an object volume and contains vertices and a set of triangles. There are requirements that meshes comply with, depending on the mesh type, including manifold edges, consistent triangle orientation, outward facing normals, minimal self-intersections, and non-degeneracy. The vertices element, containing all the vertex elements, represent the corners of each triangle in the mesh. Vertex elements represent a point in 3-dimensional space that is referenced by a triangle in the mesh. A triangle element represents a single face of the mesh. Vertices (v1, v2, v3) order must be specified in counter-clockwise 3MF Consortium added the Beam Lattice Specification Extension to its 3MF Core Specification. The central idea is to enrich geometry with beam lattice elements that can represent small-scale lattices as well as larger truss structures, which both are inefficiently handled with mesh representation. In this extension specification all lattice beams are required to have a circular cross section to reduce anisotropy issues. The extension contains two schemas, beam lattice elements and ball elements. The extension defines a new beamlattice element, a child element of the mesh element from the core 3MF specification and are intended to be subject to same conditions of the underlying mesh. In early 2022, 3MF Consortium announced the new Volumetric Design Extension to the 3MF core specification. It is currently available in Version 0.6 and the Consortium has opened a call for public feedback to the specification before it reaches 1.0. Volumetric Modeling is based on volumetric description, it relies on a mathematical, field-based description of the whole volume of the object, enabling the printer to reproduce the model’s geometry more precisely. |
3D Model Appearance |
The 3MF core specification describes the 3MF Document Format that represents a 3D model which includes the necessary information for a consumer to generate a physical object through additive manufacturing or basic subtractive manufacturing techniques. This information includes resources such as textures to reproduce the exact desired appearance, such as color, or internal structures in the terms of materials. The 3MF core specification states the base element specifies the material name conveying design intent for the purpose of aiding users in mapping to print materials. The base material defines the specific material used in manufacturing certain objects in a model. Printer-specific information is placed in the Print Ticket which includes a mapping from base materials to actual printer materials. Producers should not assume that display colors are part of the final printed object, when specifying color design intent for the printed part, a producer must specify color properties in the material and property extension or another corresponding extension. 3MF uses sRGB as specified by the World Wide Web Consortium whenever 3MF uses colors expressed as #RRGGBB hexadecimal. 3MF Consortium added the Materials and Properties Extension to its 3MF Core Specification. The specification standardizes how colors should be blended and how materials should be represented, so that the part can be realistically viewed and the printer the correct information to output what is intended. The extension defines the composition of 3D documents and the appearance of each model within the document. The new resource groups described in the specification will determine different ways of representing material properties of a part. Resources may be referenced by attributes defined in the core specification. |
3D Model Scene |
The 3MF core specification, 3D Models, describes the model as the object(s) to be created via 3D manufacturing processes as a single operation. This could include a single object, multiple homogeneous objects, multiple heterogeneous objects, an object fully enclosed in another object, or multiple objects interlocked and inseparable. Coordinates, unit resolution, relative direction, measurements, and 3D matrices are specified and/or applied to the model element. The 3MF core specification does not mention light or camera information. Comments welcome. 3MF Consortium added the Materials and Properties Extension to its 3MF Core Specification. Chapter 7 of the specification describes Display Properties of the 3MF format. These properties contain extra information about the material and how describe it so that it can be realistically and consistently rendered on the screen, i.e.. shiny and reflective metal materials. This section also describes Physically Based Rendering (PBR), an approach to real-time rendering of materials that delivers physically plausible surface reflections in a variety of lighting conditions. The specification mentions two material categories: Non-metal (plastics or ceramics – less reflective, scatter light) and Metals (very reflective, absorb light). Five types of Display Properties: Specular, Metallic, Specular with Texture, Metallic with Texture, and Translucent. |
3D Model Animation |
No information about Animation found. Comments welcome. 3MF core specification describes the use of 3D Matrices (4x4), which are used to when objects need to be transformed for rotation, scaling, or translation purposes. Transforms are applied to the shapes defined by objects. |
Tag | Value | Note |
---|---|---|
Filename extension | 3mf |
See https://www.iana.org/assignments/media-types/model/3mf. |
Internet Media Type | application/vnd.ms-package.3dmanufacturing-3dmodel+xml |
See https://github.com/3MFConsortium/spec_core/releases/download/1.2.3/3MF_Core_Specification_v1_2_3.pdf . Content Type 3D Model |
Internet Media Type | application/vnd.ms-printing.printticket+xml |
See https://github.com/3MFConsortium/spec_core/releases/download/1.2.3/3MF_Core_Specification_v1_2_3.pdf. Content Type PrintTicket |
Pronom PUID | fmt/829 |
See http://www.nationalarchives.gov.uk/PRONOM/fmt/829. |
Wikidata Title ID | Q15029253 |
3D Manufacturing Format – file format. See https://www.wikidata.org/wiki/Q15029253 . |
Wikidata Title ID | Q27863093 |
3D Manufacturing Format Core Specification & Reference Guide – technical specification. See https://www.wikidata.org/wiki/Q27863093. |
General |
3MF Production Extension, Specification & Reference Guide Chapter 1. Overview of Additions - Note: "Unique identifier" MUST be any of the four UUID variants described in IETF RFC 4122, which includes Microsoft GUIDs as well as time-based UUIDs. Chapter 4. Identifying Build Components Components of 3MF containers need to be uniquely identifiable in order to ensure tracking of builds and parts through build processes. Within a given 3MF container, build items can be uniquely identified by providing a UUID for each item. Individual objects (models) in a build can be uniquely identified with a UUID on each object element. Individual component-based parts can be identified using a UUID attribute on component elements. 3MF Secure Content Extension, Specification & eference Guide Chapter 2. Key Store-UUID- The Key Store universal unique ID that allows the Key Store to be identified over time and across physical and across applications and printers. When an editor modifies the Key Store, it MUST produce a new uuid to unequivocally identify the new keystore element content. Note: "Unique identifier" MUST be any of the four UUID variants described in IETF RFC 4122, which includes Microsoft GUIDs as well as time-based UUIDs. |
---|---|
History |
Per Business Wire Press Release – 3MF Consortium Launches to Advance 3D Printing Technology – April 30, 2015 Launched in 2015, the 3MF Consortium is a Joint Development Foundation project with the goal to define a 3D printing format that will allow design applications to send full-fidelity 3D models to a mix of other applications, platforms, services and printers. The 3MF (for 3D Manufacturing Format) specification eliminates the widespread issues with currently available file formats. Members of the 3MF Consortium are: Autodesk Inc.; Dassault Systèmes S.A.; FIT AG/netfabb GmbH; HP; Microsoft Corporation; Shapeways, Inc.; and SLM Solutions Group AG. The starting point for the Consortium's development of the 3MF specification was Microsoft's donation of its 3D file format work-in-progress. The Joint Development Foundation is an independent non-profit organization that provides the corporate and legal infrastructure to enable groups to establish and operate standards and source code development collaborations. |
|