Monday, November 26, 2018
The Turning Torso is a 190 m (623 ft) tall building in Malmo Sweden. It was design by Santiago Calatrava as the first "Twisted Skyscraper" in the world and was completed in 2005. The Turning Torso consists of 54 floors grouped into 9 twisting blocks that twist 90°. The bottom 3 blocks consist of office space, meeting rooms and retail/restaurant space while the top 6 blocks are primarily residential space with a few large meeting rooms scattered on various floors to take in the views. In addition to the main building body, an exterior spine is attached to the building at the point of the floor plan to provide lateral support for the structure.
The major emphasis for this project was to use Dynamo to enhance our original Revit model created for the midterm. After taking some time to understand how Dynamo worked I realized that I could recreate the original Revit file fairly quickly using Dynamo while also enhancing the parametric capacity and quality. The biggest change between the original Revit model and the Dynamo model is the added ability to change the number of floors along with the simplicity of user input in the design.
Step 1 – Create the Key Parameter (Constraint) Integer Sliders
Integer sliders are used to select the five key parameters. Integer sliders allow the user to select control parameters within the constraints set by the designer. These parameters are the: Base Angle, Top Angle, Number of Floors, Floor Height, and the Main Body Radius. The Base Angle is a range from 0° to 360° in 5° increments. The Top Angle is a range from 5° to 360° in 5° increments. The Number of Floors is a range of 6 floors to 54 floors in 6 floor increments. The Floor Height is a range of 8 ft. to 15 ft. in 0.5 ft. increments. The Main Body Radius is a range of 40 ft. to 100 ft. in 5 ft. increments.
Step 2 – Manipulate Key Parameters to Create Points on Multiple Levels
The next step is to manipulate the key parameters to allow the user to create points on multiple levels. Without Dynamo the user must manually copy and paste the floor plan onto each level and manually assign an angle of rotation for the local axis. Thanks to Dynamo this very tedious step is just an afterthought.
Step 3 – Create Cylindrical Coordinates and Floor Plan
One of the biggest advantages of Dynamo was the ability to create points on a cylindrical coordinate system. Instead of needing an x, y, and z, coordinates for each point, Dynamo creates points using a radius and angle of rotation that can be easily changed as the floor number increases. X, and Y coordinates from the original project were turned into polar coordinates and used to make the floorplan for this model. Another task that is easily programmable in Dynamo is the creation of each floorplan through the use of Dynamo’s line functions. Through the use of lists Dynamo automates the creation of each line on each level (12 per level)
Step 4 – Create Mass and Surfaces
The next step is to create the mass model and the surfaces on the main building. Ultimately we will only use one or the other but both were created to show the capabilities of Dynamo. The mass is created first using lists to manipulate the desired cross sections since every 6th floor has a void missing from the side opposite the spine. These lists are then used to create the divided surface for each section negating yet another vary tedious task in Revit. The warning signs shown below are due to the fact that the list is not full and have no effect on the model.
Step 5 – Create Spine Coordinates and Grid
Creating the Spine was the hardest part of the project to do but ultimately had a pretty simple solution. This step starts by creating the 3 polar points needed to create the spine. This was followed by dividing the range of the angle change by 6 since the spine segments are to span 6 floors at a time. Then, by using lists commands to control the indexes of each point we are able to create 4 lists. One for each corner point and two for each point on the central spine that will allow Dynamo to create both the horizontal and diagonal elements needed for the spine.
Step 6 – Create the Spine Mass from Grid
The final step is to create the spine mass from the coordinate grid created in step 5. Since we created the 4 lists this is a relatively easy task and is accomplished by connecting the right start and end points of each line that create the four segments. From here we can use the vector by two points and plane by origin and circle by plane radius commands to create circles normal to each grid line. The final mass is created by sweeping the circular cross section along the four grid lines. A vertical column is created along the central spine point to put the finishing touches on the mass model.
There are a few limitations to this model due to the way Dynamo processes certain variables. Unlike constraints these limitations may occur and cause the model to fail. The constraints are as follows:
- The top angle must be at least 5° larger than the base angle.
- If the change in angle is 0°, the range command will return NaN instead of 0's and will not allow the model to generate
- The first floor is the same height as the normal floors to keep the programmer sane.
- The first floor in the original Revit model is twice as high as the rest of the floors. In Dynamo this caused a programming nightmare that was simplified by maintaining a consistent height.
- The spine will cut into the building mass if the building rotates more than 10° every 6 floors.
- This can be fixed by changing the multiplier on the spine point coordinate to move it further away from the building or by repeating the spine components after a smaller number of floors.
- Members of the spine have a uniform cross section instead of swelling at the middle
- Windows/façade will be manually added after the mass is completed
Other Challenges in Dynamo
Other challenges were encountered in the making of this model but were either worked around or solved in a way that does not limit the model. The first was in the way Dynamo rounded numbers applied to a range. If Dynamo rounded up it would often cut off the last floor since its value would exceed its range by 0.0001. To get around this angles in particular were rounded down at the 100,000ths decimal place to ensure the model behaved. The model currently only twists counter-clockwise but this is able to change due to a -1 multiplier on the angle range in section 2. Another challenge in Dynamo is the creation of voids. To work around this lists were created in section 4 that grouped each like cross section. Instead of creating a single mass with voids Dynamo creates each section of like cross sections.
Wednesday, November 7, 2018
The major emphasis for this project is to have a design that is as parametric as possible. This, in addition to the exposed structural supports, is the reason why I chose to model this building. My goal for this project was to have as many of the the building's dimensions dependent on as few of the constraints as possible within reason. Throughout the modeling process I will explain how this was achieved.
Step 1: Create the floor plan
The first step in the process is to create the floor plan. The base floor plan of the turning torso is a pentagon with the bottom and two lower sides curved and with the top point extended twice as far from the original point. After many different attempts to get a properly behaving floor plan the best course of action I could find was to control the x and y (and later the z) coordinates of each point. The exterior shape has 7 points and the interior has 2 points resulting in 18 coordinates that were reduced to 10 coordinates for simplicity for this project. Each of these points, as well as the radius of the curved sides, are dependent on the radius of the pentagon.
The other key to this design was to create a new x and y axis that were locked to the origin of the pinned x and y axis that could be controlled by an angular parameter. Building on this new coordinate system allows the user to rotate each floor as seen in the figure below.
Step 2: Create the basic mass
The next step in the modeling process is to create the overall mass for the building. Each of the nine blocks have the same cross section that can be achieved by creating a form in revit between the top an bottom of each block. The same floor plan created in step 1 was copied and pasted 19 times to create 20 patterns to make forms off of. The first floor of each block has a slightly different shape that includes a cutout with panoramic glass that offers incredible views.
When the floor plans were copied the angle between the artificial coordinate system and the original system was changed based on the floor number as shown below.
This step added the final parameters that govern the majority of the model. The first parameter is the radius of the the base pentagon. The second, added in this step, is the angle of the top floor. The final, also added in this step, is the height of each floor. The figure below shows the simplified model when these 3 parameters are changed from the original building values. As you can see the building keeps its overall shape while changing the entire body.
Step 3: Create the spine mass
The next part of the building that needed to be modeled was the exterior spine. This spine consists of a single vertical column that follows the rotation of the building mass, 18 horizontal members that connect to the corners of the pentagon sides at the top floor of each of the 9 blocks, and 18 diagonal braces that connect to the end of the horizontal members and to the vertical column the next block down. The location of each spine is also a function of the parameters created in the main building mass. Currently, the size of each spine member are constant parameters but could be changed into dynamic parameters based on the same parameters if a structural analysis were to be performed.
Step 4: Create the floor mass
The next step was to create the masses for each floor. This was excessive and unnecessary but helped to make a complete building mass. This process is a repeat of step 2 but for every floor instead of every block.
Step 5: Create the curtain panel windows
The final mass to create for this project was the curtain panel windows. This relatively simple task was made difficult by the fact that the curtain panels had to flex with the building rotation and were almost never at a right angle. This challenge was overcome using spline lines instead of regular lines to allow the panels to flex as needed. The turning torso consists of two types of windows as shown below.
After adding all of the separate mass files into the main mass file and linking each of the variables the mass model was completed. The results were a fully functioning mass model that is driven by 3 key parameters that can completely alter the building while maintaining the original character of the design.
The following images show the original model of the turning torso and an example of the model flexed with a top floor angle of 0° instead of 90°, a base pentagon radius of 65 ft instead of 50 feet, and a floor height of 15 ft instead of 11.5 ft.
After this the complete mass model was put into an architectural project where furniture could be added and the project completed.