Parametric BIM through API

Coding

When creating the coding to change the colors of the facade, I modified the sample provided by Dr. Yan to be specific to my design intent and the model. I created 4 different commands or choices for the user to implement into the program. The first command tells Revit to select all of the panels and change the color of each in a range of random green. And the others are as follows: a change in color of the facade panels only, changing the bottom strip which may be specified by the user, and a checkerboard pattern that is predetermined with a red and blue pattern.

 

 

screenshot14

Figure 1: The commands associated with the Revit Model

screenshot25

Figure 2: Revit Model of the Allianz Arena completed in Project 1

 

Process

I first started the process by doing a trial run with the Random Material Color application introduced in class. I selected all of the panels in the mass file and obtained their ID numbers through the Manage Tab in the Revit Ribbon. It was important to select the panels in the mass model level rather than the project level because that is where the C# code is calling the instances from. After completing the coding with the panels, I quickly realized that the material parameter that was being called was not linked to anything in the project. In order to make this function/program work correctly, the material parameter was then assigned to the panel surface in the mass model of the panel utilized in the divided surface option for the facade of the building.

Random ApplicationFigure 3: Changing the Random Color Code to run with Revit Model Generated

 

After successfully implementing the Random Color Application, I decided to change the code a bit to create a randomization of the colors in shades of green. This required changing the color ranges for the red, green, and blue that are specified in the code to be used when the program creates a new color. This resulted in all of the panels changing and creating a plethora of green panels for the facade. This is not something that is seen in the images of the actual arena, but could be used for a more dynamic aesthetic with the lighting used to illuminate the horizon when approaching the arena.

Random Green

Figure 4: Changing the Random Color Code to Create a randomization of the color green

 

To create different patterns on the model, I selected panels that would be used in the patterning and then used their IDs to define the material color that would be applied. The following screenshots show the implementation of the commands for the patterns.

 

02

Figure 5: Selecting Panels to obtain ID’s for patterns

Selection of Specific Panels2

 

Figure 6: Getting ID’s for patterns

Selection of Specific Panels

Figure 7: ID’s for checkered pattern

BottomStrip_Random

Figure 8: Running the code to select a random color for the bottom strip

checker_random

Figure 9: Running the code to select a random color for the checkered pattern

Random Checkerboard_Green

 Figure 10: Another variation with altering the colors in the code

 

 After running into many problems with the ID’s magically changing on me (I believe this is due to saving at the Mass Model level after running the API program/coding), I also developed the code a bit further to also call information from the Project Information to change the color that would be used for the Facade only and Bottom Strip command. Which can be seen in the following screenshots:

 

screenshot24

 

 

Figure 11: Commands to Run in the Revit Model

screenshot19

Figure 12: Specifying “Red” as the Bottom Strip Colorscreenshot18

Figure 13: After Specifying “Blue” as the Bottom Strip colorscreenshot17Figure 14: Changing the color of the panels not included in the Bottom Strip

screenshot15
Figure 15: Specifying the color Purple and using the Facade Only Command

screenshot13

Figure 16: Using the Checkerboard Command

Project 2: Design Intent

API Programming as a Design Tool

As I look at the many parts of my project that I created for the midterm, the one aspect of the model that can easily be changed with API Programming as a design tool are the curtain panels. This may include the use of the random coloring of each panel, but a more direct design intent like creating a pattern to represent the teams that are playing in the stadium or changing the depth of the panels to create a visual pattern when the stadium is viewed during the day. There are many images of this project that are available through the internet that convey this type of design intent to display a national spirit for the teams that call the stadium their home.

This will include identifying the different panels around the stadium that will be used in the patterns that can be created for the dynamic nature of the ever changing façade. A way to begin this process may include the use of a spreadsheet and elevations to first create the patterns and then writing the coding to implement different designs for different events. This parameter may also be assigned to the lighting within the panels, which is the way the façade is changed for the specific event that takes place there.

It will also be important to determine the location of each panel, such as the elevation or the order in which they occur on the façade.

 


Elevation of Model

Elevation of the Allianz Arena

Dynamic Nature of an Ever Changing Facade

Many faces of the Allianz Arena

Displaying Germany Colors

Allianz Arena – Project Description

Allianz Arena - Night View

Structure: Allianz Arena

Location: Munich, Bavaria, Germany

Client: Münchener Stadion Gesellschaft

Architect: Herzog & de Meuron/ArupSport

Structural Engineer: Ove Arup & Partners

Construction Cost: €340 million

Date: October 21, 2002 to April 30, 2005

Description:

The Allianz Arena, opened in 2005 and home to both major Munich clubs, Bayern and TSV 1

860, was designed purely as a football stadium. The architecturally unique arena was constructed in under three years.

