Part 1
Two Variations of the Building Form
To create this two variations of the building form I first loaded the twisting cog family into Revit and made the floors and mass floors. I then used the following code blocks to select the Revit element and create variations of the form with different outer radius values (parameter that can be flexed) for the top most cog. The output of the visual code for part 1 as shown below is the gross floor area, gross surface area and gross volume.
I created a custom node to vary the top cog outer radius one at a time and create the building form for each instance. The images below show the features of the custom node I created. In the custom node I load the values of the parameter I want to test and then I use a transaction start and end code to allow the building form to be created for each particular outcome.
Results of Part 1:
Part 2
Two Variations of the Building Form
I decided to make a twisting star shaped tower for the second part of this tower because I think its a unique shape I have never seen done in reality. I used the following code block to create the variations of the building form. In these code blocks the parameters that can be flexed are the height of the tower and the rotation of the star midway along the height of the tower. The building parameters that remain the same are the radius of the outer and inner points to make the star shape and the rotation of the star at the top of the tower.
In the visual code I created a custom node to make the star tower geometry. The different code blocks to achieve this geometry are shown below. I tested the different building instances with varied mid rotations and tower height by using the ‘function Apply code’ to compute the gross volume, surface area and floor area for the different combinations of mid rotation and tower height.
First I made the points on the outer radius of the star and I made the points on the inner radius of the star with the following code block. Next I connected the points with a continuous line that resulted in a poly curve.
Next I created the mid and top stars by translating the base star up and rotating them with the following code block. In this code block I also compute the floor mass areas at floors spaced 5 feet apart.
The output of this custom node is the gross volume, gross surface area and the gross floor area as shown in the below code block.
Results of Part 2:
In summary the parameters that can be flexed to dynamically change my building form are:
Part 1:
- Top Cog Outer Radius
Part 2:
- Tower height
- Rotation/Twist of the center of the tower