ARCH 655 | Project 1



Parametric Modeling in Grasshopper


1- Project Introduction

In this project a parametric form including both mass and skin, for the chosen building, is created, using Rhino/Grasshopper functions and components. The driving parameters for the model are identified, organized and can be easily changed in Grasshopper through real-time interactions.
This project has initially two phases: Phase A, parametrically remodel a previously modeled building. And phase B, comparing the remodeled Grasshopper algorithm with the previous algorithm. The comparison of the two models will show the importance and capabilities of the data structure. Being able to model with fewer nodes and using the right data structure will certainly improve the flexibility and efficiency of the model.


2- Building introduction:

Bright Building
TAMU campus, College Station, Texas

The building chosen for this project is the Bright building, located on the Texas A&M campus. This building is a 7 story building including classes, laboratories, conference hall, and administration offices, with a total area of approximately 136,000 Sq. Ft. The reasons for choosing this building is first, accessibility to the building and details which make further analysis in future more doable, and secondly, the availability of the utility bills of the building that will bring an opportunity for energy simulations get validated, and more importantly, as mentioned above, this building was previously modeled by me as part of my research project, and this time I could have the chance to improve the model by using a more complex data structure and mathematical functions.


 Figure 1: Bright building site plan
https://earth.google.com, retrieved on oct,10, 2019

 
Figure 2: Bright building and the surrounding buildings
https://earth.google.com, retrieved on oct,10, 2019


The architectural plans for 1st and 2nd floors are as follows.

The chosen building for this project has basically a rectangular form with several breakings. The driving parameters would be building dimensions in X, Y, and Z directions, number of breakings on the skin, length and depth of the breakings as well as window to wall ratio of the walls, Shading device overhang size, building orientation. These parameters are all organized in a red-colored group on the left side of the Grasshopper window to enable the user to easily find them and have an easy control of them. Various parameters influence the energy use of a building. Such parametric models can be very useful in optimizing building energy use, as driving parameters can be easily changed and reveal the impact on the energy performance of the building.

 Given the rectangular form of the building and considering the breaking points of the skin as one of the driving parameters, one of the most important challenging aspects of the Grasshopper algorithm will be the data structure.

Parametric architectural modeling

3- Previous method

This building previously had been modeled by me parametrically, however, during this course, I figured out that the model has many opportunities to be remodeled more efficiently and more flexibly. Hence, here as project 1, I am going to recreate the Grasshopper algorithm for Bright building and benefit from using a more complex data structure and mathematical functions.


Previous Method
 

This method caused some limitations to the model. Although it is a parametric model, changing some of the features are not as easy as it is possible in the remodeled version. As an example, in case I need to add an extra breaking on the skin, although it is possible in both algorithms, it is not very straight forward in the previous algorithm. Because I would need to add a line between two lines that are already connected to each other; the endpoint of the first one is used as the starting point of the next line. Basically, the previous model was created line by line, as it can be seen in the image below, each line end node is the next line start point.

 
However, the new method is created based on a singular line. It is divided by the number of breakings on the building facade to generate the breaking points. These points would be initially located and later as will be explained they will be moved to their specified positions.


 


4- Remodeling with a new method

The following are the six steps that I took to remodel the building:
1.     The initial location of breaking points with a modifiable number
2.     Devoting a list of matrices to the list of breaking points
3.     Modifying the matrices that enable the user to move the points along the X and Y-axis.
4.     Create a list of four matrices to mirroring and translation the first corner to the right places according to the building X and Y dimensions. This matrix is linked to the building X and Y dimensions to get the translation values for the first corner
5.     Adding the glazing
6.     Adding the shading devices



4.1- Initial location of breaking points on the skin

 I will first create a corner of the building and then, I will mirror it to form the whole perimeter of the building. To create one corner of the building, I need to locate the breaking points at their initial place. Later user will be able to modify the location along X-axis and Y-axis. The challenge towards this project is mostly modifying the data structure so that with the minimum number of nodes and components we will be able to get the highest possible flexibility in defined parameters. So here, I used a single line and divided it to get as many nodes as I need to get ¼ of the perimeter.



Then, these nodes are simply translated to the right place using transformation matrices, that are explained at the next steps.


4.2- Devoting a list of matrices to the list of breaking points

To be able to manipulate matrices values easily, at first, a neutral matrix was generated and then was duplicated in the number of points as the image below. Now at this step, a list of matrices is developed. These matrices are initially neutral matrices, but then certain values will be replaced, and the translation matrices list will be created.

 

Each point will be associated with a matrix within a list of matrices that enables me to move the breaking points on the skin the perimeter on both X and Y directions at the next step.

4.3- Modifying the matrices that enable the user to move the points along the X and Y-axis

The neutral matrices’ values are listed in a singular list, however later they will be separated every 16 members using Partition component of Grasshopper to create multiple matrices of 4*4. The indices of the matrices’ value that needs to be changed for the breaking points’ translation are simply driven out of a Python line.




An example of creating a matrix is shown in the above image. Though in my file the output of the matrix component cannot be visualized since it includes multiple matrices, not one. Every breaking point of the building's skin may move by the X value added or subtracted from the initial location. So, the length of each breaking on the facade will be the initial value plus/minus the X-move slider value.



 


Similarly, the breaking points can move along the Y-axis by Braking Y values sliders. These sliders determine the depth of each breaking on the facade.

 

Now that I have the nodes for a corner of the building, I can easily produce the whole perimeter using a matrix for mirroring using a similar method explained above.


4.4- Create the matrices to mirror and translate the first corner of the building

Now a list of 4 matrices is generated to mirror and translate the first corner to the right place according to the building X and Y dimensions. Then the values of the initial matrices are replaced wit with the moving and mirroring values.

 

The indices for those associated values are written in a simple python line as:


These matrices are linked to the building X and Y dimensions to get the translation values for the first corner.

 



4.5- Adding Glazing

In the previous modeling, windows were created as rectangles that each requires two parameters to be defined. From thermal performance point of view, the ratio of width to length of the window does not have any impact on the building thermal load, however, the percentage of the wall that is glazing or simply widow to wall ratio has. So here in remodeling the building, the unnecessary parameters were omitted, and the single parameter of the window to wall ratio was used that only requires the area.

 


In remodeling, the glazing is basically the wall surface by a scale factor ranging between 0 for no windows case to 1 for a curtain wall (all glazing). The square root of the window to wall ratio would be the scale factors on X and Y-axis of the walls.

 



4.6- Shadings

Shading devices are basically the geometry of the window, rotated over the topmost edge of the window and scaled over one direction to be the size of the required overhang. The challenge here would be managing the data structure in a way that every window on the walls parallel to Y-axis be scaled on X-axis and likewise, all the windows on the walls parallel to X-axis be scaled in the other direction. They all should be rotated over the topmost edge. For these two reasons, a transformation matrices would not be helpful here, instead the rotation-axis component and non-uniform scale component would have the capability to rotate each geometry over the certain axis and not the over the global axes of X, Y, Z. Similarly, with the scale component, I will be able to scale the geometry over the specified axis.

 

 


 The comparison of the two models shows how using the right data structure and fewer number of components can improve the flexibility and efficiency of the model. The new method of modeling, this building has much more flexibility in terms of modification ability.

October 2019

Comments

Popular posts from this blog

ARCH 655 | Project 2