2011年4月26日星期二

ARCH653 Project2_Song

The aim of project2 is to improve the BIM model and parametric model using Revit API to pass parameters. Unlike the manual operation in the project1, this one is expected to edit and control behind the revit screen.
Based on the project1 - the Unity Temple, my topic is window width changing. During the design process, we may met the situation that we know the certain plan areas, sometimes which need mutiple changing, certain lighting levels for different rooms based on the functions or directions, and also we want to keep the elevation uniform; which means, keep the constructions and heights of windows the same, change their widths. 
In this project, for example, place five same windows into five rooms as shown in the figure1.
Figure 1: the original windows
Using the tablechair1 as the template, modify the codes.
Start from the region 2, I'll get objects. I choose ID of each window and write the lines five times by changing the ID numbers. Then, I need create the five rooms element IDs. Fot the other regions and every operations, I type them five times. The formula used here is window width = room area * 0.3 (lighting coefficient, assumption) / 6 (height of the window).


Figure 2 & 3: code

Here has two problems. First, there is too much repetition work. I can use "loop" to solve it. Second, when the room is too depth, more lighting needed, then the width of window may exceed the width of the room which make an error. So the width of a window should be changed in a range, limited by the maximum of the room width. The formula is to make it choose the smaller one between the caculate result and the width of room substract the wall width.

Figure 4: loop
After this, I hope it could be user-friendly, the user can input the value directly. If so, there is no need to keep the lighting coefficients all the same. This part should be move from the loop. Here noticed that windows and rooms are paired, the data in defining sets must put in order to promise the correct chosen. Add a form before the loop part, and the interface looks like the following.
Figure 5: interface
Now let's test the results. Try to select different coefficent of the windows and change the area of rooms by moving the walls. Running API process, we'll get different results.
Figure 6 & 7: result

2011年3月23日星期三

ARCH653 Project1_Song

Exterior Rendering
Interior Rendering
 
The project I choose is the Unity Temple designed by Frank Lloyd Wright in Oak Park, Illinois. One of the most distinguished design features is the precise and accurate scales and portions. Such characteristic reflects on different scale levels, from the two part buildings divided by the entrance to the patterns on the windows, ceilings, and columns. So I intend to work on the ceiling grids as my parametric modeling practice.


Actually the ceiling grids have relationship with other components of the building, what I’m thinking about is what happened if the size/amount of grids change. Here have several rules must be followed:

1. the grid is square-shaped

2. as the ceiling is also square, there are same amount of grids on width and length

3. considering the relationships between the size of grids and height of the ceiling, it makes sense the height would be larger when the grids are bigger

The problem can be perceived onto three levels correspondingly:

1. the width and length of each grid should be keep the same and changeable

2. the grid amount on the width and length of the ceiling should be keep the same and changeable

3. the pattern of the ceiling grids (both amount and size) would reflect to the height of the ceiling

The parameters involved include ceiling height, grid width/length, array number on width/height.

I created a conceptual mass family first, but it didn’t support the array function which I’ll use twice in this project. So I changed to make a new family. I use mass as the ceiling part and try to use the void as the grid part. However, after twice array, I cannot change the size of voids anymore. The array function seemed have many internal constraints which made the modification after it difficult. I have to make the actual parametric model on two levels too. First create a new family only includes the grid part with type parameters; then import it to another family with the ceiling part, change the parameters of grids here and operate the twice array. As the imported voids are no longer emerged into the ceiling part, there is no need to keep them void. Solid form with different material and color can help distinguished the grids and the ceiling. For the array function, “align” is really an important step to keep them correctly work. When I did the second time array, I arrayed a group actually; even it was aligned during the first time of array operation, it was still necessary to align the first and last components of the group again to achieve the anticipated result.






Comments on the overall modeling:

Revit is a precise-input design-aid software. From the first beginning, I have to decide every datum. As the Unity Temple is quite accurate too (scale and symmetrical), any minor inconsistence would be obviously wrong at the end. That’s why I have to redo it after the second submission during the process. Also the staggered floors of the building took me a long time to work on.

Reference:

The columns are converted from google sketchup model provided on the open website, the link: http://sketchup.google.com/3dwarehouse/details?mid=2e542bf91bb3559a699aeb224495b636&prevstart=0