在世界各国和各地区的建筑中,屋顶作为建筑的顶部构件,是建筑中最重要的形式构成部分,也是传递历史和区域文化信息的典型符号。同样,在CityEngine制作建筑规则时如果能正确表达建筑的屋顶信息,对建筑特征的表达有着至关重要的影响。笔者从己有案例并结合实际的工作总结部分屋顶创建的规则与大家分享,以期起到抛砖引玉的作用。由于对建筑了解有限难免表述有误,敬请指正。
1.平顶
普通平顶
参考规则如下:
Lot-->
extrude(20)
comp(f){top: color( "#0000ff") TopFacade |side: color( "#ff0000") SideFacade. |all: NIL}带女儿墙的平顶
attr Parapet_hei=1.2 #女儿墙的高度
attr Parapet_wid=0.3#女儿墙的宽度
Lot-->
extrude(20)
comp(f){top:color("#0000ff")TopFacade |side:color("#ff0000")SideFacade. |all:NIL}
#女儿墙屋顶规则
TopFacade-->
setback(Parapet_wid){all:color("#00ff00")RoofSide.|remainder:extrude(-Parapet_hei)comp(f){bottom:NIL | top:reverseNormals()TopFacade_Tex. |all:reverseNormals()color("#00ff00")RoofSide.}}
阶式屋顶
attr cascad_Num=3#层阶数
attr cascad_Hei=0.5 #层阶高
attr cascad_Wid=0.5 #层阶增加的距离
Lot-->
extrude(20)
comp(f){top:color("#0000ff")TopFacade |side:color("#ff0000")SideFacade. |all:NIL}
TopFacade-->
case cascad_Num>1:
s(scope.sx+cascad_Wid,scope.sy+cascad_Wid,'1)
center(xy)
extrude(cascad_Hei)
set(cascad_Num,cascad_Num-1)
comp(f){top:TopFacade |all:color("#00ff00")RoofSide.}
else:
s(scope.sx+cascad_Wid,scope.sy+cascad_Wid,'1)
center(xy)
extrude(cascad_Hei)
comp(f){top: TopFacade. | all: color( "#00ff00") RoofSide.}2.简单坡顶
单坡顶
attr roofAngle=15#屋顶坡度
attr sideIndex=1 #坡向的起始边的索引值
Lot-->
extrude(20)
comp(f){top:color("#0000ff")TopFacade |side:color("#ff0000")SideFacade. |all:NIL}
TopFacade-->
roofShed( roofAngle, sideIndex) comp(f){top: FlatRoof_Tex. |side: color( "#00ff00") RoofSide.}双坡顶
attr roofAngle=25#屋顶坡度
attr overHang=0.4#延伸出来的长度
Lot-->
extrude(20)
comp(f){top:color("#0000ff")TopFacade | side:color("#ff0000")SideFacade. | all:NIL}
TopFacade-->
roofGable(roofAngle,overHang,overHang)comp(f){bottom:NIL | aslant:FlatRoof_Tex. | side:color("#00ff00")RoofSide.}
四坡顶
attr roofAngle=25#屋顶坡度
attr overHang=0.4#延伸出来的长度
Lot-->
extrude(20)
comp(f){top:color("#0000ff")TopFacade |side:color("#ff0000")SideFacade. |all:NIL}
TopFacade-->
roofHip(roofAngle,overHang)
TopFacade_Tex.金字塔顶
attr roofAngle=25#屋顶坡度
Lot-->
extrude(20)
comp(f){top:color("#0000ff")TopFacade |side:color("#ff0000")SideFacade. |all:NIL}
TopFacade-->
roofPyramid(roofAngle)
TopFacade_Tex.
更多屋顶样式制作:《CityEngine创建不同类型的屋顶(二)》 点击