Find the area of interior and exterior wall surface

Hello everyone, I’m trying to find the total surface area of the interior and exterior walls including structural columns in order to find the area of wall paint.
I use solid.ByUnion to combine walls and columns into one geometry and then change it into surfaces. Then I use Surface.FilterByOrientation to get the vertical surface. Now, I don’t know the way to separate the interior surface and the exterior surface. Please help me.

I try to use Room to intersect. The exterior faces are OK but the interior faces still have problems. I don’t want the small surface around windows and doors. Any ideas? or Any solution without using Room.