Wall Area for Each Elevation


i’m trying to calculate area of the exterior walls on each elevation separately, i’m using Wall.NorthSouthEastWest node but the issue is that as you can see below, if the yellow are the west walls, this node calculates the walls in the red circles too, cuz they are facing west!

the other issue is that for some reason it selects some walls that are facing west on the south selection.

i also don’t want to use Select Model Elements node, so i’m thinking of other ways like;

  • selecting and filtering walls of they are close or on a specific grid line
  • selecting and filtering walls of they are close to an elevation crop line and withing a specific depth limit

can anyone think of some other way? i appreciate it…

You may want to try gathering the location of the walls and sorting them along a vector. Those at the start and end of an X vector will be West and East, likewise for the Y vector being North and South. Using a Distance filter you should then be able to group walls on the same external facing elevation. Just one way, I’m sure there are others. :wink:

1 Like

how can i filter which is west and which is east?

West is to the left of North

1 Like

hahahaha thanks Marcel

but i meant east and west are both on the x vector, how can i filter them?

i guess by which way they are facing ?!?!

North +90
North -90
Get North, calculate x

1 Like

Something a little like this?

There is room for improvement though, as this relies on proximity to Gridlines (not project orientation) so hopefully you can tweak to suit. :wink:

1 Like

I’ll check it tomorrow at the office and keep you posted, thanks

can i do this without grid lines? let’s say i wanna calculate the distance from the elevation plane?
i created the graph you sent me, i dont get any errors but none of the walls get override.
Wall Elevations.dyn (30.2 KB)
Project2.rvt (1.7 MB)

1 Like

It should be simple enough to swap out the Grid.Curves with View.Planes. :wink:


From your Graph, you were nearly there.

  1. Swap the Vector inputs.
  2. Use the 0.5 parameter (probably not necessary)
  3. Revise 300 to 3000
  4. Result :grinning:

1 Like