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.
- 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.