Boolean Union Weirdness

Next
 From:  RobertH
7127.1 
I needed to cap some cylinders with a dome (half sphere) and so was exploring different techniques to do so, and came across this boolean union strangeness, and want to understand what is going on.

To reproduce, create a cylinder with the length going UP along the z axis. Select the TOP edge. Select Revolve. Click one point on that edge and then another perpendicular to it on the same edge. This creates a sphere. Now union it with the cylinder to "dome" it, creating a single object. This "mostly" works correctly.

Do the same thing on the BOTTOM end of this cylinder. This mostly fails, though not always. Most times the bottom of the cylinder is removed, other times the dome is split, and at times it works. This also happens on the top cylinder, though less often. So what exactly is going on? Unioning two objects should "always" produce the same results, right?
  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:  Frenchy Pilou (PILOU)
7127.2 In reply to 7127.1 
Try to turn at the beginning the seams of your volumes before the Union
That is avoid some little segments when the seams are very nearest between them!
(here a Diff but that is the same :)
  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:  BurrMan
7127.3 In reply to 7127.2 
I dont think you want to revolve a full circle around itself...
  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
7127.4 In reply to 7127.1 
Hi Robert,

> So what exactly is going on?

Most likely you're getting different results at different times due to the specific places where you are placing your revolve axis - the points where you place the revolve axis will also determine where the pole and the "seam edge" of the sphere are located at, and booleans can be more sensitive when seam edges overlap over other edges in awkward ways.

Try to be more precise with the placement of the revolve axis putting the endpoints right on the quadrant points of the circle, that may help. Or also if you use Draw solid > Sphere rather than revolve for this case, that will orient the sphere differently from how you are doing it, with the sphere's "pole" point going vertically as well rather than overlapping right along the cylinder's bottom edge.


> Unioning two objects should "always" produce the same results, right?

Well, in theory yes but in practice part of the boolean process involves intersecting edges that collide into one another and so the specific arrangement of edges to other edges can have an impact and certain edge configurations especially if things are overlapping but not quite synchronized to each other very exactly can be more difficult for the merging process to handle.

- 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
7127.5 In reply to 7127.3 
@Burr,

> I dont think you want to revolve a full circle around itself...

It will be ok because revolve also internally trims the profile curve by the axis line and will only actually use the pieces on one side of the axis. That's so that cases like this can work ok rather than producing a self-intersecting surface as it otherwise would.

- 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
 From:  BurrMan
7127.6 In reply to 7127.5 
Thanks Michael. Good info.....
  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