Rhino Model Won't 3D print

Hey, I have this rhino model (attached) that I am trying to 3D print, but every time I try it says there are missing / extraneous surfaces. I created is by vectorising an image and then extruding the curves. There are no self inserting curves, all polysurfaces are closed, etc.
Anyone have any idea what the issue is?
Rhino 10 colour extrusion.3dm (14.6 MB)

What application are you using to set up the print?

Did you export *.stl or some other mesh file for the print software?

Using Ultimaker Cura 5.6 to set up the print. I exported *stl

Did you import the *.stl into Rhino again to check what you’ve exported?

Importing it back into rhino, it says pretty much every mesh is open w/ non-manifold edges

How do the meshes look once imported back into Rhino?

Have you tried Shrinkwrap in Rhino 8? It might help unifying the objects…

Meshes look normal, but seem to all be open / bad meshes
will try shrinkwrapping

1 Like

you’d be better off fixing the model- Shrinkwrap will make a super complex mesh out of this and it’s unnecessary. (but it will work, to be clear)

The problem is you are using extrusions, they mesh badly for stl-

use the convertextrusion command to convert them to polysurfaces check for open polysurfaces and then mesh.

check the mesh, then export it as stl again.

see comparison of the two types of geometry and how they mesh.

And yet another one of the thousand reasons to have UseExtrusions turned OFF by default. I have to say I really don’t get why this is still this way after all these years.

5 Likes

Funny this comes up today, Brian and I made a YT about this very issue last week for us to discuss in our next geometry meeting. The extrusion meshes are optimized for the display and should indeed be optimized in the Options > Mesh panel for render mesh creation, but when running the Mesh command we should be producing the same results the brep version would produce.

RH-84348

2 Likes

I never knew about this settings.

Out of curiosity is there a reason this is a setting in a command? Aren’t settings like this in the settings dialog? There don’t seem to be any other commands with “Use…”

I also wish the settings dialog had a search field, like in Unreal Engine. It doesn’t have quite so many options, but there are still a lot.

It actually is a bit strange the way you have settings in Rhino via commands:

You have somethign like GumballSettings that is a command line menu:
image

But then you have something like BlockEditSettings, which is it’s own window!?

And then you have something like that UseExtrusions, which is just a single setting as a command.

Would be nice if this was more consistent and for example all settings would be adjustable by command or all settings are in the settings dialog.

1 Like

The original idea behind an extrusion is that its an auto optimize situation where the user really shouldn’t have to know or care about them. They’re there only to improve display performance and making a bunch of options for them shouldn’t be necessary. For the most part this is true but we’ve exposed a few areas where we need to improve how they get used down stream in other operations like the one I’ve mentioned above.

1 Like

Uups, just kind of answered my own question here. In Rhino Options > Advanced, you can see all the settings and search for them:

Still I think in terms of UX, all these settings could be improved a lot.

Each command and or panel within the application has the ability to store its setting values to a dictionary we call PersistentSettings where they can be recalled later.

When you visit the Advanced panel what you’re browsing through is that giant dictionary in raw form. You’re much better off visiting the command you’d like to set options for and set its options there for a better UI experience.

1 Like

Note the setting is here:

1 Like

Well, I’m sorry to say that argument just doesn’t hold water. It’s the same tired logic we’ve been hearing since extrusions got introduced like 20-ish years ago in - V3? V4? The “display optimizations” that they bring may have been helpful back then, but now???

I made a test - 27,000 10x10 cylinders, first as an extrusion, and then in a new file as polysurfaces (boxes would have been too simple). Jagged and faster meshing in both.
Certainly the file size with the polysurfaces is bigger - 545Mb as opposed to 367Mb here. How much do the meshes contribute? The extracted rendermeshes from the extrusions are 351Mb, the ones from the polysurfaces are 396Mb. Not all that much difference.

TestMaxSpeed on the 27K extrusions is 1.9 sec here
TestMaxSpeed on the 27K polysurfaces is 2.1 sec

A slight difference - about 10%. Not a lot of reasoning to make them on by default. And who works with 27,000 objects that are pure, unmodified extrusions? As soon as you modify them in the slightest, they become polysurfaces anyway!

In all the time extrusion objects have existed, I have never seen a real, non theoretical use case posted where extrusions were proved to have a distinct advantage. Even if there was one or two, it still would represent a microscopic fraction of how Rhino gets used. For those advanced users who might possibly need extrusions for some reason, there is always the option to turn them on and they will know why and how. On the other hand, beginner/intermediate users are completely mystified by them and their existence when they start modeling.

Try to explain to a group of beginners what an extrusion is and why they might remotely be useful to them some time in later life. All you will get is blank looks. The first thing I generally do in my classes is have people TURN THEM OFF!

All you will be doing by optimizing the “downstream” meshing of extrusions is continuing to perpetrate the myth that they are actually useful to most people rather than fixing the problem by turning them off by default and admitting that “yeah, it seemed like a good idea at the time, but these days it really doesn’t matter all that much and confuses users more than it actually helps them”.

4 Likes

Pardon my ignorance, but is this discussion relating to modeling using “extrude”, to create extrusion geometry, or is this some buried setting relating to display?

I model and extrude lots of objects which in the past have converted to .stl and 3d printed fine. I don’t remember any of my models done in Rhino outputting .stl files that were not watertight? As I get back into Rhino and 3d printing, this seems a subject I should follow.

I love extrusions. I work with large space truss models, and without extrusions, I wouldn’t be able to work with some of the models. Performance-wise, it really is night and day for me. I even have some simple Grasshopper files to convert polysurfaces to extrusions.

Plus, I need to access my files from the server, so file size is a big advantage for me too.

1 Like

I’m not advocating eliminating extrusions, just turning them off by default. For advanced users of them like yourself, you will know to turn them on.

The user shouldn’t need to know or care. This sounds like some bugs need to be fixed no matter what the default setting is defined as.

1 Like