Boolean difference failed, trying to insert a void for injection molding

I have a collar that will have three ‘ears’ (eventually. The collar and era are fine, but when trying to insert a void to enable a better molded product I can’t get Boolean difference to subtract the void from the ear. In the attached model, I have pulled the ear off by .25" to ensure that the collar wasn’t causing the problem. I didn’t help. Then I moved to void down .015625" to see if coincident faces were the problem. Again no help. GSP-Collar-IM-3A.3dm (224.7 KB)

I keep having little problems that you folks are kind enough to help me with. I would like to thank you for aiding this 70 year old novice.


Join the 4 surfaces that make up the void:

Then run the Cap command on the resulting open polysurface.
Then proceed with the boolean difference.

Note that the boolean commands don’t really care about objects being closed or not (they only care about closed intersection curves) so you could leave out the capping part. It is possible that the normals of the open object point the ‘wrong’ direction (i.e. to the inside), though, and that the result is not what you would expect.
In this picture, using the Dir command shows that the normals point to the inside of the void object.

Running boolean difference on this one results in this object:

If you run the Flip command on the open void before booleaning, the normals will point out and the difference will be like you want.


Thank you very much! How does this look?

I tried your suggestions and learned that there was something amiss with my dwg. I redid it and inserted the new one. Extruded it checked the Dir (the arrows pointed it out. Moved it into position and ran Boolean Difference. It worked. Again thanks for the education. Modeling in 3D isn’t really suited to impatient engineers like me, but I’m learning.:slight_smile:

Keep up the good work and just ask if you get stuck!

Thanks, but I must be jinxed. As soon as I get difference to work union fails! Looks good in shaded perspective view. Normals all point out. I’m able to obtain the volume of both solids which means that they are closed. After all of those checks Union still fails. I need to get one to work before I array the ear to get 3 at 120 degrees. I’ve had this work in the past without difficulty. I had to change several minor dimensions. Have I mentioned that the tolerances of acrylic tube are GSP-Collar-IM-3A.3dm (208.7 KB)

I suspect that I may have found the problem. The Collar and the Ear are exactly the same height. I suspect that if I move the ear down a "silly little millimeter that it will work. The problem will be that the bottom of the ear will then be below the part line thus screwing up the mold. I’ll try it and if it works then I will try and figure out how to trim a millimeter off of the top. Wish me luck.

I trimmed .01" off of the top of the Ear, arrayed it and tried the union. It looks like it worked, but Rhino said that it failed. I give up for today.

GSP-Collar-IM-3B.3dm (450.6 KB)

You hadn’t mentioned that, no :wink:

I took another look at that model - now at the collar.
When I see something like this (in a modified shaded display mode):

… I know that something is wrong because I should be able to see black curves on the fillets as well.

Do you have your CreaseSplitting set to Yes? If it is set to No Rhino will create single surfaces with creases and booleans have problems with that.

To fix your geometry, run the DivideAlongCreases command with SplitAtTangents=Yes.

The collar will then look like this:

After that, the boolean union will work. - Also with the ear at the same elevation as the top of the collar.



Run MergeAllFaces on the result to get this:

1 Like