Monday, November 30, 2015

ARCH 653: Final Project


Project 2: Use of Revit Dynamo to extend the functionality of parametric BIM

For Project 2, I have modified my Project 1case study: Marina Bay Sands, Singapore and used Dynamo to perform the following functions on a single tower:
  • Creation of Floors in revit project file.
  • Parametrically controlled Geometry in revit project file.
  • Rotation and height change of curtain panel based on Solar Orientation in revit mass file.

1. Creation of Floors:

Objective:

One of the constraints in my first project was the creation of mass floors. I was unable to create mass floors as my geometry contained both mesh and solid mass. So, I had to create the connecting pathway at a distance from the straight and leaning portions of the tower to facilitate in floor creation.

To prevent this problem, I have used a dynamo script to control the floor creation in my revit project file of a single tower.
Figure 1: Left side of the code for floor creation for the straight portion of the tower

Figure 2: Right side of the code for floor creation for the straight portion of the tower

Figure 3 : List of all the levels 

Figure 4: List of all the levels

Figure 5: Left side of the code for floor creation for the leaning portion of the tower

Figure 6: Right side of the code for floor creation for the leaning portion of the tower

Figure 7: Final image showing the floors created using dynamo
Description:

Figure 1 & 2 shows the dynamo script for floor creation for the straight portion of the tower. 

The translation command is used to translate the floors from the center so that it is placed inside the straight portion of the tower. The ‘Height offset from level’ parameter should be zero to maintain the placement of the floors at the respective levels. Figure 3 & 4 show the list of the levels for floor creation

Figure 5 & 6 shows the dynamo script for floor creation for the leaning portion of the tower. However, for this portion, the translation is different for different levels and hence the script has to be repeated for all the levels.

Figure 7 shows the final image after the creation of floors for the straight and leaning portion of the towers.

Advantages:
  • Facilitates in creation of floors of desired type and at desired level if there is any issue in mass floor creation in revit project file. This issue is generally faced when the mass contains both mesh and solid geometry.
  • Useful when the tower/building is straight and contains less number of levels.
Disadvantage:
  • When the geometry contains curved or leaning mass, the dynamo script for floor creation becomes laborious as the translation distance varies for the different levels.
  • When the mass is moved, the floors do not move along with the mass as they are not linked to each other.
2. Parametrically controlled geometry:

I have used dynamo tool to control the type and instance parameters of my Revit project file for a single tower.

Figure 8: Dynamo Script for changing the type parameter 

Figure 9: Dynamo Script for changing the instance parameter 

For controlling the parameters in my project, I have used the ‘Family type’ command to select the mass family type and to get the type parameters and ‘select model element’ command to select the mass and to get the instance parameters.  The number slide is used to vary the dimensions and the corresponding changes can be seen as in figures 10, 11, 12, 13. 


Figure 10: Tower showing the original dimensions of leaning portion of the tower (type parameter)

Figure 11: Tower showing the modified dimensions using dynamo script (type parameter)

Figure 12: Tower showing the original dimensions of straight portion of the tower (instance parameter)

Figure 13: Tower showing the modified dimensions using dynamo script (instance parameter)
Advantage:

Easy Access to all the parametrically controlled dimensions when dynamo is used

3. Curtain Panel Changes based on Sun orientation:

I have created a new curtain panel with a rotating glass extrusion. I have linked this rotation and the height of the extrusion to the sun orientation using a dynamo script in my revit mass family. The vector dot product command was used for finding the dot product between the surface normal and the sun path. 

Based on this value, the If statement was used to assign the angle and height values to the curtain panels. Alternatively, the python script can be used. The angles were given such that when the sun is far, the rotation angle is minimum. The height of the panels were changed to facilitate better illustration of the rotation of the panels, as the change in height of panels do not have practical application. However, the same script can be used to change other dimensions that will have practical application.

Figure 14: Surface patch created using dynamo script

Figure 15: Left side of the dynamo script for parameter change based on solar orientation


Figure 16: Right side of the dynamo script for parameter change based on solar orientation

The figure 14 shows the surface created by patch command and also contains the adaptive components. The figures 15 and 16 show the dynamo script.

The following video shows the change in the glass extrusion based on the sun orientation.












No comments:

Post a Comment