in , , ,

4 Most Common 3D Printer File Formats in 2019

- Werbung -
Reading Time: 26 minutes

What is the best 3D printer file format? Which format should you use? We explain and compare the four most common 3D printing file formats: STL, OBJ, AMF, and 3MF.

What is a 3D Printer File Format?

- Werbung -
- Werbung -
3D printers require a digital blueprint of an object
3D printers require a digital blueprint of an object

– Werbung –

3D printers require a 3D file of an object

To print a three-dimensional object, a 3D printer needs a digital blueprint of the object. This is just a file that stores all the relevant data about the object such as geometry, color, texture, and materials. There are several file formats that can hold such data. These formats are known as 3D file formats. Examples include STL, COLLADA, OBJ, FBX, X3D, etc.

Not all 3D file formats are 3D printer file formats though.

3D printer file formats are a subset of 3D file formats that are used for 3D printing. Even though almost all 3D file formats can theoretically be used for 3D printing, only a few formats have emerged as go-to formats for 3D printing. This has happened for some historical, practical, and design reasons which we will discuss later.

The result is that only these formats have respectable support across the 3D printing toolchain and therefore, everyone ends up using them when they want to 3D print something. These common 3D printer file formats are respectively STL, OBJ, AMF, and 3MF.

Why does a 3D Printer File Format Matter?

Why should you care about those three letter extensions anyway? Does it make a difference?

We think it does for two reasons.

Reason #1: The File Format Decides What Information Goes to the 3D Printer

Your 3D printer file is the carrier of information from the CAD model to the printer. Not all 3D printer file formats can carry all kinds of information.

If you are primarily printing with a single material and in a single color, STL will do the job. But the moment you move to multicolor printing, you have to ditch STL because it is simply not capable of storing colors.

Color is just one aspect of 3D printing. There are plenty of other factors like materials and precision. Depending on your print job, you would have to select a 3D printer file format that is capable of transmitting the necessary information to the printer.

Reason #2: The 3D Printer File Formats and Tools are Tightly Coupled

Not all file formats are compatible with all the 3D printing software and hardware.

For example, the CAD software Blender supports importing and exporting STL files but has no support for the 3MF 3D printer file format. Should you want to use the 3MF format in the future (it has many features that you might want), you have to ditch Blender and move to another CAD software (like Solidworks) with the required capabilities. Not only does this cost you money, but also a lot of time for learning and adapting to a new tool.

This also holds for Slicers like Cura or Simplify3D.

Because of these two reasons, it’s a good thing to be informed about the different 3D printer file formats and their features, strength, weaknesses, applications, and compatibility.

But how to get informed? Well simply read on. We have covered everything you need to know about the different 3D printer file formats in the following sections.

3D Printer File Format #1: STL (The De-facto Standard)

Ask a lot of 3D printing professionals which format they use, and you will most likely get the same answer every time –  “STL”.

As of today, STL is the undisputed champion among 3D printer file formats. STL’s history goes back to the invention of 3D printing itself. The first 3D printer was invented by Chuck Hull in 1987 at 3D Systems. The same guy was behind the STL file format.

Chuck Hull, the inventor of the first 3D printer, was also behind the STL file format
Chuck Hull, the inventor of the first 3D printer, was also behind the STL file format
Chuck Hull, the inventor of the first 3D printer, was also behind the STL file format

Ever since its invention, it has remained the de facto standard in the 3D printing industry. The format specification has remained the same for 30 years. In spite of its age and limitations, most 3D printing workflows today continue to use this format (and this format alone) because of the strong support it enjoys in every piece of software and hardware in the 3D printing toolchain.

 STL 3D printer file format features in a nutshell

STL is one of the simplest open source file formats. It supports both ASCII (larger file size, human readable) and binary (smaller file size) encodings.

It can encode a 3D model’s geometry but has no support for storing any other interesting object properties. You cannot store information about colors, textures or materials.

Till recently, most 3D printers were only capable of printing models with a single material. Therefore, a file format that stores just geometry was sufficient.

