中国,SOHO办公兼老人居住(参数化
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
)/卢
晓亮+王韶宁
本站于2009年6月在论坛上贴出该参数化设计的程序代码:
http://www.archgo.com/bbs/viewtopic.php?f=1&t=12
本设计的出发点是对城市历史的思考。一个历经了时间和事件的城市应当像一个饱经风霜的人
,从他脸上的皱纹能看出岁月的痕迹。然而城市建筑的高速更新,使得一个存在了百年的城市
面貌和新建的城市一样单薄。
设计的任务是在基地新建一座办公楼。通过调研发现原有基地是一片以老年人居住为主的老居
住区,原有的建筑有其特有的风格。因此,希望能引入新的建筑功能和使用人群的同时,保留
www.archgo.com 把世界的优秀建筑送到您的桌面
原文
少年中国说原文俱舍论原文大医精诚原文注音大学原文和译文对照归藏易原文
http://www.archgo.com/bbs/viewtopic.php?f=1&t=12
一部分原有的建筑和使用人群,使得当地的历史得到一定程度的保留和体现。
根据老年人和年轻人对空间使用要求的特点,用Rhino Scripting参照云形成的逻辑来生成许
多混合的可能性,并根据形态的要求从中进行选择,最后落实成为最终建筑。
建筑设计:卢晓亮
程序:王韶宁(wang.sn#gmail.com)
www.archgo.com 把世界的优秀建筑送到您的桌面
原文 http://www.archgo.com/bbs/viewtopic.php?f=1&t=12
www.archgo.com 把世界的优秀建筑送到您的桌面
原文 http://www.archgo.com/bbs/viewtopic.php?f=1&t=12
www.archgo.com 把世界的优秀建筑送到您的桌面
原文 http://www.archgo.com/bbs/viewtopic.php?f=1&t=12
www.archgo.com 把世界的优秀建筑送到您的桌面
原文 http://www.archgo.com/bbs/viewtopic.php?f=1&t=12
www.archgo.com 把世界的优秀建筑送到您的桌面
原文 http://www.archgo.com/bbs/viewtopic.php?f=1&t=12
原文:
http://www.archgo.com/bbs/viewtopic.php?f=1&t=12
2009-06-14
www.archgo.com 把世界的优秀建筑送到您的桌面
原文 http://www.archgo.com/bbs/viewtopic.php?f=1&t=12
Option Explicit
'Script written by
'Script copyrighted by
'Script version 2009年6月13日 20:06:32
Call Main()
Sub Main()
Const site_width = 12
Const site_longth = 18
Const site_height = 15
Call rhino.enableRedraw(False)
www.archgo.com 把世界的优秀建筑送到您的桌面
原文 http://www.archgo.com/bbs/viewtopic.php?f=1&t=12
'青年公寓的数量
Dim howManyYoungUnits : howManyYoungUnits = 750
'老年公寓的数量
Dim howManyOldUnits : howManyOldUnits = 375
'leader的位置
Dim howManyLeaders : howManyLeaders = 20
'首先,地块的三维数组
Dim arrSiteUnitStatus( 12, 18, 15)
Dim arrSiteSpaceStatus( 12, 18, 15)
Dim arrSiteUnitObjectID( 12, 18, 15)
'初始化随机数
Randomize
'每一层都随机分布
Dim i,j,k,l
'array使用前要初始化
For i =0 To site_width Step 1
For j = 0 To site_longth Step 1
For k = 0 To site_height Step 1
arrSiteUnitStatus(i,j,k)=0
arrSiteUnitObjectID(i,j,k)=0
arrSiteSpaceStatus(i,j,k)=0
Next
Next
Next
'初始化青年公寓,赋予随机的位置和固定的颜色
i = howManyYoungUnits
Do While i>0
j= Int((12 * Rnd))
k= Int((18 * Rnd))
l = Int((15 * Rnd))
If arrSiteUnitStatus(j,k,l)= 0 Then
arrSiteUnitObjectID(j,k,l) = 1
arrSiteUnitObjectID(j,k,l) = drawCube(j,k ,l)
www.archgo.com 把世界的优秀建筑送到您的桌面
原文 http://www.archgo.com/bbs/viewtopic.php?f=1&t=12
i = i-1
End If
Loop
'初始化青年公寓,赋予随机的位置和固定的颜色
i = howManyOldUnits
Do While i>0
j= Int((12 * Rnd))
k= Int((18 * Rnd))
l = Int((15 * Rnd))
If arrSiteUnitStatus(j,k,l)= 0 Then
arrSiteUnitObjectID(j,k,l) = 2
arrSiteUnitObjectID(j,k,l) = drawCube(j,k ,l)
i = i-1
End If
Loop
'初始化“空间形态矩阵”产生leader
i = howManyLeaders
Do While i>0
j= Int((12 * Rnd))
k= Int((18 * Rnd))
l = Int((15 * Rnd))
If arrSiteSpaceStatus(j,k,l)= 0 Then
arrSiteSpaceStatus(j,k,l) = 1
i = i-1
End If
Loop
'检查空间的横向和纵向,是不是leader已经积聚,如果积聚,把空间的标记为可停留的、
不可停留的
'检查行
'Const site_width = 12
'Const site_longth = 18
'Const site_height = 15
For i =0 To site_longth Step 1
l =0
Dim downLeftX, downLeftY, upRightX,upRightY
For j = 0 To site_width Step 1
www.archgo.com 把世界的优秀建筑送到您的桌面
原文 http://www.archgo.com/bbs/viewtopic.php?f=1&t=12
For k = 0 To site_height Step 1
If arrSiteSpaceStatus(j,i,k)= 1 Then
'如果是第一个点,把所有的值都给它
If l =1 Then
downLeftX = j
downLeftY = k
upRightX = j
upRightY = k
End If
'记录" 左上"和“右下”的位置
If jupRightX Then
upRightX =j
End If
If k>upRightY Then
upRightY =k
End If
'累加
l = l + 1
End If
Next
Next
'如果leader超过了3个,把这个区域变成固定区域
If l>2 Then
'该区域标记为固定区域
For j = 0 To site_width Step 1
For k = 0 To site_height Step 1
Next
Next
www.archgo.com 把世界的优秀建筑送到您的桌面
原文 http://www.archgo.com/bbs/viewtopic.php?f=1&t=12
End If
Next
'绘图单元,遍历三维矩阵,绘制出每一个
Dim arrCenter
For i =0 To site_width Step 1
For j = 0 To site_longth Step 1
For k = 0 To site_height Step 1
'arrCenter = array(i*3,j*3,k*3)
'Rhino.AddSphere arrCenter, 3
'Call drawCube(i,j,k)
Next
Next
Next
Call rhino.enableRedraw(True)
End Sub
' 绘图单元,遍历三维矩阵,绘制出每一个
Function drawCube(x,y ,z)
Dim arr1,arr2,arr3 ,arr4,arr5,arr6,arr7,arr8,arrCorners
arr1 = array(x*7,y*7 ,z*3)
arr2 = array(x*7+7,y*7 ,z*3)
arr3 = array(x*7+7,y*7+7 ,z*3)
arr4 = array(x*7,y*7+7 ,z*3)
arr5 = array(x*7,y*7 ,z*3+3)
arr6 = array(x*7+7,y*7 ,z*3+3)
arr7 = array(x*7+7,y*7+7 ,z*3+3)
arr8 = array(x*7,y*7+7 ,z*3+3)
www.archgo.com 把世界的优秀建筑送到您的桌面
原文 http://www.archgo.com/bbs/viewtopic.php?f=1&t=12
arrCorners=array(arr1,arr2,arr3 ,arr4,arr5,arr6,arr7,arr8)
Rhino.AddBox (arrCorners)
End Function
www.archgo.com 把世界的优秀建筑送到您的桌面
原文 http://www.archgo.com/bbs/viewtopic.php?f=1&t=12