i want to boolean union the green object with the purple one.
The green object is a “closed surface” and the purple is “closed polysurface”.
If a boolean (union, difference, split) doesn’t work inspect the intersections. These must form closed loops. But still then no guarantee for Boolean to succeed. Looking at the screenshot I suspect you have some ‘intersections’ of surfaces that are tangent or close to tangent to each other