In the last few years, multi-color 3D printing has rapidly gained traction. While it is still not mainstream, we believe it will be in a few years. STL files will be unusable with these printers.

STL also uses a very simple-minded approach called “tessellations” to store geometry. This has turned out to be both a boon and curse.

Tessellation is the process of tiling a surface with one or more geometric shapes such that there are no overlaps or gaps. If you have ever seen a tiled floor or wall, that is a good real-life example of tessellation.

The tiled wall and floor are simple real life examples of tessellation
The tiled wall and floor are simple real life examples of tessellation
The tiled wall and floor are simple real-life examples of tessellation

The STL 3D printer file format uses triangular tiles to cover the surface of a 3D model. The vertices and normals of these triangles are stored in the file to encode the geometry of the model.

Tessellations of a cube and a sphere
Tessellations of a cube and a sphere
Tessellations of a cube and a sphere with triangular facets

The fine trinaglar mesh is approximately encoding the surface geometry of this 3D model (source : i.materialize)
The fine trinaglar mesh is approximately encoding the surface geometry of this 3D model (source : i.materialize)
The fine triangular mesh is approximately encoding the surface geometry of this 3D model (source: i.materialize)

The triangles can be made arbitrarily small to approximate curved regions. However, the smaller the triangles, the larger the number of triangles required to cover the surface. Storing information about a large number of triangles can take a lot of space, leading to large file sizes. Therefore, precision comes at the cost of size in this 3D printer file format.

The perfect spherical surface on the left is approximated by tessellations. The figure on the right uses big triangles, resulting in a coarse model. The figure on the center uses smaller triangles and achieves a smoother approximation (source: i.materialize)
The perfect spherical surface on the left is approximated by tessellations. The figure on the right uses big triangles, resulting in a coarse model. The figure on the center uses smaller triangles and achieves a smoother approximation (source: i.materialize)
The perfect spherical surface on the left is approximated by tessellations. The figure on the right uses big triangles, resulting in a coarse model with small file size. The figure on the center uses smaller triangles and achieves a smoother approximation at the cost of a much larger file size (source: i.materialize)

As the fidelity of 3D printing reaches micron level accuracy, the large file sizes are soon going to be a big problem.

So why is STL 3D printer file format so popular?

There is no doubt that STL is a simple and old 3D printer file format. So why do people continue to use it?

The answer is: precisely because it’s old and simple. As the file format was used in the first-ever 3D printer (1987), it quickly became a 3D printing standard. Manufacturers other than 3D Systems adopted it too because it was the most rational choice back then.

The first commercial 3D printer, SLA-1, used the STL format
The first commercial 3D printer, SLA-1, used the STL format
The first commercial 3D printer, SLA-1, used the STL format

As almost all hardware manufacturers bet on this 3D printer file format, CAD software manufacturers had to follow to satisfy demand. Over two decades, almost every major CAD software has included Import and Export support for the STL format. The simplicity of the 3D printer file format helped in this process, as writing parsers for STL is quite easy.

Soon, STL became a ubiquitous part of every software and hardware component in the 3D printing toolchain. If a new 3D printing product appeared, STL would be the first format to be supported, ensuring that the product works well together with other parts of the workflow. This is still true today.

As the entire workflow became STL compatible, 3D printing enthusiasts and practitioners naturally started choosing STL over other formats which did not have equivalent support.

STL became the de facto standard for 3D printing. Most 3D printable models are also shared as STL on the internet. Scores of sophisticated supporting software, such as STL file repair tools, came into existence. The internet became flooded with documentation, Q & A, troubleshooting information, and tutorials related to the STL 3D printer file format.

All these factors are responsible for making STL such a successful format for 3D printing. People still overwhelmingly choose it for 3D printing today and we think that this trend would continue for at least five more years.

Shortcomings of the STL 3D printer file format

