The attached file contains a 1/8" angle stock cut at each end. 4 holes need to be cut next but when I go to Boolean Difference the extruded circle it does a Boolean Union instead. So, I don’t get a hole I get two protrusions from my angle stock. All Boolean commands are Boolean Union. Hopefully you all can recreate the issue from the file. Just load and select the biggest object and select Boolean Difference and then select the extruded circle and see what happens for you.part-g47-rv220.127.116.11dm(139.9 KB)
When Boolean operations do the opposite of what you expect, it is almost always that you have one or more parts that you think are closed but are not. These open parts might have their normals facing inwards - with closed objects they always face outwards. As Rhino uses the normal direction to determine how to create the Boolean, and assumes all parts are closed, the operation gets done “backwards”…
In this case it is your angle part that is not closed. Turn on naked edges to see. You can fix those so the object is closed; then the Boolean op will work correctly. If you use Flip on the object you can flip the normals to the outside, then the Boolean operation will work even if the object is not closed.
By the way, it looks like you trimmed off the ends of the angle with the curves and then used Patch to cap the open ends - I would not do that, you will not get a good clean surface and it is the probable cause of the part being open. I would just Extrude the curves to make a surface to cut the angle part with then use something like BooleanSplit to split the angle part with the surfaces and throw away the unwanted parts. You could also use Wirecut (direction=Normal) to cut the angle part directly with the curves and keep the object solid.
Ah! Fitting it would be “pilot error” on a fitting for an airplane! Cap wouldn’t close the top and bottom which is why I tried patch and then joined them. I was trying the trim with a curve instead of the boolean. I was thinking it would be easier and its not, so like you said, extrude and boolean!
Thank you for you time and energy in answering! I do need to learn the naked edges and analysis tools better…
I did a video on boolean trouble-shooting for my Lynda.com course and it’s one of the free ones!
If the link fails, go to Lynda.com, search for Rhino 4, then play the video in Chapter 7 “Troubleshooting solids and Booleans”
FYI : The Rhino 5 course is coming soon.
When in doubt search the forums. Thanks, this just helped me 6 months later after you posted.
And now, the new and improved Rhino 5 video is online!
I am still open for feedback… should anyone care to comment. You’d be the first.
This discussion hits on a couple of issues I’m having. The first is the problem of surface normals being inside out and the problems I think it’s causing with the boolean subtraction and make hole commands. When done I get either a union instead or an extruded cylinder.
The second is the possible issue of using cap planar holes to finsih off joining surfaces into a solid - the same solid that’s misbehaving.
I was able to finally get a hole by using the boolean two objects command. But before that b
ID: 58cb7df5-8fcd-4a6a-b147-ec78f638570d (1582)
Layer name: MIrror Box::Surf
source = from layer
index = -1
Closed nonmanifold polysurface with 426 surfaces.
One or more surface normals are not oriented.
18 boundary edges
9 seam edges
1104 manifold edges
3 nonmanifold edges
= 1134 total edges
Edge Tolerances: 0.000 to 0.783
median = 0.000 average = 0.007
Vertex Tolerances: 0.000 to 0.783
median = 0.000 average = 0.007
Render mesh: 426 quality meshes 16674 vertices 15248 polygons
Analysis mesh: none present
UserData ID: 3B7FB506-437C-431e-B1D7-93C4CBFF417F
description: Gumball grip frame
saved in file: yes
copy count: 1
BooleanTrick.3dm (4.0 MB)https://aws1.discourse-cdn.com/mcneel/uploads/default/original/3X/1/1/1104dc346465c742aa0e4ea1057a70fae9743f37.mp4
Do you have a specific question about this model?
Is that in a state where you have both used a
boolean operation and used
cap planar holes?
That is not a closed object and the border(s) do not form a closed polycurve so trying these on this object will not yield expected results.
This free lynda video may be very helpful in understanding Boolean problems and fixes.