Mesh Boolean Difference doesnt work!?


Hello folks, im new to Rhino and 3D but so far its pretty intuitive.

i made a 3d model which i want to print later on. i extruded a path on the z-axis and transformed the objects into mesh. than i removed 63 similiar vent openings via the boolean mesh difference tool. It worked perfectly although i had to do it in parts (a memory limit thing i guess). But suddenly i was surprised because it wouldnt remove the last part from my model ( which u can find here).

Any help is very much appreciated.



It would probably be better to remove the vents before meshing the model - in Rhino you want to keep the model in NURBS as long as possible and only transform it into mesh for export if possible.

Also, to see what went wrong, it would be better to have the Rhino file, not the STL…



Hi Mitch,
as stated before im a 3d-Newcomer. I just made the mesh because i know its needed for 3d printing.
I uploaded the rhinofile [here][1]

Would be nice if u could have a look and explain my errors.



My initial comment was not intended as criticism, just advice…

In looking at your Rhino file, although the intersections between the bowl object and the objects to subtract are good, the objects to subtract have funky self-intersecting surfaces - maybe made by Revolve? - I don’t see the construction curves for those. That is most likely what’s causing the problem.

I remade the vent subtractors - just guessing at what you want, sorta, they could be made a number of different ways - as a cleaner polysurface without self intersections, you can try to subtract them from the bowl yourself and see… (takes about 30 sec here)

Once that’s done, mesh and export, or just use Export>STL directly, the exporter will do the meshing for you. The STL I exported here looks good and closed.

HTH, --Mitch

mp.boden-msh.3dm (2.2 MB)


Wow, Mitch ur great!
To form the object i used ‘extrude along 2 curves’, tried other methods too but for me as a beginner the outcome was good enough. Could you tell me how you remade the objects? So i can learn form this and use a proper method in the future?
Im pretty fluent with 2D-Software so i probably start most of the time with a polyline. What would be a next step to form my object?

I really didnt took it as criticism :wink:
Thank you very much for your help!
~ Niksda

BTW: Love your Layernames =)


Well, the method I used to construct the object is perhaps a bit difficult, but the following should be easy enough to follow:

  1. I created two profiles - trying to follow a bit the design intent of your original object. I assumed you didn’t want the circular “foot” that happened with the original bad object, but if you do, that could be added as a separate piece. The two profiles were created from lines and curves made with BlendCrv, but they could also be made differently - with simple fillet radii for example, or free-form curves. The important part is that all the joints are tangent, and that the piece is symmetric (I mirrored half across the X Axis)

  2. I created a “rail” curve that approximated the outer shape. This is just a free-form curve with some special care to keep the lower end vertical and the upper end horizontal. It should meet the profile curves perfectly.

  3. I tried Sweep 1 Rail with the two profiles and the rail, but there was a problem (I suspect Rhino bug) so I used NetworkSrf instead which worked OK.

  4. I then made two planar surfaces for the end caps (using the connector line and the surface edges) and joined the 3 surfaces together into a closed solid volume.

  5. The rest you know, ArrayPolar and BooleanDifference.

There are lots of other ways to do the vent piece, for example with a boxy shape first and FilletEdge to make the rounds…


BuildVent.3dm (660.8 KB)