The chosen path is highly innovative, with a futuristic interpretation of the basic football stadium concept. A cascade of colour can be projected onto the smooth lozenge-shaped exterior, which takes the form of a curved translucent shell, infusing the structure with an almost magical poetry. The three-tier seating arrangement guarantees every single one of the 66,000 spectators a close up view of the action, combining raw emotional interaction with all the comforts of a modern stadium. (Source: http://www.allianz-arena.de/en/fakten/bautraeger-architekten/)

Allianz Arena - Interior View of Field


Capacity:

  • Total: 71,137 capacity undercover (including executive boxes and business seats)
  • Total of 57,343 seats
  • Lower Tier: 10,289 seats (plus 13,740 standing area)
  • Middle Tier: 23,634 seats
  • Upper Tier: 21,592 seats
  • in the North and South Stands: 13,740 standing Vario-Seats
  • 2,200 business seats and seats for the press
  • 106 VIP boxes of various sizes accommodating 1,374 guests
  • 227 special seats for the disabled at main entrance/exterior ground level (no change of level)

(Source: http://www.allianz-arena.de/en/fakten/bautraeger-architekten/)

Parametric Modeling

 Schematic Design

image2

image_2

Process

The first step in creating the arena was to designing a parametric form of the exterior structure/façade. It was important to take into account the initial design intent for the arena, such as the overhang of the structure extending far enough to cover the seating. In the process of designing the parameters for the general or basic form of the arena, I decided to use the Length of the stadium or arena as the driving force for all the other parameters.

CAD 01

CAD02

Not knowing what the exact dimensions were for the structure, I imported the image into AutoCAD to develop a few relationships that could be utilized as parameters in relation to the overall length of the arena. Some of the relationships determined were as follows:

Total Depth of Roof/Façade Structure

                D_total = 0.312*Length of Stadium

Overhang for Seating

                Overhang = 0.600*Length of Stadium

Width of Stadium

                Width = 0.883*Length of Stadium

Distance from Soffit of Truss to Last Row of Seating

                Distance = 0.073*Height of Structure

Height of Structure

                Height = 0.667*D_total

Radius of Corner of Stadium

               Radius = Length of Stadium/3

Levels for profile of Facade

I also created an xy coordinate system to generate the curve used for the overhang and structure beneath it.
reference points for profile of facade

Other relationships between seating and the height of the stadium were also developed in order to determine the rows of seating and the length of each tier of seating. More parameters should be added to determine the amount of rows placed in each tier of seating, with more time I believe this is possible.

Sweep Facade Mass

Stadium Seating01

Stadium Seating Mass

After creating a basis for the model the next step was to create a form using the parametrically driven profile and the path created using the length and width of the stadium. Once the form is created, it is then possible to divide the surfaces of the form created. To create a façade that is similar to the one that was designed for the arena, a façade pattern was developed. Using a façade pattern template provided by Revit, I added a frame around the edge and a curved surface on each side to simulate the pillow top like façade in the design. Parameters were implemented so the user would have the ability to change the overall depth of the panel and the radius of the frame around the panel.

Once this has been completed, the next step was to create the structure for the roof of the arena. I used the parameters from the mass to create the truss used in the project. The placement of the structure in the project is not parametrically driven but could be something to look further in to. Other parameters need to be added to the web and chords of the truss in order to make it more user friendly, as of now it requires the user to move the members in the web to meet the chords for a more aesthetically pleasing result.

Creating Roof Structure

All of these families were then uploaded to the model to create the overall design of the arena.

Critiques/Problems

One of the major problems that I ran into was changing the dimensions/scale of the project through the parameters once the form was created. If I dissolve the form or start directly from the profile of the form, it is simple to change and all the parameters seem to work correctly. I believe this may be due to the amount of parameters being utilized in creating the form.

The divided surface is also another problem I ran into as far as being parametrically driven with ease. When adjusting the parameter for the driving parameter, Length of Stadium, it returns an error message about recreating the form with a new dimension. This may be directly related to the previous problem, in that it cannot be created as a form as well.

Error01 - changing length

The panel used for the façade of the building was a bit challenging in finding a way to create the parallelogram used for the actual design of the arena. I tried the Triangle Bent Profile, which seemed to work but when the panel was applied to a curved surface the two triangles did not meet. I also tried to include multiple curves to make the curved surface a bit smoother in transition, but that resulted in the panels not connecting correctly when applied to the curved façade. Other trials resulted in errors, but the simplest way to create the parallelogram was using the square grid and then just adjusting the U, V grids to get the desired look. The only problem here is where the portions of the façade meet, since Revit does not create a solid surface and breaks up the mass according to the lines that are used in the creation of the path.

Adding mass for seating

Panel Trial 02

Panel Problem - Not Meeting on Curve

The U/V grids on the corner section of the grid was also rotated 90 degrees, which confuses the process even more. I also discovered that the panels are placed backwards, reminding me that the material needed to be applied to both the top and bottom of the panels.

Problem with Facade on Corner

Overall, the project seemed to run smoothly, as possible, but in the end I might have implemented too many parameters in the design of the structure. Creating the model was definitely easier than starting from scratch in the project portion of the building. There are also portions of the project, like the stadium seating that need parameters to drive the seating created based on changes in dimensions.

Renderings

Exterior

Rendering02

rendering03

project11

Interior

project1

Rendering04

 
Video