Perforated Panels in Revit with Dynamo

The power of Dynamo raised Revit into a new level. However, many of you still did not have a chance to work with Dynamo or rather find it very difficult to understand. Most of the designers are abstract thinkers and they do not acquire coding skills to perform complex design and modelling.

In today's post, we are going to discuss how we can bridge this issue. If you are interested in modelling and designing Perforated Panels in Revit, the Integrated BIM team makes it even easier for you. Simply download this script and follow the steps in this video Perforated Panels in Revit with Dynamo

JUST BEFORE doing that... Hold on for a second and take a look at these results:

If you already got excited let's dive into the script...


Let's start with an origin point and creating the boundary out of that. The idea here is to create a panel size that can be controlled through dimensions which can be manually entered or with a slider. Once the enclosed boundary is created, we can now generate a surface out of that which acts as the panel.


An offset boundary is always a good idea. This can be used to control the tolerance for laser cut or 3D printing and if no boundary is required then it can be easily set to "0".


Now, it is time to create a grid of points. In this script, we are aiming for a checkered pattern in order to get an interesting design for the perforated panels rather than a modular grid system. You can simply use an odd numbering system and remove every second n value (for instance, if you have 4 rows of 1 - 5 (odd number), if you remove 1, 3 and 5 in the first row, in the second row it will remove 2 and 4. Then, in the third it will repeat itself 1, 3...)


An attraction point is required if we want to take and control the ownership of the grid of points since those points will act as the centre to generate all the shapes and forms.


Diameter lengths of the shapes and forms are created through a formula based on the distance between the grid points vertically, horizontally and diagonally. In this case, a 45-degree triangle formula is being used. The output of the formula is considered as the max. radius and the minimum radius is an option (or depending on the laser cut and/or 3D printing systems). A node is being used to convert the distance between the attraction point to each point in the grid and a ratio of value is assigned based on its maximum and minimum radius.


The last step is to take this script into Revit and generate a 3D panel with perforations. Therefore, once the grid of shapes is subtracted from the surface, we can generate a form by assigning a thickness.

Next week, we will be developing this script into a whole new level, therefore do not forget to sign up and subscribe to our YouTube channel :)