Parametric Building Model

The task was to create a Building Information Model and a Parametric Design for a selected case study. For my case study I selected HSB Turning Torso designed by Santiago Calatrava, an eminent Spanish architect. The project is located at Malmo, Sweden and is recognized as the tallest residential tower in EU. The construction was completed in 2006. More details about the project can be found at http://www.calatrava.com/

(Source: http://es.wikiarquitectura.com)
Creating a Building Information Model:
Information Collection
Before initiating the 3D modeling, the first step was to gather as much information about the building as possible. Most important among those were plans, details, 3d models and pictures/videos. Being a recently completed and renowned building, its widely documented. Hence the information gathering was not difficult. (The sources that were used in this project have been mentioned in the reference section)

Creating Mass Family
There are three major elements to be modeled as mass

Concrete Floor Mass 
As a whole, the building was composed of a single floor profile rotated by 90 degrees clockwise from bottom to top. Angle between each floor was 1.6 degrees. 5 Floors were combined to form a cube and there were 9 cubes in total forming the building. Angle between each of these cubes was 10 degrees and they were separated by one floor (open to outside). There are total of 57 floors in this building.

Concrete Core (Shear Wall)
A cylindrical concrete core runs through the building and it encloses lifts, staircases and major services. The thickness of the core reduces from 2.5 m at bottom to 2 m at top. 

Steel Spine
A steel spine runs on the outside serving as a mechanism to transfer lateral load. The path followed by spine is same as floors.

Most important requirement of the project was that the mass had to be parametric. That is, one should be able to control and modify critical building dimensions. Besides, some assumptions have been made while modeling in order to meet the requirements within given time frame.

Assumptions made:
Even though the lower cuboid has 3 extra floors (to accommodate for common areas like lobby etc. of the building), all of the cuboids have been assumed to have equal height dimensions and have 5 floors each. Each of these cuboid is followed by a common open area having a height same as floor height. 
Even though the thickness of core decreases as we go up, this project assumes it to be constant throughout.
Elements of bracing have been modeled as cylindrical (original project has cigar shaped elements). There are small bracing at each floor level. To avoid the complexity these floor elements have not been modeled.
Lets get started.

Floor Mass:
CAD plan was worked out using the floor plan image. The plan was imported into Revit conceptual mass family. The profile was traced at Level 0 and Level 1 (197 m above). The Level 1 profile was rotated 90 degree clockwise. Create form command did not result in desire profile.Whenever using top and base profile to create a sweep, Revit always considered sweeping the nearest edges. 
The solution lied in creating the profiles at all level without any rotation and somehow driving the angle between them through a parameter.
The modeling approach is shown through figures below.
10 levels were created and linked through related height parameters. They are named from L1 through L10

Level and Height Parameters
A reference line was drawn on level one work plane. The idea was to draw a geometry on the work plane of this reference line, so that the form can be driven by the line. Later the reference line was given angle parameter in order to control its rotation. This process was repeated for every step. The angles assigned to reference lines at each level were interlinked using formula. The outline of building floor was drawn as reference line (using model lines at this stage results in form not being updated automatically). Selecting the outlines at each level, the building form was generated.

Dependent Parameters in Conceptual Mass Family
User Controlled Parameters in Conceptual Mass Family
L1 through L10 - Control Level heights (L1 the lowest and L10 being highest)
A2 through A10 - Control Angle of main reference line at each level from level 2 through level 10
User Controlled
LevelHeight - Controls height between each level
LevelFactor - Controls ratio of height between each level
BaseAngle - Controls angle difference between each level
AngleFactor - Controls ratio of angle difference between each level
DistanceSpine - Controls location of spine wrt main building
SpineRadius - Controls dimension of spine
RadiusIn - Radius of inner circle for the shaft
RadiusOut - Radius of outer circle of shaft
RibHorizontal1 - Radius of rib on building side
RibHorizontal2 - Radius of rib on spine side
RibDiagonal1 - Radius of diagonal rib on building side
RibDiagonal2 - radius of diagonal rib on spine side
RadiusVoid - Inner radius of the void that cuts main building at each level

Building Profile (made of reference lines) copied at different levels
To create the open spaces after each cuboid, voids were used. The void geometry was also related to the reference lines and the height was linked to the level heights through formula.

Voids at different levels
Void Profile (also made of reference lines) at different levels
Central Shaft:
Central shaft was made of concentric circles at level 1 and level 10 (topmost level). The circles were also associated to the main reference lines at those levels. Inner circles were used to create a void which cut the solid form created by outer circles.

Central Shaft (made of two concentric circle)

Different Geometrical Elements in Family

Family seen with major parameters
Spine was the most challenging part of the project. Intention was to model a spine element whose radius as well as distance form the main building could be controlled. Modeling the circular shapes at each level and then creating a form with them was a solution but it could not be changed. Since it had to move along with the building profile at each level, its distance could not be referred to the vertical planes. The issue was resolved by introducing two reference points - one at building center and another at circles center. These two points were then dimensioned.

Spine with horizontal and diagonal ribs

Spine seen with driving parameters

Major drivers of Geometry (with associated parameters)
The ribs were of two kinds:
Horizontal ones were modeled through reference circles hosted by reference points present at the ends.
For diagonal ribs even though complexity was observed initially (since the length will change if the rotation of levels is changes), the issue was resolved by reference circles hosted by points at each end (similar to horizontal ribs).

Creating Curtain Family:

The project has two types of windows applied on facade. There are rectangular windows and circular elements at the edges where ribs meet the building. Both were modeled in a similar fashion. Rectangular "curtain panel pattern based" was used as base template. Reference rectangle (or circle) was made with center point being host. The required geometry was achieved through two solids (for wall and glass pane) and a void (to create opening in wall). The parameters of reference line and solids was controlled to achieve a flexible family where wall thickness, glass thickness and window dimension could be altered.
Square Curtain Panel
User Controlled parameter in Square Curtain Family
Circular Curtain Panel Family
User Controlled parameters of Circular curtain panel family
T_Wall - Thickness of surrounding mass
T_Glass - Thickness of glass panel
T_Void - Thickness of void cutting the outer mass
W_Window - Window width
H_Window - Window height
R_Window - Radius of circular window
Material_Wall - Wall material
Material_Glass - Glass material

Project Level:

All of these families were imported at project level. Levels were drawn for each floor and mass floors were created afterwards. Floor roof and walls were applied to different surface. Floor 2 was detailed to give a sense of space use.

The major limitations observed were:

  1. Revit does not identify floors within complex families. For this project, when the main structure was imported to project along with the spine, Revit was unable to generate mass floors.  
  2. Speed slows down drastically while dealing with complex families at project level.
  3. Moreover, while creating the curtain family, void size had to be more than (and not equal to) the solid it cuts. If its equal, Revit assumes a surface in the place even when the design intent was not so.

Playing with the parameters