*Values are all imperial with area using feet squared and volume using feet cubed.
Part 1
For part 1 I used the twisting rectangular mass to test the effect of changing the total building height on the gross surface area and gross floor area of the building. The generated mass is as shown:
These are the initial values I used for the tower. The building height parameter shows the current end result of 600’.
I used a dynamo script along with the BuildingFormEvaluateSingleInput node that was provided in the CEE 220C folder to test the effect of changing the height of the tower on the surface area and floor area:
I directly chose the mass from the Revit model and uploaded it to the dynamo script and used the Building Height Parameter and Gross Floor area and Gross Surface Area parameters to report the changes:
The resulting data was then uploaded to an excel spreadsheet:
Results of manipulating only a single input:
Part 2
For Part 2, I generated my own form using Dynamo profiles and geometry. I wanted to create an octagon shape like the Huang Engineering building. However, my dynamo script is set up in a way that this could be easily changed within the custom node using a number slider. The geometry can also be rotated and includes a middle and top rotation. The current model is set to 0 because my computer was taking too long to generate the twisting design. Here is a screenshot of the resulting form output from the custom node. The surface and floor mass volumes are not shown, but they are calculated in the custom node data that is displayed in the resulting data sheet below.
2 Input Variables to be Tested: Radius and Top Height Value (Z Value of the Top Profile)
I used a dynamo script to generate the octagon geometry profiles. There is a base, middle, and top geometry. They also do not necessarily need to be octagons since there is a value in the custom node that changes the number of sides. The middle and top geometries also do not need to be at 0 rotation as there is a value input that allows for rotation in the input values. this image shows the overall flow of the dynamo script that includes the custom node:
This image goes into mode detail about the values included in the custom node “TowerByRadiusAndTwist”. It is a custom node I created by following the examples in the module. I created 3 profiles from a radius input. Two of the profiles are then translated upward using a z value that increases the height of the middle or top value. These profiles can then be rotated with a middle rotation or top rotation. The profiles are then made into a surface and a volume. The volume is outputted from the custom node to the main dynamo script so that the resulting form can be viewed. The node also calculates the total volume and gross surface area of the design using Surface Area and Volume addition. I set up the node to also create surfaces every 10 feet which are the equivalent to creating “surface floors” in the previous example. I used the same logic of having a radius calculation that creates a surface every 10 feet that is then calculated into a total floor surface area calculation depending on the parametric values inputted.
Here are the inputs from the main script that go into the custom node:
This image shows the profiles being created and the same logic being used to create the profiles for each of the surface floors. The profiles then made a solid with a volume and a surface. The surface is then divided every 10 feet and a new XY plane surface is created that serves as a mass floor.
The outputs of the custom node are the gross volume, gross surface area, and the gross floor area.
In order to properly display the resulting solid, I used the custom node that directly inputs the final numbers of the test into a mass as seen in the screenshot above. I could not see the final design previously since the data table only displays the data. This helped change the script so that I could visualize the results.
The last part of the script uses function apply to generate values for each of the test cases. For my two values that were changed, I used the radius of the profiles and the total height of the volume created. The list of input variables was then added into the Function.Apply node to generate the list of different alternatives. The list was then transferred to an excel data sheet.
Here are the results of the tests conducted: