女儿墙内外面的读取
1
问题描述
利用CityEngine制作女儿墙时会出现以下两个问题:
1) 如何把女儿墙的内外墙面区分出来;
2) 如何去除隐藏的内部的面
2
解决方案
下面这段规则就是针对此问题的解决方案:
Parapet--> //建立女儿墙Parapet_01
offset(-0.5)
comp(f){border:extrude(0.8) Parapet_01 | inside:TopFacade_Tex}
Parapet_01--> //通过comp规则取出女儿墙的顶面与侧面
comp(f){side :Parapet_side| top:TopFacade_Tex}
Parapet_side--> //根据索引值判断外墙面、内墙面和隐藏的面
case comp.index/2==rint(comp.index/2):
case comp.index/4==rint(comp.index/4):SideFacade_Tex //当索引值能被4整除时为外墙面
else:TopFacade_Tex //当索引值当被2整除但不能被4整除时为内墙面。
else:NIL //当索引值不能被2整除时为隐藏的面,删掉。
通过这样一段规则就能把女儿墙的内外面区分开来,同时删除掉冗余的面。