While enjoying the best support from manufacturers among 3D printer file formats, STL is a sorely outdated file format. It doesn’t help that the format hasn’t been updated a single time since its invention. The needs of 1987 are not the needs of 2017. Here are the shortcomings of the 3D printer file format that people complain about most loudly.

STL 3D printer file format stores a lot of redundant information

The easiest way to show this is via an example. Here is a comparison listing file size of the same model (~63,000 triangular faces) saves as different 3D file formats.

    1. PLY (binary): 1.1M
    2. X3DB (binary): 1.3M
    3. OBJ (ASCII): 2M
    4. PLY (ASCII): 2M
    5. X3D (ASCII): 2.1M
    6. VRML (ASCII): 2.7M
    7. STL (binary): 3M
    8. STL (ASCII): 11M

As you can see, STL is the most bloated format in the list. This happens because STL stores the normals to the triangles (even though this is redundant information). When the normals are not available, it insists on a default (0, 0, 0) value, which also unnecessarily takes up space.

STL 3D printer file format is slow and error-prone

In spite of being the most bloated format, STL actually stores less information than its counterparts! It does not store information about the connectivity of the triangular faces tiling the surface. Without connectivity, the file essentially represents a bunch of triangles floating in space, also referred to as “triangle soup”. Software that read STL files typically has to guess or compute connectivity information.  This step is slow and error-prone.

STL 3D printer file format has little or no checking mechanism for watertight geometry

Anyone who has used STL files knows that there is no guarantee if a file will print properly. 3D printing requires watertight geometry, but many STL files have holes or overlapping triangles. The 3D printer file format does not enforce many checks on the geometry, so people have to resort to STL repair software to check and repair it manually.

This STL file, for example, does not have a closed geometry. You need to repair it first to be able to 3D print it.
This STL file, for example, does not have a closed geometry. You need to repair it first to be able to 3D print it.
This STL file, for example, does not have a closed geometry. You need to repair it first to be able to 3D print it.

STL 3D printer file format is incapable of storing color, material and texture information

Many 3D printers are now capable of printing multicolor objects with graded material compositions. However, STL files cannot encode any information other than geometry. So STL is utterly unusable with these advanced printers.

STL 3D printer file format doesn’t contain scale information

In STL, there is no field for storing the units used in the model. It could be mm, cm, inches or feet for all you know.

Where to get STL downloads, readers and repair software?

One of the strengths of the STL 3D printer file format is that there is no dearth of downloadable models and supporting software. If you are interested in playing with STL files, the following STL resources may interest you.

Downloads

Thingiverse is the biggest repository of STL files
Thingiverse is the biggest repository of STL files
Thingiverse is the biggest repository of STL files

There are many repositories, marketplaces and search engines on the web containing literally millions of free STL files. Thingiverse is probably the largest STL file repository on the internet – so check it out.  You can also refer to our regularly updated list: 33 Best Sites for Free STL Files & 3D Printer Models in 2019.

Opening and viewing

3D printing software for beginners: ViewSTL
3D printing software for beginners: ViewSTL
ViewSTL is a simple online STL file viewer

There are several free STL file viewers for this purpose, which you can either use online (e.g VIewSTL) or as a desktop application (e.g. GLC-Player). Refer to our dedicated guide here: 20 Best Free STL File Viewer Tools in 2019

Editing, converting and repairing

Because the format is open, there is nothing to prevent you from changing the contents of a file using a software like FreeCAD.

There are several programs which can help with repairing a broken STL file. For example, Netfabb is a great tool for repairing the most common STL file problems.

We have a dedicated article on this topic: 7 Free STL Editors + How to Edit and Repair STL Files

Want to know more about the STL file format? Read our detailed article: STL File Format (3D Printing) – Simply Explained

3D Printer File Format #2: OBJ (The 2nd Most Widely-Used)

Since the STL 3D printer file format cannot store color information, the OBJ format is the preferred 3D printer file format for multicolor printing.


The OBJ Format is the Dominant Multicolor 3D Printing Format

