Issue: 3MF export has no controls for meshing and exports bad models compared to STL

Maker influencers such as Joseph Prusa are pushing 3MF files as opposed to STL, thus a friend of mine suggested i try sending him a 3MF instead of a STL… the issue is the model Rhino 6 exported is beyond crap and I’m not sure where the issue is…

the model to the right is a 3MF export the left it an STL export at default values (viewed from simplify3d but it looks the same in other slicers such as cura)

Then again, it seems to me that the 3MF export has no meshing controls?

These are the only settings i get with 3MF

with STL i have controls

and more controls

on 3MF export there is no options button although one is indicated in the help

Hello - I’d try meshing the objects (Mesh command) then exporting the mesh, if controlling the mesh accuracy/quality is what you’re after.


1 Like

But why does the STL export have mesching controls, and do a good job with it, wheras the 3MF seems to have no capability at all?

It’s because the 3mf format has the analog of Rhino’s instance reference/definitions and we write blocks out as those. So we use the render mesh of the instance definitions and the transformation of the references. If you have lots of blocks make your render mesh settings fine for the sake of export. It will make a nice file that is much smaller than meshing everything. If you don’t have blocks, or few, then Pascal’s method is good because the file will be roughly the same size and you don’t need to change your render settings.

1 Like

“If you have lots of blocks make your render mesh settings fine for the sake of export. It will make a nice file that is much smaller than meshing everything.”

Can you explain this further? what is a “block” and how would i know if i have a lot of them? Where are the render mesh settings? I don’t seem to any kind of mesch controls with my 3MF export (unlike STL which works fine)

Yeah I don’t get this “3MF” thing anyway. It’s still just a dumb mesh like STL, and they apparently can include the gcode, which is a terrible terrible idea for files to distribute(edit: no it’s just slicer settings…yay.) Do they include units? That would be nice. But the format actually has zero momentum in the industry outside of “maker influencers,” I just threw up in my mouth a bit.

LOL i agree… And for me I’m in a pickle because I teach students to use Rhino to build 3D models that they can print, And one of the biggest makers (and a open source one) Joseph Prusa is pushing it…

It seems to me the primary benefit is interoperability on the printer side of things

My issues are: Autodesk is involved (anti consumer business practices are common thing for them) and Microsoft is involved (who destroyed Java to protect their OS monopoly by polluting it with mandatory proprietary content). I take the cliam that 3MF is open source with a huge grain of salt.

That said as a social media active content creator and teacher of rhino/3d printing I’d like to have a better understanding of why this is not working other then my personal opinion that where microsoft/autodesk are behind it, bad things happen because they start from "assume windows/assume autodesk programs :wink:

Well it’s not giving you the settings in Rhino just because it uses the render mesh generated for display purposes, which…I guess no one’s complained about because no one actually uses it, or if you’re ‘hardcore’ into STLs you use the Mesh command to manually mesh before exporting anyway and won’t notice.

I guess Cura uses the 3mf for its project files…which is fine, whatever, it’s an okay format for a model with slicer settings, but the idea that will become the next STL is absurd. Quality 3D printing service bureaus will ask you for STEP files.

In the FDM / SLA world all of the slicers typically want a STL or OBJ… The push recently seemed to be for OBJ because it can work with multi color printing… this 3MF push seems to be a more recent thing

So yeah I have 15 3D printers in house and typically we generate a Gcode or SLA job from an STL… in house we generate fairly large STL files because we don’t care that much about size (surface finish matters more then portability) Rhino does an excellent job with STL’s other then needing minor netfab repairs on load with our SLA printers.

That said we are looking at selling files to be used by hobbyists / makers and the like thus being able to make files for cheaper FDM printers is a priority. if the standard shifts we’d need to be able to shift with it.

So I tried meshing with the slider to more then exporting an 3MF of the mesh object

  • the result exports better but
    the STL export at default settings is still looks way better

So the next question i had is if 3MF was just not able to save the proper geometry… The short answer is this is NOT a 3MF file limitation… I imported the 3mf export as well as the STL and saved it as a 3mf and opened it in a different slicer and the STL export object retains it’s geometry

Hello -
STL export uses a ‘distance from surface’ setting -if you use Mesh and ‘detailed controls’ and set that ‘Max distance edge to surface’ to be the same number (.01, I think) as the default stl number, then I’d think the results should be at least as accurate.


1 Like

Why could the 3MF exporter not use this obviously superior mesh tool for export as well?

right to left
Nurbs model
first mesh
meshed with Pascal’s max .01 (default in mesher is 0.0)
STL mesh

So if i hit detailed controls on the stl exporter…

and i mirror that to the mesher (left)

resulting 3MF is like the STL

So unless we can get Mcneel to change/improve the 3MF exporter (Please? with a cherry on top?)

the steps are to
select what you want to export,
mesh it with detailed controls
Density 0.0
Min angle 0
max aspect ratio 6.0
min edge length .0001
max edge length 0.0
max distance to edge of surface .01
max intial grid qaud 0.0
checks for refine mesh and pack texture

THEN i need to select the mesh result and export selected as 3MF

bibbity bobbity boo!

Hi -

To make new defaults for all objects in all new files, go to Document Properties > Mesh > Custom and set your preferences there. Save the file as your new template.

To change the render mesh for individual objects, select an object, and in the Properties panel, check Custom Mesh and hit the Adjust… button: