Boolean union failure

Next
 From:  eric (ERICCLOUGH)
4287.1 
Hi Michael (or anyone)

Please see the attachment ...

The orange objects are 3 solid objects whose touching corners and faces actually appear to be touching but this group will not boolean union for me.

The white object of the same shape is a solid created by using the exact footprint of the other group ... drawing it with a closed curve, extruding it to the proper height and cutting it with a 3 segmented closed curve (using boolean difference) ... perfect.

The question is, why wouldn't my initial attempt work? I drew the boxes first then the joining solid that joins them and tried to get them to union ... no dice.

Then I remembered Michael saying over and over again ... the best way is to subtract what you don't want.

cheers,
eric

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
4287.2 In reply to 4287.1 
Hi eric, actually the Boolean union will work in this case if you do it in a couple of stages, like select just these 2 pieces here:



Then with just those 2 pieces selected, run Boolean union and it will successfully merge those together, then you can select that result and also the last piece and run Boolean union again to get the whole thing together.


Boolean Union internally works on pairs of objects at a time, and when you select all 3 pieces all at once, it happens in this case that it tries to do these 2 objects together at first:



And that's causing it to get confused because those pieces don't actually touch each other at all. Something in the boolean processing can tend to get confused in this situation. I think it should be possible in the future to try and fix this up so that it would work when selecting all 3 objects like you initially did - that is actually theoretically supposed to work and this is a pretty simple example so it may help me when I get a chance to dig into it to try and make an improvement.

Anyway, I hope that explanation of how when selecting 3 objects it is first trying to combine those outer 2 that don't touch each other that was running into the difficult area, and that you can work around this problem by selecting just 2 pieces at a time that touch each other it can help to avoid this problem for now.

- Michael

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
4287.3 In reply to 4287.1 
Also in order to help avoid this problem, if you've got one big object and a bunch of little pieces something more like this:



That will actually work with them all selected at once because the boolean union code sorts the objects by size and makes sure to start doing the processing with the largest one.

But that kind of sorting does not help for the kind of "stacked side by side" type thing like your case.

In the future I hope to be able to tune it up so that it is not sensitive to the order of processing at all though.

- Michael
Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
 From:  eric (ERICCLOUGH)
4287.4 In reply to 4287.3 
Thanks Michael ...

Great and clear explanation.

I spent some time trying to determine if one of the solids had a flaw in it ... I am relieved to know that was not the case.

Fortunately there is more than one way to skin a cat.

thanks,
eric
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All