Notifications
Clear all

Questions about 3mf files  

  RSS
sberesfo
(@sberesfo)
Active Member
Questions about 3mf files

I started reading some articles about 3mf files and it sounded very interesting. I quickly opened our CAD software and was happy to find that I can export a 3mf just as easy as we can a stl file. There are a couple things I am confused about and a couple technical issues as well.

1. When we export an STL we are prompted to define the "mesh parameters". Please see attachment. When exporting a 3mf we are not prompted for this. Honestly, I am not sure what mesh parameters even does but I am very curious if someone can set me straight.

2. I created a simple object and exported the 3mf. Then I imported it to PrusaSlicer 2.2.0 and several strange things happens: a) the object does not center on the build plate like it does when we import a stl. b) it opens 2 instances of the same file, and c) it gives the file a different name than the actual name of the 3mf file.

3. Lastly. If one of the benefits of 3mf files is that it stores filament and temperature details for example. The file coming from our CAD software is not going to contain this information obviously because the file has not been sliced yet.

I am wondering if we will still need to continue exporting stl files from the CAD software and then creating the 3mf within prusaslicer. This seems too complicated but I am pretty sure that I am not fully up to speed on making the switch from stl to 3mf.  

Looking forward to some assistance and thank you in advance.

 

Posted : 07/10/2021 1:38 am
cwbullet
(@cwbullet)
Member
3MF vs STL

3MF includes printer and slicing settings.  I would recommend retaining stl files in case you switch to use more than one printer.  

--------------------
Chuck H
3D Printer Review Blog

Posted : 07/10/2021 1:52 am
Lichtjaeger
(@lichtjaeger)
Noble Member

Posted : 07/10/2021 5:51 am
Neophyl
(@neophyl)
Illustrious Member

There is some relevant information in this thread https://forum.prusa3d.com/forum/prusaslicer/3mf-file-import-bug/

Basically an stl just contains vertices data (data about the points and eges of the triangles that make up a model) and all the points are just in relation to each other.  £mf files contain equivalent data but the positions of the individual points are referenced to your CAD software home/zero position.  So when you load a 3mf part in 2.3.x that was placed 200mm over it also gets placed 200mm over in slicer.  There are a few caveats to that which are covered in that thread link I posted.

The thing is that the 2.4 alphas (at least as of 2) are now treating imported 3mf files the same way and shifting all the points over to be relative.  This means stuff gets placed just like an stl now.

To try and answer some of your questions 1- Mesh Parameters.  Lots of CAD software can define a curved surface in various ways.  Its mathematical definition and adjusting things can adjust your curve. The CAD generates these in various ways (depending on the software). When you save as an stl it has to convert all the areas of your model to triangles.  These triangle approximate the curved surface.  The more triangles used the denser the mesh and the more accurate the curve will be to the original model.  However the more triangles you use the more the size of the stl goes up.  Massively in some cases.  The trick is to choose enough resolution that the finished print still looks smooth but not more than is needed.  You see some models with very high poly mesh counts that for an fdm printer are overkill.  The printer just cant print to that resolution.  A resin printer can make use of the extra definition though.  You also see the reverse where someones model on the usual sites has a cylinder which has 12 sides because they didn't export with a high enough definition.  These large poly count models use lots of memory and can cause your computer to go really slow or even crash.
One of the other things added to the 2.4 alphas is a simplify mesh tool to allow you to make huge meshes simpler before slicing.

2- The name of the objects when loaded as a 3mf are the name of the objects as they are named in the CAD environment.  After all you are loading a project that contains objects names box1, box2, box3 etc.  If you want parts to be named differently then name the individual parts in your cad design with proper names.  Personally I think thats how it should work, however due to issues raised on the PS  github that's another change in the 2.4 alphas to load in the name from the project rather than the objects.

3 - 3mf defines the organisation of the file, not the contents of whats stored there.  As its use seems to be evolving Im sure we will see more changes and there are bound to be various issues as all the different software developers all use it in slightly different ways.

