Hi W - if all of the surfaced fully intersect (including all sides and end caps) then CreateSolid will do the clean up. If you don’t have a fully closed volume bounded by all your surfaces then trimming one by one should work - if you use Intersect to get curves of intersection to trim with you can ExtendCrvOnSrf if they are too short and then trim. However you get there, if the trims come from surface intersections then the results should join along those edges.