How to fix non-manifold polysurface?

I try to cut hole as below

But they are closed non-manifold polysurface

Need advice to fix it.


Posting the geometry would help people help you. Also please indicate which parts should be solid and which part(s) should be hole.

I want to make 4 holes as below

Attached file
box 100x100x100 rhino 6.3dm (343.5 KB)


OK that’s straightforward!

  1. Make the outer box as a solid.

  2. Make a smaller box and boolean difference it from the first box to get the outer walls.

  3. Make a solid cylinder.

  4. Select the outer walls and the cylinder and run _Nonmanifoldmerge. That gives you the solid you want.

Note that by definition this has non-manifold edges where the cylinder meets the box.

Hi @jeremy5
I follow your instruction.
It still non-manifold.
Detail in screencast below:

Do you have any idea about it?
try fix non-manifold v1.3dm (255.0 KB)


Yes it’s non-manifold, Jeremy just showed you how to make it a polysurface anyway.

To make this not non-manifold, you need to change the shape, the simplest thing is to make the cylinder or the wall thickness of the box bigger so that they don’t meet along a single edge at the quadrants.

You technically have 3 surfaces meeting along a single edge at those points, that’s non-manifold, it’s impossible to machine, so it’s considered “bad” geometry, but some FEA analysis uses such shapes so you’re allowed to make them with NonManifoldMerge.

Hi Jim,

Do you know whether the non-manifold edge would be accepted by a 3D printer? I wonder whether the thickness of the extrusion would create a material overlap, but I’ve no experience of 3D printing. Not suggesting this would be good engineering practice, just curious.


I think Jim has answered this better than I did, but if you have any more questions then feel free to ask.

Hi @jeremy5 and @JimCarruthers
I also thought about make one of them bigger then overlap each other. They will not be non-manifold.
However It may not perfect accurate.
I learn a course 3d print with Rhino in
She also said that should make one of them bigger then can boolean.

Developer created non-manifold notification, may they have purpose??


1 Like

This might print fine. Of course you could also try printing them without merging them together, the result may be very much the same.

I don’t really know what you expect to happen here, you’re asking to make an object that’s mathematically not a solid, it’s connected at those points by an infinitessimal line. If you don’t want to make the cylinder bigger, then add a fillet between the inner and outer shapes so that you’ll actually get some plastic connecting them.

A nice way to do this is to go back to your original corner curve:

and fillet it where marked, make the other curves the same, then use _WireCut to cut through the original box:

I’ve used quite large fillets so you can see the effect, you can make them smaller and less obvious.

Fillets have an engineering advantage over the sharp crease you get by making one element larger: they will handle stress in the material better.

Yes the notification is a helpful warning because you generally don’t want non-manifold edges. But sometimes they can be useful. And the only way you can make a completely closed void in a Rhino model is by using _NonManifoldMerge (and then some more steps).