I'd like to follow up and chime in on that.
I would like to trim the deck (solid) with the surface of the sideshell (surface, not the solid of the sideshell) that existes between each major transverse bulkhead. But i have multiple (12). Between each MTBH, there can be 15-25 stations/frames (lines spaced 2 feet apart). These stations lengths are over 50 feet, running from the centerline of the keel, around any chine or curvature, then up to the freeboard deck.
I create the fore and aft boundaries of a deck surface dependent upon the distance from bulkhead face to bulkhead face. I then create decks of desired thickness between lines. I suppose i *could* start at the centerline and project the surface to the inside of the shell (ship's skin) but when i need to thicken the surface, i don't think the thickness will conform to the angle/direction. I could project lines, select them and thicken them, but it gets tedious, so....
For convenience, I create surfaces between 5, 6, 7 or 8 stations lines. I select the first, then shift select the subsequent in order of direction. I change colors of each group so i can monitor where i am. I do this so i can create smaller and quicker-to-thicken solids. I then stitch the surfaces together and use the resultant, single surface to trim the decks. I do this between each main transverse bulkhead. I then mirror to port side what is on starboard.
This brings up ... Can mirror be smarter? If i set up a symmetrical model with corresponding layers, i'd like to have the layer name (with it's counterpart id, say from a user-defined coordinate/mirror list) be in the logical part/layer order. So, if i mirror items from any given, structured layer from "HH Starboard sideshell 18mm pl"/"Starboard Deck, Main", i'd like the resulting items/parts to be "HH Port sideshell 18mm pl"...."Port Deck Main".
This implies that the layer by layer, the name is inspected and it's logical (preassigned coordinate/mirror) name is automatically assigned. This could work for anything having a left/right mirror or an upper/bottom mirror. It would alleviate/obviate the need to inspect each mirrored item, change the layer, etc.... This would be useful in dense models that take 3 minutes to save, or 40 seconds to display or turn off layers....
To properly break off excess material running from centerline out past the side shell. I use the break tool to get rid of material i don't need.
Back on point...
It would be nice if a chain select of continuous/contiguous solids-cutting/trimming surfaces could be permitted. Then, the initial groups surfaces won't need to be stitched/joined. Ideally, it would even be possible to have jagged cuts of a plate, say, if an adjacent surface were missed or intentionally left out. This would imply that projections would enter the calculations and a large plate cut by surfaces might have a "finger" jutting out, but an elegant fix or assist could be a near-final intermediate state that presents the "fingers" and asks the user whether this is intentional, or whether the finger/s should be retro-incorporated into trim/split and then removed.