Saturday, December 4, 2010

Jose Luis Bermudez Alcocer--ARCH653 FINAL PROJECT

The final project for the ARCH653 Building Information Modeling in Architecture course consisted to add some database to the parametric modeling from the mid-term project.  I continued working with the photovoltaic over the southern roof of the office building.  I did the next changes to my original project:

1) I increased the number of PVs (Num parameter) in relation with the length of the roof (RoofWidth). 
2) I changed the height (Height parameter) of the PVs.
3) I changed the angle (PVAngle parameter) of the PVs.  (I realized this through two different ways that will be explained later).

1. THE PROJECT

Figs. 1.1 and 1.1a show the roof view of the office building. Fig. 1.1b shows the Properties window with the used parameters in the Dimensions Area.

Figs.1.1 and 1.1a  Roof view of the office building
Fig. 1.1b Properties window with the used parameter in the Dimensions area

2. MICROSOFT VISUAL C# EXPRESS EDITION:  THE TOOL USED TO CODE INTO REVIT

I used the Microsoft Visual C# Express Edition for this project.  I wrote a code in order to assign the variables.  Fig. 2.1  shows the .code to assign the variables.  I had to place the ID number for the roof (186775) and the two lines of PVs (371291 and 378770).  These variables will be used by the parameters.


Fig. 2.1 C# Code with Microsoft Visual C# Express Edition
3. EDIT THE NUMBER OF THE PVs

Then, I wrote a code to set and get the parameter for the PVs and the length of the roof and change the number of the PVs.  Figs. 3.1 and 3.2 show the code to set and get the parameters.  The parameters in the GET PARAMETER section such as "Area" and "RoofWidth" come from the Revit Project file (Fig.3).  This will be connected to the code once it is uploaded and make the changes.


Fig. 3.1 Get Parameter code for the Roof, PVs, Height and PVAngle
 
The SET PARAMETER section has a equation to get the roofbase of the roof in relation with the Area of and the height the roof (Fig. 3.2). 


Fig. 3.2 Set Parameter code for the Roof, PVs, Height and PVAngle
 
Also, the connection between the length of the roof and the number of PVs is showed in this place through the next lines:

-The equation to calculate the roofbase is roofbase = (area.AsDouble() / 30.59375) - 8;
-Then, the number of PVs will change in relation to the size of the base of the roof through the next line:

pvroofwidth.Set(roofbase);

4. EDIT THE HEIGHT OF THE PVs

A part of the code will be used for a pop up dialog window to input the height of the PVs.  This area of the Command.cs is connected with the Form1.cs that has the information that the user will use to input the height of the PVs.
 
Fig. 4.1 The default new height is assigned in this part of the code
 
This part of the code (Fig. 4.2) will link the code for the height in the main code (Command.cs) with the physical pop window in the Form1.cs code file (Figs. 4.2a and 4.2b). 

Fig. 4.2 Pop window code inside Command.cs file

Fig. 4.2a Pop window to input the new height into the Revit file


Fig. 4.2b Pop window code in Form1.cs file

 Fig. 4.2c shows the Parameters used for the height:

Parameter height2 = pv2.get_Parameter("Height");

Finally, I want the user to input the height.  The height will be change automatically in the Revit file.


5. EDIT THE ANGLE OF THE PVs

I can edit the angle of the PVs through two different steps:

1) User can input the angle of the PV through a pop window (Form2.cs)
2) The angle of the PV will be extracted from a *.CSV file

1) The first step will need the next elements:

-Write down the default newpvangle and transform the angle from radians to degrees through the next formulae (Fig.5.1):

Fig. 5.1 The default new height is assigned in this part of the code

-The Form2 code needs to be active (Fig. 5.2).  This will allow the pop window into the Revit file and the user will be able to input the new PV angle:

Fig. 5.2 Form2 code for the pop window activated to input the PV angle

Fig. 5.2a Current pop window from the Form2.cs file inside the Command.cs file


-Fig. 5.2b shows the code used inside the Form2.cs file for the pop window.  There is another equation to change the radians to degrees and is connected to the OK button:

UserDefinedParameterReadWrite.CS.Command.newpvangle = Double.Parse(textBox1.Text)/180.0*Math.PI;  public static double newpvangle = 90.0/180*Math.PI;



Fig. 5.2b Code inside the Form2.cs file for the pop window


-The next code needs to be commented (Fig. 5.3).  This will avoid the Revit file to overwrite the input from the user.
Fig. 5.3 Commented code to avoid the Revit file to overwrite the input from the user.

2) The second step will need the next elements:

-Write down the default newpvangle and transform the angle from radians to degrees through the next formulae (Fig.5.4):



Fig. 5.4 The default new height is assigned in this part of the code
 -The Form2 code needs to be commented (Fig. 5.5).  This will avoid the pop window to appear and overwrite the angle into the Revit file.
