The attached file illustrates my struggle with a boolean union from an old file that I never got working right but return to for education.

Problem Union.3dm 2.zip (1.9 MB)

At the very bottom, I have two closed polysrfs that I am trying to union. It appears to me the smallest detail is 0.009" and the tolerance is 0.001". Making the tolerance smaller (0.0001) or larger (0.01) creates problems.

Boolean union fails.

The intersection (red) creates the closed curve I expect plus to additional (horizontal) open curves that it is a mystery to my why they show up at all.

Splitting the smaller with the larger give me the desired result. Splitting the larger with the smaller gives weird results.

Moving up, to try to work around this. I look at doing splits and joins rather than boolean operations. I removed the top, bottom, and forward surface of the smaller object (correctly) expecting that the extra horizontal lines in the intersection will disappear.

Moving up, I intersect and get the closed curve that I expected originally. However, I cannot split the larger with the smaller (but can split the smaller with the larger).

Moving right, I split using the intersection curve, did a shrinktrimmedsrf, and joined and all is good.

Moving up, I split both parts using the curve, did a join, and get a bad surface.

Moving up, I extracted the bad surface and capped. And it looks like all is good.

I am wondering why this combination causes such difficulty in joining.