女儿墙内外面的读取

0
分享 2015-03-18

女儿墙内外面的读取

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整除时为隐藏的面,删掉。

通过这样一段规则就能把女儿墙的内外面区分开来,同时删除掉冗余的面。

1 个评论

楼主能给一张图吗,太抽象了

要回复文章请先登录注册