I’m doing a study of a fully glazed observation tower, and I need to calculate the % of glazing that is within each orientation zone. I have a very simple script on grasshopper that renders the surfaces in a rhino model in a colour relating to its orientation. Can anyone help with improving the script so that, for example, I can choose to select surfaces that are in the NE-NW quadrants (45-315 degrees). So far, I have just been judging the colours by eye, which is good enough for now but not as accurate as I’d like it to be.
hi
I cannot solve your problem but may give you a starting hint. when i needed to do similar things I used the deconstruct tools and some math. You can deconstruct the brep with de_brep, then select items you want to use as reference with list_item then deconstruct that further until you have a normal vector. Then you can make a reference vector with vectorXYZ that points north and do vector operations with their parameters (x,y,z) to determine their relation. if there is no plane that you can use as reference, then you can deconstruct them to edges and create vectors from edges or define new faces with any edges and deconstruct that to get your normal vector. there are lots of vector operators and you can even visualize them with vector display. here is simple example from one of my work that calculates angle between two surfaces. this uses the edges because they are on the same plane.

