Boolean Union Oddity

In the attached file I have a polysrf created using REVOLVE.

I was trying to add radial extensions to the surface at 22.5 degree increaments. I created on such extension then used ROTATE to copy.

BooleanUnion on all failed.

BooleanUnion one-by-one gave the pattern that those a 0, 90, 180, and 270 degrees failed why the rest succeeded. Those give some Intersection issues.

Why would that problem no occur at the other locations?

Problem Union 6.3dm.zip (404.3 KB)

Hi Miano,

see if the attached video and file helps. Thing is that the intersections between the two is not unambiguous:

Manually trimming in this case helps.

After trimming I cleaned up the part a bit, merging coplanar faces and cylinders. Part of that was done with xmerge (by @spb) and extracting the top faces, then cap. (For some reason the faces are not coplanar enough for both the boolean and the MergeAllCoplanarFaces to work, which I did not dig further into)


union_repaired.3dm (729.6 KB)

i should have mentioned the simple solution to is issue which let to posing the question: rotate the revolution object 11.25 degrees. Then all of them will add.

It’s probably a subtle tolerance issue in that case.

Yeah, the narrow faces are .02 wide - tolerance is ~.001 - that is getting pretty close - at .0001, the BU works. My guess is the knots at the quads of the revolved surfaces falling on the BU is making it un happy - the BU also works at .001 if the top face of the revolve is replaced with a planar surface. (ExtractSrf, Delete, Cap)

-Pascal

Observation:

I am doing a lot of work with REVOLVE and am noticing that I tend to get a lot of errors unless I rotate the each revolution some random amount in different directions.

I am also getting a lot of bad surfaces (in polysurfaces) from boolean operations. The odd thing is that I am creating a lot of symmetrical parts. One polysurface is bad while its mirror across the X axis completes with no error (MirrorCopy solution). Another polysurface is bad while the one 22.5 degrees off is find (delete and Rotate).

Problem Rotation.3dm.zip (163.8 KB)

Here is an illustration. Here are two groups of three polysrfs. I made one then rotated to create the other.

I get different results on a boolean union of each group.

Well, once again, you are dealing with coinicident or nearly coincient faces. That is a known, and previously pointed out, limitation in Boolean operations.

-Pascal

But why would the results be different depending upon the rotation of the part?

I add, that when dealing with concentric constructs, it get extremely difficult to avoid coincident faces. I have a mixture of radial and concentric and the radial structures are easier to adjust to avoid the issue and cause much fewer problems.