Boolean difference encountered fatal error

Boolean difference encountered fatal error

yufanwu
Observer Observer
1,973 Views
6 Replies
Message 1 of 7

Boolean difference encountered fatal error

yufanwu
Observer
Observer

Hi all, 

I tried to do a boolean difference between the two files I attached: https://drive.google.com/drive/folders/1weCyobWeWMZ4IYkphndYJpZpRMxaIsbq?usp=sharing

 

I first created an offset of 0.2 mm on the true3.stl file to clear things off and then tried the boolean difference. However, meshmixer gave me a warning afterwards saying that "an unknown fatal error has occured", and parts of the resulting model has turned red. 

 

I tried a couple ways to trouble shoot, including remeshing on both models and extruding the true3.stl file instead of offsetting that. However, neither way worked. 

 

I'd appreciate any insights! 

 

Viola 

0 Likes
Accepted solutions (1)
1,974 Views
6 Replies
Replies (6)
Message 2 of 7

hfcandrew
Advisor
Advisor

Ya booleans are hard on big files. Fail all the time. Can you instead attach your .mix?

0 Likes
Message 3 of 7

yufanwu
Observer
Observer

Sure! Attached is my .mix file. Thank you for taking a look! 

 

0 Likes
Message 4 of 7

Anonymous
Not applicable

Your True object owns two surfaces where their normals point outwards for each. That's a no-go object. You might want to flip the normals of the inside shell to make True some kind of a tube or just use one of its shells?

Also: you might need to fill the open boundaries

Do you want to get Whole-True or True-Whole?

Eg: This is Whole-True(exterior):Ohne Titel.jpeg

 

0 Likes
Message 5 of 7

Anonymous
Not applicable

This is True-Whole(exterior):Ohne Titel.jpeg

0 Likes
Message 6 of 7

yufanwu
Observer
Observer

Hi, 

I wanted true - whole. I tried to use "offset" instead of "extrude" on true to get rid of the additional surface, and I also tried "edit - fill cracks" on both models. However I still encountered the fatal error warning. Could you help taking a look? Many thanks! 

0 Likes
Message 7 of 7

Anonymous
Not applicable
Accepted solution

So if you need only one of the two surfaces in True:

  1. Make True the active object
  2. Run EDIT/SeparateShells 
  3. Activate the shell you don't need and hit X to discard it

Now run ANALYSIS/Inspector on the remaining True object :

  1. Use default settings of Inspector and hit AutoRepairAll to fill the open ends

Now you've got two watertight objects which a boolean operation can handle (MM handles booleans on objects with open boundaries only if the open boundaries do not hit the intersection loop of the objects)

 

Activate True as the first and Whole as the second object and run BooleanDifference (default settings should work).

 

Now there might be still some defects at the boolean result (small red marker dots).

Run Analysis/Inspector > AutoRepairAll to fix it.