It is going to make things slightly more difficult for us here on the forum though.  As we used to just ask for a users saved 3mf file when they need help.  Now we will have to make it clear that we want the Prusa Slicer saved project 3mf as that will contain their slicer settings as well as the model while the CAD 3mf wont.

Posted : 07/10/2021 6:36 am
cwbullet
(@cwbullet)
Member
Assumption

I might be wrong so please correct me.  I have never tried it, but I assume that once it is in 3MF format, that it has to be converted back to STL to uploaded in CAD software if you want to edit it again.  

--------------------
Chuck H
3D Printer Review Blog

Posted : 07/10/2021 9:51 am
Lichtjaeger
(@lichtjaeger)
Noble Member
Fusion has 3MF support
Posted by: @cwbullet

I might be wrong so please correct me.  I have never tried it, but I assume that once it is in 3MF format, that it has to be converted back to STL to uploaded in CAD software if you want to edit it again.  

Most CAD programs can't work with STLs too. In the case of Fusion360, it supports 3MFs as well as STLs but can use the unit system, scales and positioning from 3MF files.

Posted : 07/10/2021 9:55 am
cwbullet
(@cwbullet)
Member
STL files

I am not sure about most will not import STL files.  All that I use will import STL files.  Free Cad, FUsion 360, Blender, Opencad, and tinker cad will all import STL files.  

Posted by: @lichtjaeger
Posted by: @cwbullet

I might be wrong so please correct me.  I have never tried it, but I assume that once it is in 3MF format, that it has to be converted back to STL to uploaded in CAD software if you want to edit it again.  

Most CAD programs can't work with STLs too. In the case of Fusion360, it supports 3MFs as well as STLs but can use the unit system, scales and positioning from 3MF files.

 

--------------------
Chuck H
3D Printer Review Blog

Posted : 07/10/2021 9:59 am
Lichtjaeger
(@lichtjaeger)
Noble Member
Blender is no CAD

... but it has 3MF support too.

Posted : 07/10/2021 10:01 am
cwbullet
(@cwbullet)
Member
Uload

 

Posted by: @lichtjaeger

... but it has 3MF support too.

Understood, and many support STL input.  But, my rationale for keeping STL files does not make sense.  They are useful to upload.  

--------------------
Chuck H
3D Printer Review Blog

Posted : 07/10/2021 10:04 am
fuchsr
(@fuchsr)
Famed Member

3mf defines the organisation of the file, not the contents of whats stored there. 

That's an important point. For example, Prusaslicer will store information about support modifiers in its 3mf files, and it knows what to do with that information once you reload the 3mf. However, last time I checked — and I admit it's been quite a while — Cura would load the Prusaslicer 3mf just fine but then display the support modifiers as parts of the model. From that, I would conclude that there are advantages to 3mf (e.g., guaranteed manifold structures) but interoperability doesn't seem to be one of them. I keep my designs in their original design format, e.g., f3d or scad, as STLs, and in their respective Prusaslicer 3mf project. 

Posted : 07/10/2021 11:27 am
towlerg
(@towlerg)
Noble Member
preferred replacement for .STL

What is the preferred replacement for .STL?

Posted : 07/10/2021 11:39 am
cwbullet
(@cwbullet)
Member
Good article

This is a good article.  I actually had to research it this morning after posting above and stood correct on 3MF files.    

https://all3dp.com/2/3d-file-format-3d-model-types/

I never really thought about it.  STL is the standard, but OBJ, AMF, and 3MF are increasing but are still distant in numbers.  I do nto have any stats, but when I download a file from Thingiverse and Prusa, they are almost are always STL files.  

--------------------
Chuck H
3D Printer Review Blog

Posted : 07/10/2021 12:53 pm
bobstro
(@bobstro)
Illustrious Member
Prusa video & blog posts show their line of thinking

Prusa posted a good YouTube video on this topic. It expands on this blog post. Uptake on 3MF hasn't exactly made STL obsolete, but given the number of support questions we get here that can only be fully answered by seeing both the part and settings, I wish it was more widely used.