Fig. 5.5 Form2 code commented

-Keep the function of reading data from the *.CSV file active (Fig. 5.6).  This will extract the angle from the *.CSV file.
Fig. 5.6 Functions of reading data from *.CSV file

6. RESULTS SEEN IN THE REVIT FILE

Back to the Revit drawing, the upper and lower lines of PVs have to be locked on the roof in the site view (Fig.6).  I had to draw a reference line, align the first PVs of each line and locked them.  Later, I gave a dimension from the edge of the roof to these first PVs and locked them. 

Fig.6 Roof view showing how to lock the PVs to the reference line.  Also, the lower (and the upper)dimension is between the edge of the roof and the reference line that will lock the PVs to the edge.
Then, once the boundary of the  roof in the Revit Project is edited and increased, the PVs will follow the edge of the roof (Fig. 6a, 6b and 6c).
 
Fig. 6a Edit boundary command apply to the roof


Figs. 6b and 6c PVs will follow the edge of the roof 

Finally, the Command.cs will be uploaded and the number of PVs will increase (Fig. 6d and 6e).  Also, the roof can be edited again and increased to the other side and the number of PVs will change again (Fig. 8 and 8a)


 Figs. 6d and 6e The Command.cs file is uploaded to the Revit file and the number of PVs will change. 


Figs. 6f and 6g The roof is edited again, the Command.cs is uploaded to the Revit file and the number of PVs will change again. 

 Figs. 6h and 6i The height (3 ft.) and the angle (120 degrees) are edited, respectively throught the Form1 and Form2 pop windows (West view)

Fig. 6j Properties window with the edited PVAngle and Height parameters
Fig. 6k *.CSV file (Col1 has Day / Month / Hour) and Col2 has the angle)

Fig. 6l Angle is edited (167 degrees) using the *.CSV file
Fig. 6m Properties window with the edited PVAngle parameter

Monday, November 1, 2010

3D Images of the PBIM Office Building

EXTERIOR RENDERINGS

(Winter Solstice - 12 pm)
(Winter Solstice - 12 pm)
(Winter Solstice - 12 pm)


INTERIOR RENDERINGS

This is an interior image of the Working space with some lighting fixtures that never "switch on"
This is the final interior image of the Working space with a lamp fixture that came in the Revit software

Project Information

INTRODUCTION


The model is an office building for the project Physical Building Information Modeling (PBIM) for Solar Building Design and Simulation.  I am working as a Graduate Research Assistant for the PBIM project at the Department of Architecture at Texas A&M University.  The building has a floorplan of 50' X 100' and the longer side is facing towards the north and the south.  I decided that the entrance will be on the west side.  The roof is divided in two pieces and placed in different heights.  The difference of heights allows the building to have a clerestory in the upper south wall.  Also, the building has a strip of windows in the lower south wall and two strips of windows in the lower north wall.

I am doing thermal simulation with DOE-2.1e.  The current building does not have an interior design yet.  So, for this project I designed the interior space of the office building.  I placed the center of the walls in the reference plane of the grid.  I edited the boundary of the roof and offset it to create the overhangs.  I had to attach the walls to the roof, because the roofs are not horizontal.  Most of the walls are polygons but the north and the south walls.  I duplicated  and edited the materials for the Floor_1 and Floor_2, the Wall, the Ceiling_1 and the Roof_1.

      -The materials used for the Floor_1 are:  4 in. concrete slab and 3/4 in. wood floor.
      -The materials used for the Floor-2 are:  4 in. concrete slab and 3/4 in. tile over the slab.
      -The materials used for the Wall_1 are (from outside to inside):  4 in. brick wall, 1/2 in. wood sheating, 4 in. thermal barrier for insulation and 1/2 in. gypsum wall board.
      -The materials used for the Ceiling_1 are:  3 5/8 in. of metal - stud layer and 5/8 in. gypsum wall board.
      -The materials used for the Roof_1 are:  1/2 in. asphalt shingles, 3/8 in. wood truss joist, 4 in. batt insulation and 3/4 in. wood.

FLOORPLAN

Original Floorplan
(I added some windows to the north facade that are not considered in the original floorplan)




 SECTIONS
Section through Lobby and Storage room

Section through Office room and Working space

Section through Lobby, Storage room, Conference room and Working space



COMMENTS RELATED TO THE PROJECT

I found some problems editing the existing furniture for the Working space of the office.  There are around three different types of desks.  I could not use the original one in all the cases, because the height of the partition was blocking the south window in the desks.  Therefore, I had to edit (and erase in some cases) the partitions in the family.  Also, I had to edit the desktop type and size in some desks.  This is due to create the aisles (or walking area) inside the Working space.  This is area that I spent more time to design than the others.  I decided to create in this space the interior rendering that was requested for this project.  It is the most significant space of the office.

