Projection of Face on another Face

Hello,

im trying to "compare" faces of different sides of the same wall. For example there is a big room on one side and 2 small rooms on the other, so the wall looks like a T from above. Now i want to "project " the 2 smaller faces on the bigger one, after each other, and do a common operation, so the seperating wall between the small rooms will be left, or the proejcted faces will be built and i get the two projected ones and the small part in between . Right now i do that by getting the wires of the small face and do a BRepAlgo_NormalProjection on the big face, make a face out of the wires and do a Common operation. I wonder if that is the best practice, since after the boolean operations i get compounds where i have to extract edges to make wires and so on. Are there any other options or methods i could use?