Getting the roof face orientation per space

Hi everyone,

Through a series of filtering and testing I have reduced 6 roof structures down to their faces which contain only a positive Z vector…
Beneath each one of these roof structures lies a space. What I need to do is work out the orientation of each roof face and write that parameter to excel. I can do this easily enough for the roof itself, but I am not sure how to do it for the FACE of the roof.
As an example, a normal pitched roof will have two orientations, lets presume N and S, I need to be able to work out the area of the roof covering only the space beneath and write that to excel, one for the N area face and one for the S area face…
I currently have a collection of surfaces which is where I am stuck, I am not sure how to relate the surfaces back to the original roofs.
Can anyone help me with this?
I have attached the Dynamo script I am using at the moment, the method I am currently using is in the red group called “Most promising method”. Any help will be appreciated.
Thank you.
Testing on BonneVie.dyn (176.5 KB)