查看完整案例
收藏
下载
YJP Administrative Center is a temporary building in Tianjin Binhai CBD. Enclosed verandahs are arranged around the building to afford visual access to the CBD area from within the building. This allows the occupants to survey the surrounding construction site.
The size of openings within the facade relates directly to the lighting requirements for particular activities within different areas of the building. The porosity of the façade is designed to produce the required conditions for these activities. The integration of the density of the patterned façade with the various inner functions forms a key focus of the project.
The façade apertures serve as view frames. Aperture size and orientation is varied in a continuous manner introducing topological difference across the façade. The whole façade is constructed from six forms, reflected to give twelve types of identical components, making the building process highly efficient. This meant that the building to be constructed in less than seven months.
于家堡工程指挥中心作为天津滨海新区在未来五年内于家堡金融区的所有工程办公中心,需要在极短的时间内设计施工完毕以适应整个金融区的工程进度。在这个项目中参数化设计在工程进度及施工过程中的优势被毫无疑问的体现出来,即使是在被普遍认为施工处于低技状态的中国。
作为整个金融区的工程管理中心,二层以上所有房间的外侧均设有环通的走廊以便于对整个工地的观察。由于各房间功能的不同,按采光要求高低可分为办公、休息、大厅、库房、电梯厅等。通过一段脚本可以将立面的采光信息转化成为一个曲面,这个曲面上每一个点的高低对应着该点采光率的高低,因此立面构件应满足其所在位置的采光要求。外廊的外立面处理以此为基础形成不同的开孔率以适应内部功能的不同要求,同时还为外廊生成了不同的景窗,使观赏过程变得更加有趣。
立面构件被设计成一系列的以旋转为逻辑改变采光率的几何构件,构件间既有连续的拓扑等价变化,又有连续的拓扑不等价变化,即由开放式的线性高采光率的景窗连续变化到封闭的四边形及六边形的低采光率景窗。设计充分体现了即使是极为简单的几何关联关系在对其特性进行充分研究以后只经过简单的罗列也可以产生丰富的几何变换关系。将这个曲面通过另外一段脚本的运算用于控制不同模块的安装排列。
为了能够控制工期,立面方案最后被限制在6种不同的模块内,六种连续变化的模块代表六种不同的采光率,经过脚本对控制曲面的计算,标有不同模块的排列位置的施工图纸自动生成。
▼不同功能决定不同的开窗方式,产生不同的内部感受。Differnt patterns based on different function. Therefore generate different feelings.
▼1F
▼2F
▼3F
▼4F
▼5F
▼剖面图
Option Explicit
‘Script written by <Luming Wang and Zhenfei Wang>‘Script copyrighted by <HHD>‘Script version 2008/10/31 10:48:26Call Main()Sub Main()Dim crvs
Dim i
Dim Stpt()Dim Zvalue()Dim ZvaluenewDim Crvsnew()Dim j
Dim diPtsDim ratioDim strBlockNameDim blockDim srfDim boundingbox
Dim min,max
Dim lineDim ctPtDim intersectPtDim dvStep
crvs=rhino.GetObjects(“select curve”)srf=rhino.GetObject(“pick control srf”)boundingbox=rhino.BoundingBox(srf)min=boundingbox(0)max=boundingbox(3)dvStep=1/12‘————-sort sequence——————For i=0 To Ubound(Crvs)
R
eDim Preserve Stpt(i)Stpt(i)=rhino.CurveStartPoint(Crvs(i))
RZv
alue(i)=Stpt(i)(2)
Next
Zvaluenew=rhino.SortNumbers(Zvalue,False)For i=0 To Ubound(Zvaluenew)
ReDim Preserve Crvsnew(i)
For j=0 To Ubound(Crvs)If Zvaluenew(i)= Zvalue(j) ThenCrvsnew(i)= Crvs(j)End If
NextNext
‘———-insert block————————For i=0 To ubound(Crvsnew)dipts=rhino.DivideCurveLength(Crvsnew(i),1.4)
For j=0 To ubound(dipts)line=rhino.AddLine(dipts(j),array(dipts(j)(0),max(1),dipts(j)(2)))ctPt=rhino.CurveSurfaceIntersection(line,srf)intersectPt=ctPt(0,1)ratio=(intersectPt(1)-min(1))/(max(1)-min(1))‘Call rhino.AddPoint(intersectPt)Call rhino.DeleteObject(line)If ratio < dvStep Then
strBlockName = “X1”ElseIf ratio > dvStep And ratio <dvStep*2 Then
strBlockName = “X2”ElseIf ratio > dvStep*2 And ratio <dvStep*3 Then
strBlockName = “X3”ElseIf ratio > dvStep*3 And ratio <dvStep*4 Then
strBlockName = “X4”ElseIf ratio > dvStep*4 And ratio <dvStep*5 Then
strBlockName = “X5”ElseIf ratio > dvStep*5 And ratio <dvStep*6 Then
strBlockName = “X6”ElseIf ratio > dvStep*6 And ratio <dvStep*7 Then
strBlockName = “X7”ElseIf ratio > dvStep*7 And ratio <dvStep*8 Then
strBlockName = “X8”ElseIf ratio > dvStep*8 And ratio<dvStep*9 Then
strBlockName = “X9”ElseIf ratio > dvStep*9 And ratio<dvStep*10 Then
strBlockName = “X10”ElseIf ratio > dvStep*10 And ratio<dvStep*11 Then
strBlockName = “X11”ElseIf ratio > dvStep*11 And ratio<dvStep*12 Then
strBlockName = “X12”End Ifblock=RHino.InsertBlock(strBlockName,dipts(j))‘Call rhino.AddTextDot(intersectPt(1),dipts(j))
NextNext