What is the 3MF format? How does it differ from the standard STL format? And what can you do with it, especially if your 3D printers run GrabCAD Print software from Stratasys?
For most designers, engineers and users involved in 3D printing, regardless of the 3D CAD software you use, you save (convert) your model to print as an STL format file. A lot has been written about it, including a PADT post from back in 2012 – and STL-wise, things really haven’t changed. This format approximates the native CAD solid model as a closed surface comprising small triangles of various shapes and sizes. STL has been the standard since the AM industry began, and although different CAD packages use different algorithms to create the mesh, for the most part, it’s worked pretty well.
A Sample STL File Segment
However, an STL file is simply a large text file listing the Cartesian coordinates for each vertex of the thousands of triangles, along with info on the normal direction:
A modest number of large triangles produces relatively small files but doesn’t do a good job of reproducing curves (think highly faceted surfaces); conversely, big files of many small triangles produce much smoother transitions but can take a long time to process in slicing software.
And, perhaps the biggest negative is that an STL file cannot include any other information: desired color, desired material, transparency, internal density gradient, internal fine structure or more.
What is 3MF?
In early 2015, Microsoft and a number of other major corporations including Autodesk, Dassault Systèmes, HP, Shapeways and SLM Group created a consortium to address these issues. They decided to overhaul a little-used file format called the 3D Modeling Format (3MF), to make it support highly detailed 3D model information and be more useful for 3D printing and related processes.
This ongoing consortium project defines 3MF as “a set of conventions for using XML to describe the appearance and structure of 3D models for the purpose of manufacturing (3D printing).”
In developer language, 3MF is a standard package or data that follows a core specification and may include some task-specific extensions.
In user terms, a 3MF file contains some or all of the following information in ASCII format:
- Metadata about part name, creator and date
- Information on the mesh of triangles (yes, it still creates and uses these, but does it better for a number of reasons, one of which is that it cannot create non-manifold edges (i.e., triangles that share endpoints with more than one triangle, which confuses the printer))
- Color information (throughout the complete part body or in sub-sections)
- Ways to define multiple materials combined as a composite
- Texture information – what it is and where to place it
- Ways to assign different materials to different sections of a part
- Ways to duplicate information from one section of a part to another section, to save memory
- Slicing instructions
Without getting into the nitty gritty, here are just two examples of XML code lines from 3MF metadata sections:
Meaning, information about the part number and the part color rides along with the vertex coordinates! For a deep-dive into the coding schema, including a helpful glossary, see the 3MF github site; to learn how 3MF compares to STL, OBJ, AMF, STEP and other formats, check out the consortium’s About Us page.
Exporting 3MF Files
Now, how about using all of this? Where to start? Many 3D CAD software packages now let you save solid models as 3MF files (check out your “Save As” drop-down menu to verify), but again, they can vary as to what information is being saved. For example, a SolidWorks 3MF file can generate data on color and material but does not yet support transparency.
Here are all the options that you see in SolidWorks when you click the arrow next to “Save As”:
You can select “.3mf” but don’t Save yet. First, click on the “Options” button that shows up below the Save as File Type line, opening this window:
You need to check the boxes for “Include Materials” and “Include Appearances” to ensure that all that great information you specified in the solid model gets written to the converted file. A good, short tutorial can be found here.
Another interesting aspect of 3MF files is that they are zipped internally, and therefore smaller than STL files. Look at the difference in file size between the two formats when this ASA Omega Clip part is saved both ways:
The 3MF-saved file size is just 13% the size of the standard STL file, which may be significant for file manipulation; for files with a lot of detail such as texture information, the difference won’t be as great, but you can still expect to save 30 to 50%.
Working with 3MF files in GrabCAD Print
Okay, so CAD programs export files in 3MF format. The other half of the story addresses the question: how does a 3D printer import and use a 3MF file? Developers of 3D printing systems follow these same consortium specifications to define how their software will set up a 3MF file to print. Some slicers and equipment already act upon some of the expanded build information, while others may accept the file but still treat it the same as an STL (no additional functions enabled so it ignores the extra data). What matters is whether the system is itself capable of printing with multiple materials or depositing material in a way that adds color, texture, transparency or a variation in internal geometry.
GrabCAD Print (GCP), the cloud-connected 3D Printer interface for today’s Stratasys printers – both FDM and PolyJet – has always supported STL and native CAD file import. However, in GCP v.1.40, released in March 2020, GrabCAD has added support for 3MF files. For files created by SolidWorks software, this adds the ability to specify face colors, body colors and textures and send all that data in one file to a PolyJet multi-material, multi-color 3D printer. (Stratasys FDM printers accept 3MF geometry and assembly structure information.)
For a great tutorial about setting up SolidWorks models with applied appearances and sending their 3MF files to GrabCAD Print, check out these step-by-step directions from Shuvom Ghose.
At PADT, we’re starting to learn the nuances of working with 3MF files and will be sharing more examples soon. In the meantime, we suggest you download your own free copy of GrabCAD Print to check out the new capabilities, then email or call us to learn more.
PADT Inc. is a globally recognized provider of Numerical Simulation, Product Development and 3D Printing products and services. For more information on Stratasys printers and materials, contact us at firstname.lastname@example.org.