The file below shows before I did a two rail sweep on the teapot spout which was succesfful (black curves).
bbefore 2 rail sweep.3dm (76.5 KB)
before 2 rail sweep.3dm (76.5 KB)
Then I tried a union between this spout(grey) and the body(red) and it failed. I’ve looked closely and cant find why its not working
failed boolean union.3dm (283.3 KB)
When booleans fail, check the intersection curve between the object.
In this case, the resulting intersection curve was not closed at the bottom. I tightened the document tolerance to 0.001, exploded the cylindrical object and revolved the bottom part again. That gave me a curve that cut through the entire bottom surface.
whenever a boolean fails, make an intersection and inspect the resulting intersection curve(s). If a curve is open, there is likely the origin of error. To make the boolean work in your case, move the spout slighly upwards. eg. 0.001 units.
Everything meeting at this point is your problem. Rhino has trouble doing Boolean functions with surfaces that share exactly the same space.
Nudge the spout up .0001mm and the boolean will work.
Result is successful.
Oops…too late WIM and Clement got it