How to render a floor plan while maintaining proper lighting
To expand on the great answer of stphnl329, I'll add another technique. 

It works in Eevee, but I'm sure it can be used in Cycles by tweaking a few nodes. 
So, the idea is to create a node group controlling the alpha value of your material and simply plug it into the alpha value of each of your materials.

First we will create the basic setup.



Add (with a Vector Math Node) the location of each object and the local position of each pixel in the object. That way, we have the real world position of each pixel in the material. Extract the Z value with a separate XYZ. 

Plug this into the value of a map range node (you need Blender 2.81+). Check clamp and invert the To min and To max values. 

Add a value node and plug it into the from Min input, and add 0.001 to it and plug it into the From Max node. This setup is emulating a Color Ramp node with a constant interpolation. Plug the map range output into the alpha input of your bsdf.

In the shader editor press "N" to show the tools panel. Go into the options and set the alpha blend mode to "Hashed"



You can already see the magic in action. It works best in perspective mode, in orthographic you will have some light bleeding (you can get rid of it but I won't tackle that here).


Go into your world settings and add a custom property named "floorplan"



Right-Click on the value of your property and choose "Copy as New Driver". Right click in the value node in your shader and choose "Paste Driver". Now your value is driven by your world property.



Now select all the nodes on the left of your BSDF and type CTRL + G to create a new group. Tap TAB to exit the group. Name it floorplan. Go the material of your other objects and add this node group (SHIFT + A > Group > Floorplan) and plug the output into the alpha of the bsdf. Don't forget to set the alpha blend mode to hashed in every one of you materials.

Example :



Final result :