top of page

Project 2

COURSE: ARCH 653 (BUILDING INFORMATION MODELING)

SOFTWARE USED: REVIT ARCHITECTURE

VISUAL PROGRAMMING USED: DYNAMO

 

The scope of this project (Project 2) is to enhance the Project 1 using visual programming, DYNAMO. Project 1 was demanding in terms of complexity in mass modeling and creating parameters. Moreover, the processing and regeneration of the project file was time consuming. DYNAMO, an open source visual programming ad-in for REVIT helps to solve the difficulties faced in Project 1.

 

 

 

 

 

 

 

 

 

                                                   

 

 

 

 

 

 

 

 

 

 

Fig. 1 - Project 1

 

Scope

  • This project has four parts

  • Part 1 - Modifying curtain panel parameter in the Project 1 file

  • Part 2 - Modifying curtain panel parameter (to control the angle of rotation) in the Project 1 file

  • Part 3 - Creating 5 different materials for curtain panels and using excel generated random numbers for tower mass as shown in Fig. 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fig. 2 - Mass models with random colored panels

 

Part 1

  • In Part 1 of this project, curtain panel parameter is modified in the Project 1 file using DYNAMO

  • Rotating panels family is chosen for this part

  • Parameter named 'Offset Positive' is modified in DYNAMO using an integer slider

  • Offset Positive controls the panel size as shown in Fig. 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fig.3 - Rotating Panels

 

  • First the mass model is selected and the curtain panel family is selected in DYNAMO

  • Select family node is used to select the rotating panels family followed by get parameter node

  • Once the parameter of the family is selected, integer slider node is created to control the offset positive value

  • Finally, set parameter by name node is created to control the parameter as shown is Fig.4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fig. 4 - Part 1 DYNAMO code to change parameter

 

  • When the integer slider is scrolled, offset positive value changes

  • Figures 5 & 6 shows the change in curtain panel in Project 1 file for different values in integer slider

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

​

Fig. 5 - Curtain Panels with 'Offset Positive' value '6'

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fig. 6 - Curtain Panels with 'Offset Positive' value '2'

 

Part 2

  • In Part 2 of this project, curtain panel angle parameters are modified in the Project 1 file using DYNAMO

  • Rotating panels family is chosen for this part

  • Angle Parameters are modified in DYNAMO using integer sliders

  • Angle Parameters (Angle 1 - 6) controls the panel rotation as shown in Fig. 7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

​

Fig.7 - Angle Parameters for curtain panels

 

  • First the mass model is selected in DYNAMO

  • Select family node is used to select the rotating panels family followed by get parameter node

  • A constant angle of 30 degrees was assigned to the panels when creating the curtain panel family

  • Angles of the panels should be restricted between 0 degrees and 90 degrees, 270 degrees and 360 degrees

  • For Angle 1, Angle 2 & Angle 3 parameters the value is restricted to 0 degree and 90 degrees

  • For Angle 4, Angle 5 & Angle 6 parameters the value is restricted to 270 degrees and 360 degrees

  • This can be done vice versa

  • Conditional formatting using 'if' node which compares the angle values for two consecutive angle parameters

  • DYNAMO code for Angle 1 of Part 2 is shown in Fig. 8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fig. 8 - Angle 1 Parameter controlled in DYNAMO

 

  • DYNAMO code for three Angle parameters as shown in Fig. 9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fig. 9 - Angle Parameters controlled in DYNAMO

 

  • When the integer slider is scrolled, angle parameter value changes

  • Consecutive angle parameters are compared in 'if' node to prevent the consecutive parameters having the same value

  • Figures 10 & 11 shows the change in curtain panel in Project 1 file for different angle values in integer slider

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fig. 10 - Angle Parameters controlled by DYNAMO in curtain panels

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fig. 11 - Angle Parameters controlled by DYNAMO in curtain panels

 

Part 3

  • In Part 3 of this project, curtain panels are assigned with different materials and made random using excel sheet for modified Project 1 mass model (without sky deck and sky bridge)

  • Rectangle thick panels are applied on the surface of the mass model

  • Five new materials are created and applied randomly using DYNAMO as shown in Fig. 12

  • 'RANDBETWEEN' command in MS Excel is used to generate random number series (0,1,2,3,4) for 20 rows and 25 columns, 500 cells as shown in Fig. 13

  • Number of cells in the random number sheet is based on the total number of rectangular panels in the mass

 

 

 

 

 

 

 

 

 

 

 

 

 

Fig. 12 - Numbers generated randomly in MS Excel

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fig. 13 - Panels applied randomly

 

  • In mass model, five material parameters are created as shown in Fig. 14 & 15

 

 

 

 

 

 

 

 

 

 

 

 

Fig. 14 - Five materials created in Mass model

 

 

 

 

 

 

 

 

 

 

 

 

 

Fig. 15 - Materials created to apply in DYNAMO

 

 

  • Five string nodes were created and connected to Material.ByName node. List node is created and all the five material nodes are linked to the node as shown in Fig.16

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fig. 16 - Materials selected  in DYNAMO

 

  • Rectangular panels were selected using node and all the elements of the family were selected using node.

  • List.Count node was used to count the total number of panels and provided the total number of random numbers to be generated in MS Excel

  • All the elements of the family were selected and the list is transposed, reversed and flattened using List.Transpose, List.Reverse & List.Flatten as shown in Fig. 17

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fig. 17 - DYNAMO nodes for the panel list

 

  • Random numbers generated in MS Excel was loaded using File.Path node and String.Split node as shown in Fig. 18

 

 

 

 

 

 

 

 

 

 

 

 

Fig. 18 - DYNAMO nodes for selecting Excel File

 

  • Python Script node was used to input the material list and assign it based on the randomized numbers in excel sheet as shown in Fig. 19 & 20

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fig. 19 - DYNAMO nodes for Python Script

 

 

 

 

 

 

 

 

 

 

 

 

 

 

​

​

​

​​​​Fig. 20 - Python Script for assigning materials

 

  • Final view of the DYNAMO file for Part 3 is shown in Fig. 21

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fig. 21 - DYNAMO code for Part 3

 

  • Mass model with panels are shown in Figs. 22, 23, 24, 25 & 26

  • Renderings of the mass with five different materials assigned randomly are shown in Figs. 27, 28 & 29

 

 

 

 

 

 

 

 

 

 

 

 

 

Fig. 22 - Panel showing material 5 in properties dialog box

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fig. 23 - Panel showing material 4 in properties dialog box

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fig. 24 - Sun setting for rendering

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fig. 25 - Perspective 1 showing Mass with five different panels

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fig. 26 - Perspective 2 showing Mass with five different panels

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fig. 27 - Rendering 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fig. 28 - Rendering 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fig. 29 - Rendering 3

 

 

Part 4

  • In Part 4 of this project, curtain panels of the mass was made to rotate based on the sun direction

  • Rotating Panels has  a parameter which controls the rotation angle

  • Using DYNAMO, this parameter was made to change with respect to sun direction

  • Based on solar orientation, the panels are made normal to the sun direction to receive maximum sunlight

  • Vector dot product of the panel surface and orientation of sun was calculated using DYNAMO code

  • Python script controls the rotation angle of the panels

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fig. 30 - DYNAMO code for Part 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fig. 31- DYNAMO code for Part 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fig. 32-Panel normal to solar orientation

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fig. 33- Panel normal to solar orientation 

 

Project Movie

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Reference

bottom of page