The OBJ 3D printer file format was originally used by 3D graphics designers as a neutral interchange format for 3D graphics. It was later adopted by the 3D printing community when 3D printers got the capability of printing in multiple colors and materials.

OBJ is not the only 3D graphics format that was suited for the job though. FBX and COLLADA were worthy candidates. So why did the community adopt OBJ instead of the other 3D graphics file formats?

The two factors that worked in the favor of the OBJ 3D printer file format are its open source license and simplicity.

This meant that it was way easier for CAD manufacturers to write consistent parsers for importing and exporting OBJ files than for its closest competitor FBX (proprietary format) or COLLADA (complicated specification). As a result, it emerged as the winning candidate for multicolor printing.

OBJ 3D printer file format features in a nutshell

The OBJ 3D printer file format is an open source specification. The 3D printer file format supports both ASCII (human readable, larger file size) and binary (smaller file size) encodings.

OBJ files can encode a 3D model’s geometry along with information about color, materials, and textures.

It offers a lot of flexibility in how it encodes geometry. You can use tessellations with polygons to cover the object surface (just like STL), which means that, once again, you have to strike a balance between file size and precision

But if you wish, you can also use more advanced schemes like free-form curves and free-form surfaces. These schemes are able to encode a curved geometry faithfully without losing any information. In addition to being precise, they lead to far smaller files compared to the more basic methods.


Freeform Curve on a 3D Model Surface


NURBS Surface

The OBJ 3D printer file format also lets you store color and texture information in a companion file format called the Material Template Library (MTL) format. It has the file extension MTL. The .OBJ file, when paired with the corresponding MTL file, can render a multicolor textured model.


You can encode colors and textures in an OBJ file

MTL files can define material properties like ambient color, diffuse color, specular color, transparency etc.

In addition to supporting these material properties, the MTL format also supports texture maps, which is a more convenient method of specifying colors and textures. In texture mapping, every point in the 3D model’s surface (or the polygonal mesh)  is mapped to a 2-dimensional image. The coordinates of the 2D image have attributes like color and texture. When rendering the 3D model, every surface point is assigned a coordinate in this 2-dimensional image. The vertices of the mesh are mapped first. The other points are then assigned coordinates by interpolating between the coordinates of the vertices.

Illustration of how texture mapping is used to encode color and texture information of one side of a cube
Illustration of how texture mapping is used to encode color and texture information of one side of a cube
Illustration of how texture mapping is used to encode color and texture information of one side of a cube

Who uses the OBJ 3D printer file format and why?

If the STL 3D printer file format supported color, texture, and material related information, then people would most likely stick to STL and there wouldn’t be any need for using the OBJ format.

But, as it turns out, it can’t. So with the advent of multicolor 3D printing, people had to find a worthy alternative. The alternative turned out to be OBJ.

With time, it has gained decent support across the 3D printing toolchain (CAD and Slicers), though not as much as the STL 3D printer file format.

The OBJ 3D printer file format is also widely used in industries which are unforgiving when it comes to precision, such as the aerospace and automotive industries. As we discussed before, this format can encode geometry faithfully using free-form surfaces and curves without sacrificing file size. The STL 3D printer file format can’t do that. Therefore, precision engineering disciplines use the OBJ format for high precision 3D printing.

3D modeling in the area of aeronautics engineering requires precise encoding of surface geometry
3D modeling in the area of aeronautics engineering requires precise encoding of surface geometry
3D modeling in the area of aeronautics engineering requires precise encoding of surface geometry.

Shortcomings of the OBJ 3D printer file format

The biggest problem with the OBJ 3D printer file format is that it is much more complicated than the STL format, and repairing a broken OBJ file can sometimes give you a headache. There’s not a lot of great online tools for editing and repairing OBJ file, which compounds the problem.

- Werbung -

Another common frustration is the fact that OBJ files come in pairs (a .OBJ file along with a .MTL file). In companies where the progression from design to printing involves hundreds of people, the MTL files often get lost or separated from its parent OBJ file, leading to a lot of confusion.