Another problem that I found was the right kind of light fixtures.  I could not find a light fixture to place on the roof.  The only ones that I found were associated to a ceiling.  The original  office building does not have a ceiling.  Therefore, I created a ceiling, so I can put the fixtures.  Later, I created an interior render of this space.  Unfortunately, I chose a lamp that did not work and the final render was dark.  I could not edit or find how to solve this problem.  Finally, I had to chose another lamp from the Revit library software.  This solution altered my original idea.  I wanted a lamp facing towards the ceiling and indirectly illuminating all the space.  The final result turned to be like this:  a lamp facing and directly illuminating all the space.  I could not get the original lamp to "switch on".

The last problem was the design of the solar panel.  Firstly, I loaded the solar panel from the Family folder from the Revit software.  The idea was to put the panels on the roof facing south.  I could not connect the solar panel to an angle parameter to change the position of the panel.  Also, I could not solve the distance parameter to array the panel in the original position.  Dr. Wei Yan suggested me to create a panel (with generic model) from scratch and attach it to a reference line.  Therefore, I created the next parameters for the solar panel:  PVAngle and Height.  Later, I loaded this into a generic model - roof based.  In this new family, I created the next parameters:  Height, RoofWidth and Num (number of PVs).

To conclude, this is the first time I create a whole building with Revit.  I have used AutoCAD and Sketchup in previous semesters.  I feel Revit solves some problems that I have experienced before:  has links and updates the floorplans with the sections and the elevations.  It is a powerful tool that gives a quick feedback about the 3D design of the exterior and interior spaces of the project.  Personally, I struggled a lot with the parametric and family design (solar panels and light fixtures).  But, I am sure that after working for a while with the software, I will solve the problems faster.

Parametric Modeling Design

The Parametric Modeling Design that I used for this project involved a Family of Solar Panels that a placed on the southern roof.  Firstly, I used the default Solar Panel that comes in the Revit.  I tried to edit the Solar Panel and it seemed to work fine.  Later, I loaded this family into a new Generic Model Family to create an array of Solar Panels.  I had several issues like:  giving the tilt to the Solar Panel, placing the Solar Panel to a plane, give the tilt to the plane and the list can go over and over again.  By the end, I did not use this panel.

Therefore, Dr. Wei Yan suggested me to create a new Solar Panel from scratch.  I created it with a new Generic Model Family.  I gave the Height and the PVAngle parameters in this family.  Also, I copied the materials from the original Solar Panel to this new one.  I loaded this family to a Generic Wall Based family and created the array following a new parameter:  Roof Width.  The final parameter was the Number of PVs and the formula that I used was:  Roof Width / 6' = 16 PVs.  For the final requirements of point number 4:  Visualization, Rendering and Screenshots, I changed the Roof Width, the Height, the distance between Solar Panels and the PVAngle parameters.



 The PVAngle parameter involved trigonometric calculations.  The office building is located in Houston, TX. Houston is located at 30 degrees North.  If we want to calculate the solar angles for Houston for the different seasons, we need to use the next method:  the zenit is considered to be at 90 degrees, subtract the 30 degrees and the result (60 degrees from the horizontal plane) is the Spring / Fall angle.  Then, we have to add 23.5 degrees to 60 to get the Summer (83.5 degrees from the horizontal plane) angle and subtract  23.5 to 60 to get the Winter (36.5 degrees from the horizontal plane) angle.  The only problem was to get the Summer angle.  A hint was that the roof already has a tilt:  17.79 degrees.  Therefore, I had to raise the PV (Height = 2' 0") from the roof in order to give the tilt to the panel and be perpendicular to the Summer angle (83.5 degrees) (see Screenshot 4 and 5).  I did not have problems with the Spring / Fall and Winter angles.


Therefore, these are the PVAngles for Summer (191.29 degrees), Spring / Fall (167.79 degrees) and Winter (144.29 degrees).  Finally, I changed the number of Solar Panels on the roof (see Screenshots 1, 2, 5 and 6) with the Roof Width parameter.

Screenshot1 (Spring Equinox 12 pm) (I used the RoofWidth and the PVAngle parameters)

Screenshot2 (Spring Equinox 12pm) (I used the RoofWidth parameter)

Screenshot3 (Summer Solstice 12 pm) (I used the Height and the PVAngle parameters)

Screenshot4 (Summer Solstice 3pm) (I used the Height and the PVAngle parameters.  I want to check about the shadow projection from the upper overhang to the PVs)

Screenshot5 (Summer Solstice 12 pm) (I used the Height and the RoofWidth parameters, and edited the boundary of the roof)

Screenshot6 (Winter Solstice 12 pm) (I used the RoofWidth and the PVAngle parameters, and edited the boundary of the roof)