This project is an attempt to improve the parametric modeling techniques that I learnt in this course with the help of Dynamo - a visual programming tool. For this project, I selected a simple cubical form to conduct small experiments within the Dynamo environment. The first experiment involves changing the instance of an adaptive family based on the sunpath. The second experiment is to obtain the sum of the opening factor angles for optioneering in Refinery. The third experiment is to create a parametric BIM model with changing form (length, width and height), construction assemblies, window dimensions, and orientation. According to literature, these building parameters are known to affect the energy performance of a building the most. Furthermore, this model can be used as a pilot to explore the possibility of building energy optimization using Refinery.
Experiment 1: Manipulate instance parameters of the panel according to the sun path
Step 1: Export panel coordinates
To export the coordinated of the points at which the panel needs to be placed, we first select the model element from the mass model. From these selected surfaces we can extract the point coordinated onto an excel file. The screenshot below shows the same.
Step 2: Read the excel file
In this step, we read the previously created excel file and clean up the file. This step gives us the insertion points for the adaptive point panels. Before we obtain the points it is important to clean up the excel file and ensure that we have removed all unnecessary information. Here, we obtain the geometry of the points at which the panels need to be placed.
Step 3: Place adaptive points
In this step, we create surfaces for the geometry that we obtained earlier. In addition, we also place the adaptive components according to the geometry.
Step 4: Define sun settings
We obtain the dot product of the current sun settings from the revit model and the surface normal of each panel instance.
Step 5: Assign colors to the panel according to the sun
The dot product that is obtained is then remapped to numbers between 0 and 1. This new list is used as an input for the color range and the panels change color from red to green based on the remapped value.
Experiment 2: Preparing Dynamo for Refinery
In order to use refinery, we need to define inputs and outputs that have integer or float values. In this case, we used a sun vector to simulate the movement of the actual sun path to obtain different values for the sum of the opening factor angle (which is the output). If we need more accuracy for the sun simulation, we can obtain the coordinates of the sun as an excel file and use that as our input instead. Due to time constraints we used a simpler approach and used a range to define the input. Here, we remap the dot product of the normal of each surface and the sun vector from 0 to 1 and use math.sum node to compute the sum of the values in the list.
Experiment 1: Manipulate instance parameters of the panel according to the sun path
Step 1: Export panel coordinates
To export the coordinated of the points at which the panel needs to be placed, we first select the model element from the mass model. From these selected surfaces we can extract the point coordinated onto an excel file. The screenshot below shows the same.
In this step, we create surfaces for the geometry that we obtained earlier. In addition, we also place the adaptive components according to the geometry.
Step 4: Define sun settings
We obtain the dot product of the current sun settings from the revit model and the surface normal of each panel instance.
The dot product that is obtained is then remapped to numbers between 0 and 1. This new list is used as an input for the color range and the panels change color from red to green based on the remapped value.
Step 6: Change opening factor according to the sun
This node is used to change the instance parameter of each panel based in the sunpath. The opening factor either increases or decreases to allow more or less light respectively.
Step 7: Dynamo outputs
The first image below shows the different colors that are mapped onto the surface of the cuboid, while the second image shows the difference in the opening factor on each surface.
Refinery output
To generate the output 'Randomize' method within refinery. This option generates several iterations of the same BIM model by changing the input parameters within the defined range - which in this case was the x, y and z coordinates for the vector that replicates the sun path (as seen in the image above). The image below is a screenshot of the results we obtained using refinery. Furthermore, we can use this platform for multi-objective optimization.
Experiment 3: Parametric cube
For this example I have chosen the width parameter to change as we can see the second image shows the updated value for width. The group shows the list of parameters that we can change in this Dynamo file. In the future, we can explore the use of Refinery for this project.
Challenges
Most of the nodes that are available in Dynamo for daylight simulation (ex: ladybug, honeybee, solar, analyze etc) and energy simulation (ex: energy analysis for dynamo) are outdated. This makes it difficult to use MOO for building energy optimization within the Dynamo platform.
Comments
Post a Comment