The OBJ 3D printer file format also isn’t supported as much as the STL format. For example, you might have to use plugins to export OBJ files with Solidworks. So before you start using the OBJ format, make sure your setup supports it.

Where to get OBJ downloads, readers and repair software?

So where should you go if you want to download, read or repair OBJ files? Here’s a rundown:

Downloading OBJ files

TurboSquid has plenty of downloadable OBJ files
TurboSquid has plenty of downloadable OBJ files
TurboSquid has plenty of downloadable OBJ files

There are many repositories, marketplaces and search engines on the web containing literally thousands of free OBJ files. The major places for downloading OBJ files are  TurboSquid, Free 3D, CGTrader, Archive3D, Clara, The Free 3D Models and Oyonale.

Opening and Viewing OBJ Files


Blender and many other CAD software can open OBJ files

Fortunately, opening an OBJ file is not too complicated. Most CAD software will be able to open an OBJ file and let you view it.  In particular, you can try Solidworks, Fusion 360, Blender, Rhino, Cinema4D, and Unity. You can also view OBJ files online without the hassle of downloading and installing software on your machine. Autodesk360Viewer, 3DViewerOnline, 3D-Tool are online 3D model viewers that support the OBJ 3D printer file format.

Repairing OBJ files

Netfabb and many other softwares can repair OBJ files
Netfabb and many other softwares can repair OBJ files
Netfabb and many other software can repair OBJ files

There are some programs which can help with repairing a broken OBJ file. For example, Netfabb Basic, Meshmixer and Meshlab are all great tools for repairing the most common OBJ file problems.

Want to know more about the OBJ 3D printer file format? Read our detailed article: OBJ File Format – Simply Explained for CAD and 3D Printing

3D Printer File Format #3: AMF (The STL 2.0?)

AMF logo
AMF logo
AMF logo

The AMF 3D printer file format was introduced in 2011 as a replacement for the STL file format. At the time it was dubbed “STL 2.0”. The aim was to address many of the shortcomings of the STL 3D printer file formats. As we already discussed, STL is bloated, slow, error-prone and incapable of storing color, material and texture information.

To fix these issues, the ASTM was tasked to come up with a modern file format native to additive manufacturing. They eventually came up with the AMF 3D printer file format. It is an XML based format with native support for geometry, scale, color, materials, lattices, duplicates, and orientation. In all technical aspects, it is superior to the STL file format.

That’s awesome, right? Or is it?

The bad news is that the 3D printing industry has been rather slow to adopt the AMF format, in spite of its technical superiority. In the meantime, Microsoft came up with the 3MF format, which also aims to be an alternative to the STL 3D printer file format. They did things differently than the ASTM. Instead of keeping the development process to a select few experts, they set up a Consortium which includes many big names in the industry to govern the development and progress of the 3MF format. For a while, the industry was abuzz with excitement about this new file format.

While we know that the STL 3D printer file format will be replaced eventually, we don’t know if AMF or 3MF will be the one to do it.

We will come to the 3MF format soon. But before that, let’s look at the AMF 3D printer file format a little more deeply.

AMF 3D printer file format features in a nutshell

AMF addresses the issues in STL by using an XML format (human readable) with a hierarchy of five elements, object, material, texture, constellation, and metadata.

The XML formatting ensures that the file is easy to read, write and process.

It describes object surfaces with triangular meshes, just like STL. But there is one important difference. It allows curved triangles in addition to planar straight triangles – and it makes all the difference. Using curved triangles, you can describe a curved surface without using too many facets. This means that AMF can handle curved surfaces while staying lean on file size.

The AMF format uses curved triangles, which means precise encoding without sacrificing file size
The AMF format uses curved triangles, which means precise encoding without sacrificing file size
The AMF format uses curved triangles, which means precise encoding without sacrificing file size

It has support for all the modern requirements of 3D printing.  RGBA colors, graded colors and texture mappings are supported. It can natively handle mixed and graded materials, sub-structures, microstructures, porous, and stochastic materials.

