Sunday, March 18, 2012

ARCH 653: Seattle Central Library

Adeleh NEJATI
Spring 2012


Architects: OMA + LMN
Location: Seattle, Washington, USA
Key Personnel: Rem Koolhaas and Joshua Prince-Ramus (Partner-in-Charge), with Mark von Hof-Zogrotzki, Natasha Sandmeier, Meghan Corwin, Bjarke Ingels, Carol Patterson
Consultants: Arup, Bruce Mau Design, Davis Langdon, Dewhurst Macfarlane, Front, HKA, Hoffman Construction, Inside/Oustide, Jones & Jones, Kugler Tillotson, Magnusson Klemencic, McGuire, Michael Yantis, Pielow Fair, Quinze & Milan, Seele
Client: Seattle Public Library
Program: Central library for Seattle’s 28-branch library system, including 33,700 sqm of hq, reading room, book spiral, mixing chamber, meeting platform, living room, staff floor, children’s collection, and auditorium, and 4,600 sqm of parking.
Project year: 1999-2004
Constructed Area: 38,300 sqm
Budget: US $169.2 M



Project 2: Accessing BIM Data for Creative Design and Application


For the second project, I implemented API programming for manipulating the Seattle library Building façades in order to create more openness and transparency for southern façades and less for other ones. Using CSharp programming, I create 2 series of curtain panels with random sizes in different part of building and also random gray color for their framing.



The first step was creating the material for curtain panels' frame (My Material):

//Create the material
ElementId materialId = Material.Create(familyDoc, "My Material" + m); // adding random m to avoid same names used when running the program multiple times.
material = familyDoc.get_Element(materialId) as Material;



The second step after obtaining the family ID (in the project's file) was specifying the curtain panel IDs in different part of facades:

IDS = new int[] { 11370, 11371, 11375, 11376, 11378… };
IDS = new int[] { 20098, 20100, 20101, 20104, 20105… };




Then we define a function for thickness and color using provided IDs, family document and material:

SetThicknessColor(IDS, familyDoc, material);



The function “SetThicknessColor” will be implemented in three different steps for every single ID:

Region 1: Getting objects which are curtain panels
Region 2: Obtaining instance parameters of panels which are "thickness" and "Frame material"
Region 3: Calculating new values for these parameters
  •      Finding a random thickness from (1, 3) for southern façades and (2,4) for northern facades
  •      Finding a random number in the range of (50, 150) and giving it to red, green, and blue elements of the color which create random color with gray tone
Region 4: Creating parameters using new values


#region 1 Get objects
// use id to get the curtain panel instance
//ElementId id;
id = new ElementId(IDS[n]); //ID value of the panel family instance, obtained from the Revit model
FamilyInstance panelInstance;
panelInstance = document.get_Element(id) as FamilyInstance; //Get the element by ID and cast it to FamilyInstance
#endregion

#region 2 Get instance parameters of the objects
Parameter panelThicknessParam = panelInstance.get_Parameter("Thickness");
Parameter panelMaterialParam = panelInstance.get_Parameter("Material");
#endregion

#region 3 Calculate new values
double thickness = random.Next(1, 3);
byte red = (byte)random.Next(50, 150);
byte green = red;
byte blue = red;
Material myMaterial = material.Duplicate("My Material " + m + "-" + n);
myMaterial.Color = new Color(red, green, blue);
#endregion

#region 4 Set parameters of objects using new values
panelThicknessParam.Set(thickness);
panelMaterialParam.Set(myMaterial.Id);
#endregion



After loading the Project2.dll into the Revit project (using add-in manager) and running CurtainPanelByPatternCommand, the result showed up:







Project 1: Parametric BIM

Parametric Mass Modeling

The Seattle Public Library building has a complex architectural design; therefore, implementing Revit and parametric BIM is one of the best ways of modeling this building more efficiently and precisely. Although there is not a single equation that can be used for the whole modeling process but in each stages of creating the volume, one can parameterize different parts of the form in terms of their width, length, height and adjacency related to other parts of the whole building.




The Seattle Public Library building is created from five different parts that can come together as one single volume. Each part can be defined with two different profiles on top and bottom and can be created using loft as the relevant way of making forms. Parametrically, we can control the width and length of each profile by a simple equation; also we can parameterize the height between the profiles in the process of its mass modeling. Another point in creating this form is the position of different parts of the form on top of each other regarding X and Y axis; the position of each profile related to its top/bottom profiles also can parametrically be controlled in order to have a flexible building mass model. 



First, six horizontal levels in different elevations were defined with a parametric height value between each two of them. Then the profiles were created in each level using reference lines; each profile was given parametric dimensions, width and length. Regarding the original model, each two of these profiles shares similar parametric dimensions. The next step was defining the slope of façade connecting three different parts of the building. This slope was controlled using distance parameter (both in X and Y axis) between different profiles in diverse levels. At the end, by using loft as one of the tools for making forms, the general building model was shaped out of the parametric profiles in different levels. After creating the general form of building, some details were added through adding vertical reference plan and profiles, connecting them to the whole building by using the “Create Form (loft)”, and finally polishing them by adding edge and etc. Eventually, the Seattle Public Library building was created from seven different masses that can nicely been controlled parametrically.



Creating Parametric Façade

The Seattle Public Library building façade is built using curtain wall system with a consistent pattern throughout the whole building. The first picture below shows the pattern that I created using the rhomboid tile pattern grid with a rectangular frame and a glass panel in side; the material of the panel is parametric so we can control it after loading into other families or projects. Generally, the façade was created by dividing the surface of parametric mass model, applying the designed pattern to it and controlling the density and size respectively.