Having a boolean operation for a multibodied part is wonderful. However this becomes problematic when the part becomes complicated.
Scenario, I have several I beams as well as a perforated false floor. Rather than have one solid (with the possibility of creating an assy from that solid) for the walls, false floor, and Ibeams I could create them seperately or leave them roughed out in the part and cleanup in assy. The problem is that there are certain aspects of the model that are intertwined (false floor follows the floor layout created by the walls). But when every aspect of the room needs to be created in part environment the model quickly begins to operate very slowly.
I'd rather be able to create the basic false floor and apply stiffeners to the walls. Applying stiffeners would be simple, then I could cut them out of the false floor. I could take a standard window assy and cut it from the walls rather than create the array in a part and have extra work coordinating the two in the assy environment.