SIGN UP

10 Steps to Automate Wall Openings Percentage in Revit with Dynamo

automation bim management dynamo Jun 27, 2023

Code requirements often ask architects to calculate the percentage of non-protected openings for each façade.

The maximum percentage is typically based on the distance from the property line.

I have seen multiple architects and designers “manually” calculate this value by drafting filled regions on the top of the elevation.

We’ve developed a workflow that automates all of this work. It involves a Dynamo script, a generic annotation family, a few shared parameters, and a schedule. Here is a gif that previews this workflow:

You can see that the user adds windows on the south elevation. The Dynamo script runs and the actual openings percentage is updated. Since the value is above the maximum opening, the cell becomes red.

 

 

Download the script + Revit file

In the rest of this post, we will share the steps necessary to recreate this workflow. However, you can also get an all-inclusive version that contains all Dynamo scripts, necessary Revit files, and a PDF guide about this. It is part of our MANAGE package for Revit.

 

 

Watch the Video Tutorial:

                                                                                       

 

 

Default Schedules aren’t cutting it

This workflow proved to be problematic with the basic Revit schedules. “Building Side” is not a viable category that can be used as rows of data. Multi-category schedules are not helpful in this case.

 

 

The Power of Generic Annotation Families

The solution to solve the limitations of schedules is to use a Generic Annotation family as a placeholder for the data. Then, the data is pushed from the walls and openings to these generic annotation families using Dynamo.

 

1- Create a Generic Annotation Family

Create a new family using the Generic Annotation Family Template. Create all the parameters like in the image below:

Of all these parameters, only the “Building Side” needs to be a Shared Parameter. The rest can be regular family parameters. All of them are Instance parameters.

Building Side is a text type of parameter.

Limiting Distance is a Length type of parameter.

Wall Area and Wall Openings are Area type of parameters.

Max Openings is a Number type of parameter.

When you’re done, create six labels like in the image below The labels should be in the same order as in the list parameters.

 

 

2- Create a Percentage Label

“Percentage” isn’t an available type of parameter you can create. You have to make a “Number” type of parameter first. In the Max Openings label, click on this icon to adjust the units:

Then, change the format to a percentage, like in this image:

 

 

3- Create a Formula Label

We need a final label and parameter for the “Actual Openings”, which divides the area of the openings by the total area of the walls. Create a label, but click on the Fx icon instead of adding a parameter.

Enter this formula: “Wall Openings / Wall Area /1”.

Load the family back into your project.

4- Create an Internal Sheet

For the workflow to work correctly, you must create as many instances of the generic annotation family as there are building sides. These elements need to remain in the project. To make sure they are not deleted by mistake, you should create a sheet used for internal purposes. In this case, we name the sheet X3 - SPATIAL SEPARATION.

Then, create an instance of the generic annotation family for each building side. You can manually fill up the Limiting Distance and Max Openings parameters, as they represent data from the building code that shouldn’t change during the project.

You can PIN these generic annotations to make sure they aren’t deleted. Also, you can enter red text annotation to describe the fields and to warn users that the annotation symbols should never be deleted.

 

 

5- Create a Note Block Schedule

We use a generic annotation family because they can be used in a Note Block schedule. Create a note block schedule and pick the new family:

 

 

6- Create a Test Value

Finally, we want the “Actual Openings” cells to turn red when the percentage exceeds the “Max Openings” value. First, you need to create another calculated value with this formula. In the formatting menu, make sure this field is invisible in the schedule.

Then, go to the Formatting menu and access the Conditional Formatting of the Actual Percentage field. Set the formula to “Test Value, Less Than, 0”. Set the background color to red.

 

 

7- Test the Schedule

Test the schedule by entering a bunch of bogus values. Ensure that the Actual Percentage cells turn red when the value is too high.

 

 

8- Assign “Building Side” Parameter to Walls, Doors, and Windows

You have already created a shared parameter called “Building Side” for the generic annotation family. Go to the Project Parameters menu and assign this parameter to walls, doors, and windows.

 

 

9- Manually Assign Sides to the Building

Select the exterior walls and manually enter the building side in the instance properties.

 

 

10- Create and Run the Dynamo Script

The building sides have to be manually assigned to the walls. But when it comes to openings like doors and windows, you can automate the task using Dynamo.

For this script to run, you need to download the Rhythm and Clockwork packages. Here are all the the tasks we want the Dynamo script to accomplish:

1- Find all openings (doors & windows) inside walls with a “Building Side” value. Assign the matching “Building Side” value to these openings.

2- Find the area of all openings for each building side. Add this area to the total wall area for each side to get the “raw” wall area value. This step is necessary because the default wall area value removes the openings area.

3- Find all Generic Annotation families and filter them by the Building Side. Add the Wall Area and Wall Openings totals to each instance.

The rest of the workflow is exclusive to our members!

Get the Dynamo Script… AND MORE!

 

Comments

LAST CHANCE

Get 35% off, plant 75 trees and unlock our entire catalog.

Courses
Template
Doors
Masters

Recent Posts

Create a Dummy Schedule in Revit

Nov 28, 2024

Automated Wood Opening Framing in Revit with Dynamo

Nov 18, 2024

See All Blog Posts →