The 3MF Conundrum: How Current Software Falls Short in 3D Print File Compatibility

By on December 26th, 2023 in Ideas, news

Tags: , , , ,

There are issues when using 3MF file format [Source: Fabbaloo / D3]

I think there could be a problem with 3MF, or at least how software makes use of it.

What’s 3MF? It’s the new file format slowly taking over the 3D print world from the prehistoric STL format used to represent 3D models.

The problem with STL was that it only represented the geometry of the object by describing a “skin” of triangles on the exterior. Unfortunately, that’s all it does — it does not, for example, even indicate the scale of the object. Measurements are simply “six”, not “six millimeters”.

And that’s just the start. There are countless other issues, most of which are fixed by 3MF.

One of the biggest issues was lack of other information pertaining to the model, like how it was to be printed, what parameters were used, the colors of each segment, etc. 3MF does a great job incorporating a vast amount of additional information that makes it easy to coordinate jobs, particularly if re-running them.

However, I seem to have encountered a problem when using 3MF that is quite annoying.

Recently I’ve been testing several models of 3D printer from Bambu Labs. These systems are tied quite strongly to the company’s 3D model repository, MakerWorld. Their app and desktop software both allow easy import of 3D models from MakerWorld. Because of that I’ve been doing this often during my testing.

Then trouble begins.

I’ll attempt to print a model and it fails miserably. There’s nothing wrong with the hardware, but in every failed job I will find something wrong with the print settings. I’ll review the settings for the job and tweak things until I get it working.

This would seem to be a normal thing to do when 3D printing, but there just seemed to be a lot more of this occurring when using imported 3MF files. Then I realized what was happening: many of the 3MF files stored on MakerWorld include not only the 3D model, but a bunch of other information required to print the job.

Unfortunately this other information is frequently intended for a different 3D printer model than the one I want to use. But the act of importing the 3MF file changes multiple settings in the slicing software. Eventually after trial and error importing 3MF files into BambuStudio I realized I had better make sure the following items are always lined up:

  • Printer selection
  • Nozzle selection
  • Plate type
  • Print profile selection
  • Filament collection
  • Filament selection for object
  • Filaments mounted on the machine

This is a short but tedious process, particularly because many of these things have similar names: “0.2mm nozzle” at first glance looks very similar to “0.2mm layers”. But they are utterly different.

An example failure I had was that prints were not sticking to the plate. After several tweaks I realized that somehow a previous 3MF imported file had set the plate type on BambuStudio to “Cool plate”, which has a temperature setting of only 35C. It’s no wonder my prints didn’t stick!

I am constantly running into these issues because people are uploading 3D models to online repositories in 3MF format that include configurations for equipment or materials I don’t have or want to use. Yet I would like to use the 3D model on my own configuration, which is buried in the 3MF file.

This is particularly challenging when multimaterial jobs are submitted, as you have to very tediously take apart the color scheme and reconstruct it for your own configuration.

This is all very non-optimal, and has caused me plenty of print failures.

Sure, it’s my own fault for not paying enough attention to the details.

But why should I have to do that? Isn’t the point of 3MF to make life easier and more consistent? It seems to be easier ONLY if the entire configuration is the same, and that is absolutely not the case for the online 3D model repository scenario.

While I continue to believe that 3MF is a good format, I now believe that the software tools — and especially the online repositories — that make use of 3MF are missing something important.

Unless a 3D model file provides a different 3MF version for each and every possible device and material configuration, an impossible task, 3D printer operators are going to encounter problems.

This is particularly problematic when we realize that systems like MakerWorld, Printables and others seem to have a goal to make life easier for those new to 3D printing.

I can say that the way 3MF files are being used today does not make it easier. In fact, it makes it much more difficult. I’ve been using all kinds of 3D printers and associated software for years, and I’m frequently making mistakes. I cannot imagine the total confusion encountered by those new to 3D printing in this environment.

What should happen? I believe that software tools should recognize that there can be stark differences between the configuration intended by a 3MF file and the active configuration the operator intends to use. These differences should be detected, highlighted and guide the operator through a proper resolution. In many cases of imported 3MF files, the software might simply extract the 3D model only if the configuration is sufficiently different.

That does not happen today, and I am certain many people are having the same issues I’m having.

I’m not certain what the solution to this conundrum should look like, but it’s now very clear that 3MF, although it provides the necessary information, must also be accompanied by suitably smart slicing software.

By Kerry Stevenson

Kerry Stevenson, aka "General Fabb" has written over 8,000 stories on 3D printing at Fabbaloo since he launched the venture in 2007, with an intention to promote and grow the incredible technology of 3D printing across the world. So far, it seems to be working!

Leave a comment