Flatten Elevation View to Calculate Area

I’m trying to calculate areas of walls and windows for window to wall ratio calculations. I’d like it based on the visible faces of an elevation view. Attached is the Dynamo script I have setup. It’s messy at the moment, but currently, when running the script, it calculates area of walls and windows, but includes the calculation of the face depth of the wall (the portion not visible in elevation view). I’d like to only calculate the visible faces shown in elevation view. I’ve pasted a screenshot that shows the 3D view and elevation view. The portion boxed in yellow contains the area that I want calculated only. Is there a way to “flatten” an elevation view? Maybe I need to outline the walls and windows in the elevation view and calculate the area that way?

A couple other workflows we thought of:

  • Paint the faces that need to be calculated and calculate area that way
  • Calculate area based on selecting faces

If there is a better workflow, I’m open to it as well. Thanks.

You could probably use Solid.ProjectInputOnto

Get a unioned Solid of all your windows in the view (and another for all your walls)
Create a view-aligned Surface with boundaries from your crop region
Project that Surface onto your Solid.
Get the surface area of the resulting geometry?

EDIT: Nevermind, ProjectOnto only works for curves/lines not surfaces :frowning:

Try something like this. You can add your own element filters like you have, and it should work with any element that has Solid geometry.

@steinah6 Thanks for the lead! I received the “Dereferencing a non-pointer” warning. To fix, turn off Preview.



As for results, I’m almost there! Exterior wall values are coming out close enough. Right now, I believe the last piece is curtain walls. I wasn’t able to produce results using the suggested script with categories set to Curtain Walls. I switched the categories to Curtain Panels based on forum suggestions. However, the number is double what the actual value is. I looked at the Element.Geometry and it appears there are duplicates. Does anyone know why?


At the moment, I have gone a different direction with curtain panels and may stick with this path unless someone has a better way.

There is another way.
I often end up working with elements that will not yield a solid. The geometry node just breaks. Then I found a different approach. The Genius Loci Package has a few nodes that allow you to export to Autocad and then import back in to Revit.

The process I use works like this:

  1. Get a reference for a new view. This could be a face you pick or a line you draw.
  2. Generate a section view based off the selection. You’ll want to apply a view template that solid shades everything the same color.
  3. Export the view to Autocad. You’ll want to create an export setup that exports the view with true color.
  4. import the dwg back to Revit in a new drafting view.
  5. Get the area or areas from the faces of the import instance.

I do all this in the same script with a few transaction.end nodes.
You’d probably want to set up different colors for your walls and windows or export them into two separate views.

1 Like