Antonin Brun

Module 5 - Flex your form

Overview

For this project, I created a tower composed of three main tubes. Each tube rotates around the tower’s centre axis to create this torsion effect. The tubes all have different lengths, which gives the tower some depth and interesting geometry. The user can adjust and flex the tower height, its torsion, the tube thickness at three points, as well as the length offset between each tube end.

image

Figure 1: Parametric tower, personal design

Results

Part 1 - Flexing an existing shape/form

The following section shows the results I obtained for this assignment. Table 1 displays the building performance for the rounded triangle tower design (Part 1 of the assignment) when the tower height and top radius are flexed.

image

Table 1: Building performances for the rounded triangle design

From this analysis, we can see that we achieved our desired floor square footage for a tower ranging from 450ft to 600ft tall as shown in the highlighted green cells.

Ideally, we would like to minimise our project cost. First, we estimated the construction cost per square foot of floor area. This cost “will grow linearly from $500 per SF at the ground level to $1000 per SF at 750’ above the ground”. Then we could compute the overall construction cost from the estimated gross floor area.

Our results indicated that a 450-ft tall tower with a 130-ft top radius seems like the most economically sound option with an estimated construction cost of $987M. On the other hand, a 600-ft tall tower with a 110-ft top radius would cost close to $1.40B

Part 2 - Flexing an alternative design

Table 2 below shows the building performances for my own tower design (Part 2 of the assignment) when the tower height and middle section thickness are flexed.

image

Table 2: Building performances for my alternative “three tubes” design

Following the same procedure described in the previous part, our results indicated that a 650-ft tall tower with a 45-ft middle section base length seems like the most economically sound option with an estimated construction cost of $1.17B. On the other hand, a 700-ft tall tower with a 50-ft middle section base length would cost up to $1.42B

Modelling approach

The following steps describe my modelling approach for this assignment.

Part 1 - Flexing an already existing shape/form

For this part of the project, we used an existing design from the CEE 220C folder. We then flexed this form to our liking, and gather some expansive results in order to complete our thorough building analysis.

Step 1 - Importing the mass in Revit and adjusting the parameters

The following figure shows the parametric tower used for this part of the assignment. We first imported the tower as a mass into a Revit project. We then created several floor levels, equally spaced by 12 feet, in order to section our tower. We then created all the floors for the building using the Mass Floors command in Revit. Once all the floors were partitioned, we could easily adjust the tower shape (height, thickness, radius, etc.) to get closer to our desired floor surface area (between 1,200,000 and 1,500,000 SF).

image

Figure 2: Rounded triangle parametric tower

Once we achieved our rough desired structure, we could then use Dynamo to change different parameters and observe their impact on the floor surface area, gross surface area, and tower volume. For that, we selected our tower in Revit using the Select Model Element Dynamo node. Then, using a custom node, we evaluated different parameters (in this case the Tower Height and Tower Radius). The Tower Height ranged from 400 to 600 feet, with 50 feet increments, while the Tower Radius ranged from 100° to 150°, with 10° increments. We used a cartesian cross-product to obtain all our scenarios. This logic is shown in figure 3 below.

image

Figure 3: Selecting the tower and modifying parameters - Part 1

Step 2 - Gathering results for our complete building analysis

Then, as shown in figure 4 below, we compiled the results together in an Excel document for easier use. The node List Map helped test each case of Tower Height and Tower Radius for the floor surface area, gross surface area, and tower volume. The results obtained are shown in Table 1 in the Results section.

image

Figure 4: Exporting our results - Part 1

Part 2 - Flexing an alternative design: custom three-tube tower

For this part of the project, we used created our own design in Dynamo, as shown in figure 1 in the Overview section. We then flexed this form to our liking, and gather some expansive results in order to complete our building analysis.

Step 1 - Creating the structure

1.1. Gathering user input

Firstly, we need to gather some input from the user in order to control the shape of the structure. The inputs chosen for this structure are shown in figure 5 below.

image

Figure 5: Prompting user inputs - Part 2

Our structure is shaped on circles placed at the extremity of three equilateral triangles. These triangles are centred along the same axis but have different orientations, sizes, and heights based on the user inputs. The triangular base slider helps control the overall size of the triangle. The section height slider helps control the height of the selected section (either the middle or the top section). The radius amplificator slider allows to augment or diminish the size of the circles place on the triangle. When closer to 0, it gives the tower a thin shape, and vice-versa when closer to 2. Finally, the section rotation slider helps the user to choose by how many degrees a section is oriented. When selecting 60°, the section will be rotated 60° clockwise on the z-axis.

1.2. Create the wire structure

After gathering the user inputs, the wire structure for our tower can be created. The different steps are shown in figure 6 below.

image

Figure 6: Defining our geometry - Part 2

As mentioned in the previous sub-section, we created three different equilateral triangles at three different heights. We then placed nine circles at each end of the triangles. We then rotated the circles along the z-axis according to the user input in order to create the tower’s twisting shape. We then selected each circle based on its height.

1.3. Merging geometries and lofting our structure

After having isolated the circles based on their height, we joined them using the List Create node. We matched a circle from the bottom section, with its corresponding circles in the middle and top sections as shown in the Merge Geometries group from figure 7 below. We then lofted and created a solid from the structure in order to obtain our final shape.

image

Figure 7: Merging wire structure and lofting the final structure - Part 2

Step 2 - Extracting results for our complete building analysis

2.1. Extracting our measures of interest

From the solid described in step 1.3. before, we could then extract some valuable measures for our building analysis.

image

Figure 8: Extracting the measures of interest from our structure - Part 2

First, using the Solid.Volume node we could compute the volume of the tower. We then extracted the exterior surface area as shown in the group Extract Gross Surface Area. We exploded our solid into several surfaces. We then took the normal vectors of each surface in order to select the ones we wanted for our analysis. Z-vectors of -1 and 1 were excluded as they represented the roofs and floor of the structure. We then added the remaining surfaces to obtain our final gross surface area. Finally, we extracted the floor areas of our building. As shown in the Evaluate and Extract Floor Surface Area group, we created rectangular planes at every floor level. Each plane would “cut” our solid on the horizontal plane. We would then store and add each resulting surface to obtain our total floor surface for the building.

2.2. Compute our measures and export results

Finally, we needed to create different scenarios by flexing certain parameters for our building model analysis. In this example, we decided to play with the Tower Height and Middle Section Base Length (i.e. thickness at the midsection).

image

Figure 9: Computing the measures of interests based on different inputs and exporting the results - Part 2

For that, we created a custom node from our Dynamo code developed in the previous steps. We would leave the “Building Height” input empty, and use List.Map nodes to find our desired measures for different building heights. In this case, we played with the Tower Height ranging from 600 feet to 800 feet, with 50 feet increments. We flexed the Middle Section Base Length manually, from 40 feet to 55 feet, with 5 feet increments. We then exported our results in an Excel document. Our final results and recommendations are shown in Table 2 of the Results section.

We could have used, however, a different approach for this final part of the assignment. Instead, using the Function.Apply node would have allowed us to flex the two parameters at the same time. However, it seems that our Dynamo code was corrupted and we couldn’t use this method. The method we used is less convenient for processing large amounts of variables, but it worked out OK for this example!

Special thanks to Nico for trying to help me fix my code out :) <3