不同屋顶实现.docx
- 文档编号:25822346
- 上传时间:2023-06-15
- 格式:DOCX
- 页数:15
- 大小:420.90KB
不同屋顶实现.docx
《不同屋顶实现.docx》由会员分享,可在线阅读,更多相关《不同屋顶实现.docx(15页珍藏版)》请在冰豆网上搜索。
不同屋顶实现
CityEngine创建不同类型的屋顶
(一)
分类:
3DGIS2013-09-2216:
381047人阅读评论
(1)收藏举报
CityEngine3D屋顶样式
目录(?
)[+]
在世界各国和各地区的建筑中,屋顶作为建筑的顶部构件,是建筑中最重要的形式构成部分,也是传递历史和区域文化信息的典型符号。
同样,在CityEngine制作建筑规则时如果能正确表达建筑的屋顶信息,对建筑特征的表达有着至关重要的影响。
笔者从己有案例并结合实际的工作总结部分屋顶创建的规则与大家分享,以期起到抛砖引玉的作用。
由于对建筑了解有限难免表述有误,敬请指正。
1.平顶
普通平顶
参考规则如下:
Lot-->
extrude(20)
comp(f){top:
color("#0000ff")TopFacade|side:
color("#ff0000")SideFacade.|all:
NIL}
带女儿墙的平顶
参考规则如下:
attrParapet_hei=1.2#女儿墙的高度
attrParapet_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.}}
思考:
除了利用setback实现面的后退外,offset()函数同样能满足这方面的需求。
那两者又会有怎么样的区别呢?
请读者自行测试,根据不同的需求选用不同的后退函数。
阶式屋顶
参考规则如下:
attrcascad_Num=3#层阶数
attrcascad_Hei=0.5#层阶高
attrcascad_Wid=0.5#层阶增加的距离
Lot-->
extrude(20)
comp(f){top:
color("#0000ff")TopFacade|side:
color("#ff0000")SideFacade.|all:
NIL}
TopFacade-->
casecascad_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.简单坡顶
单坡顶
参考规则如下:
attrroofAngle=15#屋顶坡度
attrsideIndex=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.}
双坡顶
参考规则如下:
attrroofAngle=25#屋顶坡度
attroverHang=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.}
四坡顶
参考规则如下:
attrroofAngle=25#屋顶坡度
attroverHang=0.4#延伸出来的长度
Lot-->
extrude(20)
comp(f){top:
color("#0000ff")TopFacade|side:
color("#ff0000")SideFacade.|all:
NIL}
TopFacade-->
roofHip(roofAngle,overHang)
TopFacade_Tex.
金字塔顶
参考规则如下:
attrroofAngle=25#屋顶坡度
Lot-->
extrude(20)
comp(f){top:
color("#0000ff")TopFacade|side:
color("#ff0000")SideFacade.|all:
NIL}
TopFacade-->
roofPyramid(roofAngle)
TopFacade_Tex.
更多屋顶样式制作:
《CityEngine创建不同类型的屋顶
(二)》点击
CityEngine创建不同类型的屋顶
(二)
分类:
3DGIS2013-09-2216:
58801人阅读评论(0)收藏举报
CityEngine3D屋顶样式
目录(?
)[+]
3.复杂坡顶
复杂坡顶无法通过CityEngine提供的单一函数就能完成,往往需要多个函数组合使用。
更多的依赖于我们建筑屋顶的认识。
半四坡顶(halfhip)
参考规则如下:
attrroofAngleGable=25#屋顶下部坡度
attrroofAngleHip=25#顶部坡度
Lot-->
extrude(20)
comp(f){top:
color("#0000ff")TopFacade|side:
color("#ff0000")SideFacade.|all:
NIL}
TopFacade-->
roofGable(roofAngleGable)
split(y){'0.5:
comp(f){bottom:
NIL|horizontal:
RoofHip|aslant:
FlatRoof_Tex.|all:
color("#00ff00")RoofSide.}}
RoofHip-->
roofHip(roofAngleHip)
FlatRoof_Tex.
歇山顶
歇山顶是我国古代建筑屋顶样式的一种。
参考规则如下:
attrroofAngleHip=30#屋顶下部坡度
attrroofAngleGable=30#屋顶上部坡度
attroverHang=0.4#延伸出来的长度
Lot-->
extrude(20)
comp(f){top:
color("#0000ff")TopFacade|side:
color("#ff0000")SideFacade.|all:
NIL}
TopFacade-->
roofHip(roofAngleHip,overHang)
split(y){'0.5:
comp(f){bottom:
NIL|horizontal:
RoofGable|all:
FlatRoof_Tex.}}
RoofGable-->
roofGable(roofAngleGable)
comp(f){bottom:
NIL|aslant:
FlatRoof_Tex.|side:
color("#00ff00")RoofSide.}
复斜屋顶
参考规则如下:
attrroofAngleGable=40#屋顶下部坡度
attrroofAngleGable02=25#顶部坡度
Lot-->
extrude(20)
comp(f){top:
color("#0000ff")TopFacade|side:
color("#ff0000")SideFacade.|all:
NIL}
TopFacade-->
roofGable(roofAngleGable)
split(y){'0.5:
comp(f){bottom:
NIL|horizontal:
RoofGable|aslant:
FlatRoof_Tex.|all:
color("#00ff00")RoofSide.}}
RoofGable-->
roofGable(roofAngleGable02)
comp(f){bottom:
NIL|aslant:
FlatRoof_Tex.|all:
color("#00ff00")RoofSide.}
双重斜坡屋顶
参考规则如下:
attrroofAngleHip=40#屋顶下部坡度
attrroofAngleHip02=25#顶部坡度
Lot-->
extrude(20)
comp(f){top:
color("#0000ff")TopFacade|side:
color("#ff0000")SideFacade.|all:
NIL}
TopFacade-->
roofHip(roofAngleHip)
split(y){scope.sy*0.3:
comp(f){bottom:
NIL|horizontal:
RoofHip|all:
FlatRoof_Tex.}}
RoofHip-->
roofHip(roofAngleHip02)
FlatRoof_Tex.
拱顶
参考规则如下:
attrcurvedAngleResolution=15#相邻顶面的坡度差
@Hidden
attrArcNum01=90/curvedAngleResolution-1
@Hidden
attrcalcSegmentHt(ArcNum)=3*(cos(ArcNum*curvedAngleResolution)-cos((ArcNum+1)*curvedAngleResolution))
Lot-->
extrude(20)
comp(f){top:
color("#0000ff")VaultRoof(ArcNum01)|side:
color("#ff0000")SideFacade.|all:
NIL}
VaultRoof(n)-->
casen>0:
roofGable(n*curvedAngleResolution,0,0,false,0)
split(y){(calcSegmentHt(n)):
comp(f){bottom:
NIL|horizontal:
VaultRoof(n-1)|aslant:
FlatRoof_Tex.|all:
color("#00ff00")RoofSide.}}
else:
comp(f){bottom:
NIL|all:
FlatRoof_Tex.}
圆屋顶
参考规则如下:
attrcurvedAngleResolution=15#相邻顶面的坡度差
@Hidden
attrArcNum01=90/curvedAngleResolution-1
@Hidden
attrcalcSegmentHt(ArcNum)=3*(cos(ArcNum*curvedAngleResolution)-cos((ArcNum+1)*curvedAngleResolution))
Lot-->
extrude(20)
comp(f){top:
color("#0000ff")DomeRoof(ArcNum01)|side:
color("#ff0000")SideFacade.|all:
NIL}
DomeRoof(n)-->
casen>0:
roofHip(n*curvedAngleResolution)
split(y){(calcSegmentHt(n)):
comp(f){bottom:
NIL|horizontal:
DomeRoof(n-1)|all:
FlatRoof_Tex.}}
else:
comp(f){bottom:
NIL|all:
FlatRoof_Tex.}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 不同 屋顶 实现