3D Print Boolean Union fails

Next
 From:  DigiD (DVANR)
9325.1 
Greetings all

This fan duct is driving me a bit crazy , I cant figure out why two pieces will not union to the main part as expected .
I worked out how to fix it by offsetting the part by .01mm ( .001 doesn't work) but would like to know why or what is blocking the union operation .

Anyone with an idea or strategy to fix or avoid this ?

I did manage to print this but only after using Meshmixer as a brute force fix. Not ideal as it introduces weird noise artifacts in the surfaces.

My experience with MOI is at about Level 1 here , the duct is about the most complicated thing I have drawn so far and just about exploded my brain.
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
Next
 From:  Death
9325.2 In reply to 9325.1 
Highlight the top face of your model next to your part, select your part also, hit align (top). Select both parts again, hit Join. Now select model and part and do a Boolean Union, done.

Attached union-ed model...


See next post for correct file...

EDITED: 29 Mar 2019 by DEATH

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
Next
 From:  Michael Gibson
9325.3 In reply to 9325.1 
Hi DigiD, a quick first impression is that it's probably related to overlapping surface areas such as this area shown below. Those kinds of spots with surfaces just barely grazing over a common curved surface area can be more difficult for the booleans to process. I'll take a closer look a while later to see if I can give you some more specific advice.



- 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
Next
 From:  Death
9325.4 In reply to 9325.2 
Sorry, I accidentally attached your original, here's the union-ed one...

EDITED: 29 Mar 2019 by DEATH


  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
9325.5 In reply to 9325.1 
The other thing related to overlapping or nearly overlapping surfaces is the shallow curved areas here, booleans need to intersect objects and divide them cleanly into different sets and shallow intersections with zones that are nearly intersecting become difficult to get clean intersections at:



- 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
Next
 From:  Michael Gibson
9325.6 In reply to 9325.4 
@Death - your version seems to have the piece jiggled around a little bit:





- 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:  Death
9325.7 In reply to 9325.6 
Accidental, I am sure, I was in a hurry. Just move it back a tad...


I also forgot to move the curves back, since they do not pertain to the final union-ed object anyway.


Anyway, you're right the original geometry isn't quite perfect. But the whole thing would have an easy fix:

Take the other one that did work and rotate a copy of it in place, that way one doesn't have to waste tons of time to fix the broken one.
  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:  DigiD (DVANR)
9325.8 
Thank you both for responding so fast


@ Death
tried your method and couldn't get it to work. Thanks though for highlighting the Align tool and I will investigate it further . Somehow in your method you introduced a small offset to the piece . Its now shifted fractionally

@Michael
I added a note to the drawing highlighting a slightly bigger piece to fill in the shallow area as you pointed out. I kind of thought the same , that it didn't like the messy divot.
The full height piece doesn't work . But a .01mm offset bigger piece that I went half height with does ( it also works at full height).

  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:  Death
9325.9 In reply to 9325.8 
Well, in either case duplicating and rotating the working version is the quick and easy solution anyhow, that way you don't have to spend hours getting the non-working geometry to work, when you already have a working one. That would be the 2-action solution if you can't get it done the way I did it.
Quick and dirty... ;-)
  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
9325.10 In reply to 9325.1 
Hi DigiD, I took a closer look at your model and one thing that may be bad for the 3D printer is there is one little tiny squished degenerate surface in there, over here:



There's a face in there that's all squashed down and it's probably going to get a bunch of degenerate triangles in that area that slicers are not going to like very much.

Some other things that would help in general to increase quality would be to prefer using the Revolve command for building things like the torus, rather than doing a Sweep around a circle path. The reason for that is that Revolve makes 100% precise geometry while Sweep goes through a fitting process that refines the sweep with more points until it reaches a good enough tolerance level. The sweep method is not exactly "bad", it's within a good tolerance of an exact torus but revolve makes totally exact results for those things so that can just generally tighten things up. It's kind of particularly not so good to have sweeps that then have overlapping surface area, the surfaces will be just very barely skimming in and out of each other unlike a revolve.

Another thing that would be good would be to clean up spots where there are more than one face along the same plane, I mean where faces are coplanar it's better to have one large plane there rather than a bunch of divided up faces that are all coplanar.

Also try not to use Sweep to make planar shapes, that makes a generic surface that happens to be flat while Construct > Planar or Extrude or Revolve will make simplified analytic plane surfaces that can get specialized handling for intersections.


There is a little tiny gap between your small block and the main shape, this is one thing that may also be complicating the boolean:





So instead of having that block try and kind of skim along the circular area it would be better if it just pushed straight through it a bit.

Those are some general things that would probably help, I'll see if I can tune it up some for you.

- 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
9325.11 In reply to 9325.8 
Hi DigiD, I've attached a tuned up version here which should now boolean union ok.

So what I did was deleted that little degenerate face fragment and separated out and rejoined the surrounding faces to get rid of it. Then I went around and deleted faces from all areas that had multiple coplanar pieces and remade them into single larger planes by selecting the main piece and using Construct > Planar.

Then probably most significant I remade your boolean block to just push straight through a ways into the main body like this:


Rather than trying to hug right along the curve like this (and yours was just a very slight distance apart from the main body):


Also for the cutout on top of the block I made a deeper one so that it didn't overlap right on top of the surface on the main body but is instead a little below it, so that eliminates problems from skimming intersections in that spot too:



Hope those things make sense, let me know if you need more information on why that's better.

Also another thing is when you make the STL file try making one version using the "Divide larger than" setting (applied to all faces) something like this below, that will dice up any triangles longer than the distance you put in there and that can be better than having long skinny triangles that go across a significant length of the object.



- Michael

EDITED: 30 Mar 2019 by MICHAEL GIBSON


  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:  DigiD (DVANR)
9325.12 In reply to 9325.11 
Hi Michael

Thank you for the detailed tips and fix .

Studying your detailed commentary and there are now some more areas of MOI that I will be looking into.

Thanks also for the new STL strategies to try for Fan Duct version 4 .

Here is how version 3 the first successful prototype turned out . Bit rough ( your fix's and methods not used on this one) , but I expect the next one printed will have a better smoother finish using your recommendations. Should also benefit from the better fan cooling cooling like the finish on the new orange fan finger guards just printed
Image Attachments:
Size: 97.7 KB, Downloaded: 57 times, Dimensions: 555x507px
Size: 131.3 KB, Downloaded: 36 times, Dimensions: 807x605px
  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:  Michael Gibson
9325.13 In reply to 9325.12 
Hi DigiD, you're welcome and your print turned out quite well!

- 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
 

Reply to All Reply to All