My notes and disclaimers on 3D printing

and miscellaneous other tech projects
He is intelligent, but not experienced. His pattern indicates two dimensional thinking. -- Spock in Star Trek: The Wrath of Khan

Posted : 07/10/2021 2:19 pm
sberesfo
(@sberesfo)
Active Member
Topic starter answered:
3mf file update

Thanks everyone for contributing. Thank you @neophyl for the information on the mesh parameters. So I added a check mark to configuration/preferences/auto-center parts and this puts my test.3mf file in the center of the build plate (at least one instance of it).  I also added the test.3mf as an attachment to see if anyone else opens it in PS and gets two instances. I also figured out where PS is getting the name for the object when it is imported.

Regarding the mesh parameters, how are they defined when exporting as a 3mf? Maybe it is not that important that the parameters be customized? Maybe I am still a bit confused.

Based on everyone's input, it still appears to me that eliminating stl and using only 3mf is not as easy or as clear cut as it first appeared. For every project, I currently have a CAD file, an stl, and a gcode file. Adding another file to this list only makes things more complicated, not less.

Posted : 07/10/2021 7:58 pm
fuchsr
(@fuchsr)
Famed Member

Here's how I'm thinking about file formats:

First, there's the model. The CAD files define how the model was designed. I need them, in case I want to go back and make changes. Actually, I just keep Fusion 360 designs in their cloud. 

The STL file is the outcome of the design process and defines the actual model. At least at this point, it's the most universal exchange format, so I keep copies and use them for uploads to prusaprinter.org etc. 

Next comes the actual production process. Here, I keep the 3MF files because they define the parameters I used to create the best possible print. I can always go back and make changes, update profiles, reslice for a different printer or filament type, and so on. In many ways, this is the most important file for me because it encapsulates everything about the final product. Sometimes it's important for a successful print to stick with specific parameters, or the model needs specific support enforcers. In those cases I upload the 3mf file. But I also always upload the STL. As I said in my previous post, in my hands, other slicers didn't handle the support mesh information from Prusaslicer's 3MF files correctly, so folks that don't use Prusaslicer can still use the STL instead.

I don't keep GCODE files unless it's a model I print in larger numbers, e.g., for stuff I have on Etsy. For everything else I use the 3MF files. I often tweak profiles or startup gcode, and with the GCODE files I never know at what version they are.  I also frequently jump between Mk3S and Mini, so I don't need to keep two GCODE versions, just the 3MF and change printer profile as needed. It's good to have a proven GCODE file for mass production, for everything else I simply reslice if I want to print the model again. 

Posted : 07/10/2021 8:43 pm
Neophyl
(@neophyl)
Illustrious Member

My process is pretty much identical to Fuchsr, except I use Blender instead of F360. I always save a project file inPrusa Slicer as I can always generate the gcode as needed from that. 

Posted : 07/10/2021 9:10 pm
BogdanH
(@bogdanh)
Honorable Member

I think fuchsr made very good summary!

If you create 3D objects (FreeCAD, Blender, Fusion360, etc.) then always keep backup of creation file (*.FCStd, *.blend, etc.) because that way you can easy modify previously created object -especially if it's an important one. When I create some 3D object, I also save it as STL -just for the case I wish to print it quickly (without opening CAD program first).
Ok, if STL is only what we have, then we keep it as our "archive" file. By using most CAD software, we can make basic editing on STL object. It really depends on complexity of the object and on what we wish to accomplish.. anyway, small modifications can be made easy enough.
About the rest: agree fully with fuchsr about 3mf and Gcode files.

[Mini+] [MK3S+BEAR]

Posted : 07/10/2021 10:35 pm
Area51
(@area51)
Member

I can agree on the saved files in the workflow from CAD (design) to print. Before PrusaSlicer added support for .3MF I used to save the generated GCode file, but not anymore. GCode files are only useful for me, when printing more parts in a short time, they tend to get out of date quickly.

Have a look at my models on Printables.com 😉

Posted : 08/10/2021 12:05 am
Share: