Alternatives to boolean union/splitting

I am trying to split these pipes in half by a surface, but the pipe has too many intersections in itself I think. Is there a way to extract only the outer surface?
a link to download the file, sorry its quite big

thanks to whoever has an idea!

Hello - the grim truth is your model is a mess - even if I could figure out what you are shooting for, there is no way to get there without simplifying things. I’ll try to at least het you started with this but I recommend doing some work learning how Rhino works -