Closed surfaces and boolean operation issue


#1

I’m trying to build a wing model for a mold milling. The mold for the wing will be milled from one block and finally should look like below.


I placed a model of the wing at the top of flat block and tried to make a Boolean Union.
As a result I get
“Boolean union failed.”
Both (wing and block) are closed surfaces and have no Naked Edges nor Non-Manifold Edges.
For a week now I have been trying to get it work but no success so far :tired_face:

But…
When I move block that it doesn’t reach a tip of the wing, then it is fine (look below)

If I move a blok that only left side is common with tip, Boolean Union works as well.

Same block moved 1 mm more to the left and Boolean Union doesn’t work.

What could be wrong?
Any support, advices are kindly welcome.


#2

Codi,
If you want us to help you need to upload your file on this.

Regards… Danny


#3

Oopps… of course file attached.
The wing was done with sweep over 2 rails from “thicker” profile to “thinner” one - close to the tip.
Then again from “thinner” to the end also by 2 rails guide.

Wing_Boolean_Issue.3dm (227.9 KB)

After tip separation I found out issue with tip itself…
Thicker tip is “boolean compatible”.

Wing_Boolean_Issue_tip.3dm (338.0 KB)


(Wim Dekeyser) #4

When Boolean operations fail, you can find out where / why by intersecting the objects. The resulting curve(s) should be closed in order for the Boolean to work.

In your example, Rhino finds 2 intersections - both a curve that goes around the entire wing and an extra curve that shouldn’t be there. You can delete that extra curve. The remaining curve should be closed but it isn’t. It has an overlapping part at the wing tip and you need to explode that curve and get rid of the smaller curve at the tip. You can then use the remaining curves to manually split / trim surfaces and join the resulting surfaces into a closed object.

Note that the intersection bug has been fixed in the WIP of Rhino 6.
Also note that you are running a -very- old version of Rhino 5.


#5

Thank you wim for advices.
I did (at least I think so) as adviced and as a result I got upper half of the wing (open polysurface) placed on the block (closed extrusion)


The point I faced is how to join both parts.

  • join - do not work with closed polysurfaces (my block)
  • converting open upper half of the wing to closed polysurface and run boolean union brings back:
    “Boolean union failed.”

What do I missing?

Thank you in advace for your support.
Wing_Boolean_Issue_V1.3dm (91.3 KB)


(Pascal Golay) #6

Hi Codi - I’d go back to surface tools at this point - a Boolean with coplanar faces will often work fine but this does not - instead, DupBorder on the wing and then use the curve to Split the top face of the box - delete the inner split face and Join the rest.

Wing_Boolean_Issue_V_PG1.3dm (126.2 KB)

-Pascal


#7

Hi pascal
Your way of solving problem works perfectly.
Thank you very much.
Regards,
Codi.