你知道 CityEngine 中的 Leaf Shape 吗?

2
分享 2018-07-13
CityEngine 的CGA建模过程是个不断迭代繁衍的过程,我们将这个过程想象成一棵树。
通过 Shapefile,File Geodatabase,AutoCAD DXF 这些矢量数据格式导入CityEngine中的2D基面(Footprint),通常称为 CityEngine Initial Shape,这是这棵树的根节点。通过CGA中的命令符 -->,将一个shape经过各种形状(Geometry)和位置(Pivot,Scope) 的函数操作,生成另一个shape。直到最后,模型建立,最终的shape节点,通常称为 CityEngine Leaf Shape

这个细节的概念,在2013年的开发者大会中提过一次,结合模型层次结构的幻灯片理解下:



完整的幻灯片可以点 这里 下载。



为什么说是“迭代繁衍”? 因为除了 Leaf Shape 之外的所有shape 在建模过程中都被紧跟它其后的shape替代而消亡了。
举例子,在这条规则中,
A --> function() B 
B --> function() C


这条规则中 ,A shape 对象已经消亡被B替代,在后续的规则中无法再调用到 A, 如果希望取到与A相同的对象,就需要提前复制出来,如下:
A --> Anew function() B //A被复制而创建了分支
B --> function() C
Anew --> function() D


了解了这些,那么我们可以进一步回答这个问题:“如何将CityEngine规则建模的模型导出成各组件独立存储的模型?”
可以的,再导出FileGDB或 Scene Layer Package的时候选中 “One Feature per Leaf Shape” 即可。


这些导出的模型数据拿到其他软件中使用,例如ArcGIS Pro,各组件即为不同的静态模型对象。

这个示例的CGA脚本在 我的Github 可以查看和下载。

文章来源:http://kikitamap.com/2018/07/13/CELeafshape/

0 个评论

要回复文章请先登录注册