You can print dual material objects (like the one shown in the picture) using the AMF format
You can print dual material objects (like the one shown in the picture) using the AMF format
You can print dual material objects (like the one shown in the picture) using the AMF format

The “constellation” feature allows manufacturers to specify the relative pattern of the objects within the file. This allows multiple objects to be arranged within the file, specifying their location and orientation.

The AMF format allows you to put multiple objects in the same file using the constellation feature
The AMF format allows you to put multiple objects in the same file using the constellation feature
The AMF format allows you to put multiple objects in the same file using the constellation feature

But to ensure that all 3D printers, old and new, can work with an AMF file, it allows printers to pick and choose information necessary for its operation. For example, if a printer is only capable of working with one material, multi-material information is simply ignored. This capability applies for all elements including color, texture, and composition.

With the AMF 3D printer file format, you can specify the scale of the design in different units. The absence of this feature is a source of great frustration for STL users.

Finally, it has extensive metadata fields including name, author, company, description, volume, tolerances, and much more.

Shortcomings of the AMF 3D printer file format

There is no doubt that AMF is much better suited to modern 3D printing than STL. But the biggest problem with using AMF today is its limited adoption.

Some say that the 3D printer file format came out way too early. In 2011, the majority of manufacturers employed extrusion based processes which only used one material. They also didn’t produce full-color parts.

This meant that they were perfectly happy with STL’s limited capabilities. Okay, not perfectly happy. You can never be perfectly happy with the STL format. But the problems caused by STL didn’t provide enough justification to change the entire pipeline to support AMF.

As a result, adoption has been slow – very slow. The CAD software manufacturers didn’t help as they decided to wait until AMF reaches critical mass among equipment manufacturers.

As of today, Solidworks and the Autodesk suite supports it. Stratasys has also signaled its cooperation, even though they might move away and focus on 3MF as they are a part of the 3MF Consortium. Online 3D printing services like Shapeways and Materialize has started accepting AMF files too.

Among Slicers, Cura has support for AMF. Simplify3D still doesn’t.

Maybe if we wait a bit longer, this is no longer going to be a problem. But to work with AMF right now, you need to ensure that all the software and hardware in your toolchain are capable of working with it.

AMF became an ISO standard in 2013. It is widely held to have gone into a standards body too early as well, having some features not clearly defined and other features missing. Most importantly, they did not consult the main players in the 3D printing industry before turning it into an official standard- a mistake that has been capitalized on by its competitor, the 3MF format.

Where to download, read, and edit AMF files?

If you want to download AMF files directly, you are out of luck. There aren’t many AMF designs available for download on the internet. Users of AMF usually start with an STL file, import it as AMF and then add additional properties via an editor. The open source AMF Editor is perfect for this job, allowing users to import STL and edit the resulting AMF file.

3D Printer File Format #4: 3MF -(A new road forward)

Nice try, AMF. But the 3MF 3D printer file format might yet be the actual “STL killer”.

As we discussed, the biggest weakness of the AMF format wasn’t technology. The technology is great and solves most of the problems people have with STL. The real problem was adoption.

ASTM, the developers of the AMF standard, did not consult the key players in the 3D printing industry. Since they were not directly involved, the major brands were very slow in adopting the standard.

Microsoft, the creators of the 3MF 3D printer file format, did it differently. For a few years, they developed the 3MF 3D printer file format internally (alongside Windows 8 and 10 development) with the goal of creating a seamless, high-quality experience for 3D printing consumers and manufacturers.

Then they changed the game plan. In 2015, Microsoft announced the 3MF Consortium, a body that will govern further development and progress of the 3MF format. They included all the big names in 3D printing as founding members. Autodesk, Stratasys, Ultimaker, Materialize, Shapeways, 3D Systems, Dassault Systems, Siemens, HP,  GE, you name it – they are all in there!

Founding members of the 3MF Consortium include all the big names in the 3D printing industry
Founding members of the 3MF Consortium include all the big names in the 3D printing industry
Founding members of the 3MF Consortium include all the big names in the 3D printing industry

