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.