Using DYNAMO in the Revit Environment
Video Tutorial: http://youtu.be/xWYN5jlKRDI
Project 2 was an extension of Project 1 (Replica of the Taj Mahal) to explore the use Visual Programming tools such as Dynamo to improve the functionality of models created on Revit. Dynamo is node based visual programming tool which gives the user more freedom to carry out complex operations on Revit which otherwise is much more time-consuming when done in the Revit environment.
Project 2 was an extension of Project 1 (Replica of the Taj Mahal) to explore the use Visual Programming tools such as Dynamo to improve the functionality of models created on Revit. Dynamo is node based visual programming tool which gives the user more freedom to carry out complex operations on Revit which otherwise is much more time-consuming when done in the Revit environment.
The main functionalities explored in the project were:
- The parametric variations of different elements and establishing a relationship between them.
- Implementing curtain panels on walls, roof and some elements in the model and assigning materials to the panels by using Dynamo. We will also see how can we use Dynamo to assign the desired material only to some of the selected panels using Dynamo and Excel Spreadsheet.
- Parametric Variation using Dynamo
To demonstrate the power of Dynamo in setting up parametric relationships amongst the various elements in the mass model, I have explored two different kinds of parametric relationships in my model:
- Parametric variation of the Central Dome and its relationship with the smaller domes
The design intent of this variation is that when the dimensions of the central dome is changed, the dimensions of the smaller domes on the cupolas should also undergo a subsequent change. This can be done by establishing a relationship between the parameters of all the domes. Dynamo can effectively be used in this case to set up a scaling factor for the dimensions of the smaller domes. This can be done by first reading the values for the central dome and then multiplying them with appropriate scaling factors. Then these scaled factors will serve as the output values for the dimensions for the smaller domes. The dynamo file is shown as below:
In the first step, I created nodes to read the the parameters in Dynamo defined in the Revit model. I also created nodes to manipulate the input values for these parameters which can then be connected to the Revit model.
Once we have that, next we can look into establishing parametric relationship between the model elements:
The above figure shows a typical relationship between the parameters of the small cupolas with the central dome with the use of scaling factors for each parameter. Similar relationships can be established for other three cupolas.
- Parametric variation of the positions of the minarets and the cupolas
The design intent for this parametric variation was that the positions of the cupolas should vary on varying the positions of the minarets. This was done by first reading the linear dimensions of the minarets defining their positions and then reading similar dimensions of the cupolas, and then establishing a relationship between them.
2. Assigning Material Property to Curtain Panels using Dynamo from Excel Spreadsheet
Perhaps the most challenging task of this project, the objective was to assign materials to the curtain panels defined in Revit on the model. The first step was to read the divided surface created on the surface on Revit into Dynamo and generating various elements to which material is to be assigned. Next we define the material that need to be assigned to the panels. Note that this should be the same as defined as an instance parameter in the Revit file. Now Excel Spreadsheet can be used to define binary code for each panel. The number of rows represent the number of horizontal grids in the curtain panel grid and the number of columns represent the number of panels in the vertical grid of the curtain panel. Thus, if a cell in the spreadsheet reads 1, the material defined in Dynamo is assigned to the panel, and if it reads o, then a secondary defined material is assigned. In our case the primary material is marble and the secondary material is glass.