Thus, for the first time, we have a modern 3D printing native file format that is ratified by all the important stakeholders. If this translates to accelerated adoption, then 3MF would have solved both the technical and adoption problem.

Not surprisingly, the 3MF 3D printer file format has been at the center of great publicity and buzz. If 3MF can solve the adoption problem faster than AMF (and it seems very likely that it will do so), it may easily become the next big 3D printer file format after STL.

3MF 3D printer file format features in a nutshell

Design goals

The 3MF format is loosely inspired by the AMF format. According to the 3MF Consortium, the design goals of the 3MF 3D printer file format are:

  • Complete: Containing all of the necessary model, material and property information in a single archive
  • Human readable: Using common structures such as OPC, ZIP, and XML to ease development
  • Simple: A short, clear specification, making development easy and validation fast
  • Extensible: Leveraging XML namespaces allow for both public and private extensions while maintaining compatibility
  • Unambiguous: Clear language and conformance tests ensure a file is always consistent from digital to physical
  • Free: Access to and implementation of the 3MF specification is and will always be free of royalties, patents and licensing

Features

3MF is an XML-based format. The 3MF consortium decided the benefits of human readability for ease of development outweighed the performance gain from going to a binary format.

It features geometry representation similar to STL (triangular meshes), but in a more compact and size-friendly format than AMF 3D printer file format. As an example of its space-saving features, multiple identical objects can be placed referencing the same mesh.

Duplicate objects do not take up any additional space in the 3MF file format
Duplicate objects do not take up any additional space in the 3MF file format
Duplicate objects do not take up any additional space in the 3MF file format

3MF ensures that the files are 100 % manifold with no cracks or overlapping triangles avoiding problems common in other formats standardized for animation and VR rather than 3D printing. The Holy Grail in 3D printing is having a ready-to-print file which requires no adjustment or fixing – and 3MF seems capable of doing just this.

Geometry problems may become a thing of the past with the 3MF format
Geometry problems may become a thing of the past with the 3MF format
Geometry problems may become a thing of the past with the 3MF format

Just like AMF, it can encode information about the model’s color, material, and textures.

The 3MF 3D printer file format also introduces the concept of a “single archive” or “3D payload”. The file defines all standard, optional, and mandatory parts, with complete model information contained in a single archive. The payload consists of a 3D model(s), core document properties, digital signatures, 3D print settings known as “PrintTicket”, thumbnail images of all models, and 3D texture information.

The goal is to make 3D printing as simple as document printing – select a printer from the list, choose options, and print.

The application converts the model to .3MF and encapsulates it in an OpenXPS package. It’s then extracted by the print driver, converted into a readable format, and sent to the 3D printer. The .3MF file not only solves Microsoft’s print pipeline but also provides the same advantages for everyone across the board.

Shortcomings of the 3MF 3D printer file format

The 3MF 3D printer file format is still in its infancy and therefore does not enjoy widespread adoption. But since all the companies that need to adopt the format are already in the 3MF Consortium, adoption seems to be just a matter of time. You can check the level of adoption anytime.

The biggest concern with the 3MF 3D printer file format is how free and open source it will be. Many people are skeptical because the format came from Microsoft. As we all know, Microsoft is notorious for its dubious and unfair business practices.

Concerns were raised over whether 3MF will become a proprietary Trojan horse for larger companies to monopolize and grind out competition or would it be released as open source? Would this open the door to DRM issues, resulting in 3MF derivatives that would be subject to lawsuits?

Fortunately, one of the design goals of the 3MF format says explicitly “Access to and implementation of the 3MF specification is and will always be free of royalties, patents and licensing”. Furthermore, Microsoft has made part of the code base available on GitHub. Anyone can contribute code to this repository.

You can also get free access to the 3D Printing SDK and 3MF 3D printer file format specifications anytime by contacting [email protected]

While 3MF has done many things right till now,  doubts still remain over patent details and source code rights backed by a consortium of conglomerates

