Sunday, December 4, 2011

ARCH653 Final Project

Introduction & Background
In previous project, I created the model of Allianz Arena, a soccer stadium in Munich, Germany. One feature of this stadium is that it changes its color at night based on the host team. Since the stadium is the home to 
two clubs - Bayern and TSV 1860, when Beyern has a game, the stadium will appear red; and when 
TSV 1860 has a game, the stadium will appear blue. If there are other teams have a game, the stadium will appear white.
To realize the effect, I put lights behind the curtain panels, by changing the color of the lighting, the stadium will appear different effects.

















Method & Implementation
First of all, I do some changes in the model. I put lights on 4th to the top floors. The lights are placed just 
behind the curtain panels, so that I can use them to light the whole stadium. The key point is to change 
the color of the lighting, I manually change the light color filter to get the color I want. To assure the lighting 
effect, I make some adjustment to the material of the curtain panels - set the color into white, reflectance as 
90%, transmittance as 100%.
Secondly, I need to set a parameter to input the name of the host team. This parameter is very important, 
because it will drive the color change. Since the color change control the effect of the whole stadium, I set 
this parameter under the mass family. Later, I will change the text content of this parameter, combining with C# program, I can realize the color change.
















The third part is to build the code with C# Express. 
Basically, there are six steps:
1. Initialize, get the project, and start a transaction
2. Get objects by Ids
3. Get parameters of the objects
4. Get values of the parameters
5. Set parameters of objects using new values
6. Commit the transaction and terminate the API program
I would discuss step 2 to step 5, which is the essence in the source code.
In step 2, I get the Id of a light instance at the project level. The light is selected randomly, because later 
I will change the type parameter of the light. Any instance from the family enables me to access to the type parameter. 
The mass family Id is also got at the project level.




Step 3 includes two parts: 
1. Get instance parameter of the objects
For mass family, I need the parameter of "HostTeam", which is the driving    
parameter of the color change.
2. Get type parameter of the objects
For the light instance, use its Instance Id to get its Type Id. Under the Type Parameters, the Color Filter 
parameter is what I need finally, and it will be changed according to the HostTeam parameter.




Step 4 is the instruction of the color coding. 
In C# program, LightColor - 
16711680 represents Blue, 
225 represents Red, 
16448255 represents White.  













Step 5 is to calculate the new values of the light color.
It is decided by the HostTeam.
Red for "Bayern"
Blue for "TSV 1860"
White for any other team
Finally, once the source code project is built successfully, I can run it in Revit model. 
In Revit, select the mass family, for the HostTeam parameter, change its text content to "Bayern". 
Then use the Add-In-Manager tool to run Project2.dll file. We can see the effect from the Lights view 
under 3D views. By rendering with exterior artificial only setting, the stadium will appear red lighting effect.
If we change the HostTeam parameter, and run Add-In-Manager, we will see the lighting effects accordingly.

Results







































Reference
1. For Light Color Filter parameter
2. For Color Code

Monday, October 31, 2011

BIM Project by Revit Architecture 2012

In Project1, I choose to build the model of Allianz Arena, which is a football stadium and home to both Munich clubs - Bayern and TSV 1860.

















Basically, there are three steps in modeling:
1. To build a parametric mass family to control the shape of the model.
2. To build a skin family to control the facade of the model.
3. Load mass family and skin family into a project, creating the real building based on the mass.

Specific Process in the three steps
Creating Mass Family:
My idea is to build the axonometric drawing of the stadium firstly, then use the function of Sweep to 
form the basic shape of the stadium.
1. Floor Plan
Based on the information about Allianz Arena, draw the floor plan
Set Parameters as:
Arena Length - User define
Arena Width = Arena Length * 0.88 
            Based on the Width& Length ratio of the original building
Arena Corner Radius = Arena Length * 0.25
            By estimation

















2. Axonometric drawing of the stadium
Set point on this line, draw on the plane of the point which is perpendicular to the floor plan plane.
By estimation, set the height of the stadium as 160 feet. I simplify the building into four floors - 
Lower Tier, Middle Tier, Upper Tier and Roof, so each floor is 40' high.
Seats have row gradient: Lower Tier = 24°
                                         Middle Tier = 30°
                                         Upper Tier = 34°
Now I can get the depth of each floor:
Lower Tier Depth = 40' / tan(24°)
Middle Tier Depth = 40' / tan(30°)
Upper Tier Depth = 40' / tan(34°)
Roof Length = Lower Tier Depth + Middle Tier Depth + Upper Tier Depth
Set the arch of Roof as 20°
The radius of the outside half circle = 120' 
Use reference planes to realize these dimension control









3. Choose the axonometric drawing and the frame on the floor plan, create form, I get the primary
mass model like this.













Creating Skin Family:
1. In the mass family, divide specific surfaces into grids.
2. Choose the pattern and curtain panel similar to the original building.
3. Make changes to the curtain panels to get the same visual effect to the original building.
4. Create a parameter to control material of the curtain panel, later I can change the color of 
the building based on the football game demand.





















Creating BIM Project:
1. Load the Mass and Skin Families into a project.
2. Turning the mass surface into floors, exterior walls and ceiling.
3. Adding seats, lights, floor entrances and football field.
4. Under the Stadium, there is a huge parking lot.
The inside view and outside view of the finished building
  
























Experience from Revit modeling application
Generally, I get good experience in creating my building by Revit. The generic mass family enables  me to create the building of special shape. I can easily change the shape once I defined the control parameters. Revit also reminds me of the error in modeling. For example, once I create the axonometric drawing of 
the stadium, when I use command of sweep, Revit refuses the command by telling that self-intersecting 
or singular geometry would result. Then I know I need to adjust the dimension of the model.

Some limitations I met in modeling:
1. Once I use the command Sweep to form the mass, I cannot easily change the dimension of the building, 
it will show errors when I try to increase the length of the building. But before using Sweep, I can 
freely increase the length.
2. In creating the skin family, I met the most challenging part in the project. There is no existing 
curtain panels with the same shape to the real building, which is parallelogram. So I tried to 
create the specific curtain panel. But I met a lot of problems.
The professor and the other students gave me some suggetion. However, each method
has its own limitation, which prevents me from making exactly the same curtain panels to the original building. Making changes in existing patterns and curtain panels is much easier than creating new one. Maybe in the future, Revit could include more family templates in the library. 

Test by creating different panels to fit the original building:
Using Rectangle Panel


Using OmniGrid 2*2 Template to create new panel





Parametric Control of the Model and Rendering Effects.