Visual programming in BIM: Transforming the Fosun Foundation
Visual programming in BIM: Fosun Foundation
ARCH 653 Building Information Modeling in Architecture
Fall 2018
Professor: Dr. Wei Yan
TAMU
Project description:
The project is an extension to the previous project”BIM-Based Parametric modeling pf Fosun foundation“. In this phase, Dynamo as visual programming tool in Revit is used to change the conceptual mass and some of the details in the building.Therefore, two different part will be explored and revisited: the moving facade based on adaptive component and “time”, and curtain panel based on the sun path.
Fosun Foundation |
Step 1. Moving facade(reference : Homework 8 ; Module 02 Ex 03)
Prerequisite work
Rebuild another veil model. It is controlled by two adaptive points.
method 01
1. Build a fixed rectangular curve2. Use code "curve.pointatparameter" to generate points on the fixed rectangular curve
3. Use “curve offset" to generate another rectangular curve. Set a moving point in this second rectangular curve. Use " datetime component" to change its parameter value in offset curve. The location of this point will be determined by the second. (the purpose of setting another rec curve is to avoid divided by infinity)
4. Through code “geometry distance to”to calculate the distance between moving point and other points in first rec curve.
5.Generate another list of points, which has the same x,y value with the points in the
first rec curve. Use “distance” as passing parameter to affect the height of these points.
Review: this is not a good method. On one hand, calculating the distance between "moving point" and " points in the first rec curve" in dynamo is time-confusing; On the other hand, i need to use " Math map to" to control the "distance” parameter to generate suitable coefficient of sin curve.
method 02
method 02 has the same process like method 01. The first difference is in the step 02. I use code " listshiftindices" to change the order of list generated by" curve.pointatparameter". In this way, the location of veil model will move along with point.
Review: this is a better method. This method doesn't add too much burden to computer. And the curtain wall is moving at a constant speed. But the points are still fixed in the curve. Through changing the order of list, i can only make it seem to be moving.
method 03
method 03 has the same process too. The difference is that i use code "Math.pow" to affect the parameter of points at curve continuously.
Review: this is a better method. This method can change the location of points and the height of veil model simultaneously . But the parameter-second is special, it ranges from 0 to 60. So it is necessary to find a way to optimize the parameter settings. Taking second parameter as index occupy too much memory of computer.
Using the method 03 to generate the outside and inside moving facade at the same time.
The outside roof has an irregular shape. So in this programming, use code " select edge" and " polycurvebyjoincurve" to generate a complete edge of outside roof.
Step 2. Sun path panel (reference: Module 03 Ex 02 Ex 01)
Prerequisite work
Rebuild another kind of curtain wall. The rotation degree of mid (parameter: degree mid)section will be changed with the vector between wall and sunshine.
Generate excel database
In the mass model, use "all elements of family type" to select all divided surfaces. And then write the location information to excel file" Curtain Panel".
Note: In the excel file "curtain panel", use "replace"function to remove all unreadable characters, like" point("“)”. Rename the new excel file " Location of Curtain Panel".
sun orientation
1.open the sunpath in the project. Find sun's direction through node" sundirecion".
2.Use the " vector" to calculate the azimuth between sun and curtain wall.
3.Use node" adaptive componentsbyparameter" , four points adaptive compoent was imported through node" family type" and it was mapped into surface.
4.use node "Element.OverrideColorInView" to override curtain wall's color based on the vector.
5. The rotational angel of adaptive component was driven by the value (sun vector-panel normal) through using node" Element. setparameterbyname".
Note: use code"convert between units" to convert feet to mile.
Video
Acknowledge
Thanks to Professor Yan for his help in the project process. His advanced model inspired me and I got the method and inspiration in my conversation with him.
评论
发表评论