Where to download 3MF readers, writers and validators?

You can access the code that reads STL/OBJ/3MF files and writes 3MF files on GitHub. In addition, a web service to validate and repair 3MF files is available here. You can find much more on this 3D printer file format in the official 3MF website.

Other file formats used in 3D printing

Almost all 3D file formats can be theoretically used for 3D printing
Almost all 3D file formats can be theoretically used for 3D printing
Almost all 3D file formats can be theoretically used for 3D printing

So far, we have talked about the STL, OBJ, AMF and 3MF formats. These are the most important 3D printer file formats.

But as we mentioned earlier, you can theoretically use any 3D file format for 3D printing. And people do use all kinds of formats. VRML, X3D, FBX, IGES, STEP, you name it. They have all been used for 3D printing at some point or another.

But these file formats are not really made for 3D printing. So while a fringe continues to use them, they will most likely never see any critical adoption.

Formats like VRML, X3D, and FBX are not designed for manufacturing: they have a lot of information on rendering effects such as lighting and fog but are missing true material properties and their implementations are often inconsistent.

CAD formats like IGES and STEP are far too complicated. They include higher order representations like NURBS, which is not really necessary for 3D printing applications. As the AMF and 3MF formats have shown, all you need is triangles. IGES and STEP are also convoluted specifications and writing consistent parsers for import and export support is not so easy.

This is why even though you will hear about people using these formats for 3D printing, all you really need to know is the big four: STL, OBJ, AMF, and 3MF. At least until another 3D printer file format comes out.

Which 3D printer file format should you use?

We have discussed four major 3D printer file formats with different capabilities and adoption. So which one should you choose?

It depends. Every 3D printing manufacturer and consumer has different needs and technical debt. But here is a general guideline:

Choose STL 3D printer file format if

  1. You want flexibility in terms of the software and hardware in your 3D printing pipeline. Almost any piece of software and hardware commonly used in 3D printing will support STL, so you will be able to use your favorite CAD programs, Slicers, and Repair tools without any problems.
  2. You want to be able to download plenty and plenty of ready-to-use 3D models.
  3. You require good documentation and support in case something goes really wrong.
  4. Your 3D printer has limited printing precision and is the precision bottleneck in your pipeline. So you don’t care too much about precise representations of your CAD model.

Choose OBJ 3D printer file format if

  1. You do multi-color 3D printing.
  2. You want plenty of ready-to-use models available online.
  3. You do high precision 3D printing where it is important to have a precise representation of your CAD model.

Choose AFM 3D printer file format if

  1. You want precision, multiple colors and multiple materials (including graded materials) all at once.

Choose 3MF 3D printer file format if

  1. You want plug and play 3D printing. You wonder why 3D printing is so complicated and you are frustrated that you can’t simply press print from the CAD interface to start printing.
  2. You want to avoid frustrations related to bad geometry, model repair, and print failures.

Conclusion

At this point in time, STL, OBJ, AMF, and 3MF seem to be the most important 3D printer file formats. They all have their own strengths, weaknesses and have varying levels of compatibility with 3D printing software and hardware. STL is the predominant format, OBJ is preferred for multicolor printing, while formats like AMF and 3MF are trying to provide a more capable STL for modern 3D printing.

For 3D printing consumers and manufacturers, it is imperative to know and understand the key differences between these formats. Don’t forget: the choice of format affects your toolchain, production efficiency and the quality of your prints.

We hope this article helped you learn a bit more about your file format choices. If you found this article useful, share it with other 3D printing enthusiasts and spread the word. Do you have some questions or remarks? Let us know in the comments below!

License: The text of „4 Most Common 3D Printer File Formats in 2019“ by All3DP is licensed under a Creative Commons Attribution 4.0 International License.

Subscribe to updates from All3DP

You are subscribed to updates from All3DP

Website: LINK

- Werbung -

Report

- Werbung -

What do you think?

Written by blogdottv

Schreibe einen Kommentar