你知道 CityEngine 中的 Leaf Shape 吗?
分享
CityEngine 的CGA建模过程是个不断迭代繁衍的过程,我们将这个过程想象成一棵树。
通过 Shapefile,File Geodatabase,AutoCAD DXF 这些矢量数据格式导入CityEngine中的2D基面(Footprint),通常称为 CityEngine Initial Shape,这是这棵树的根节点。通过CGA中的命令符 -->,将一个shape经过各种形状(Geometry)和位置(Pivot,Scope) 的函数操作,生成另一个shape。直到最后,模型建立,最终的shape节点,通常称为 CityEngine Leaf Shape。
为什么说是“迭代繁衍”? 因为除了 Leaf Shape 之外的所有shape 在建模过程中都被紧跟它其后的shape替代而消亡了。
举例子,在这条规则中,
这条规则中 ,A shape 对象已经消亡被B替代,在后续的规则中无法再调用到 A, 如果希望取到与A相同的对象,就需要提前复制出来,如下:
了解了这些,那么我们可以进一步回答这个问题:“如何将CityEngine规则建模的模型导出成各组件独立存储的模型?”
可以的,再导出FileGDB或 Scene Layer Package的时候选中 “One Feature per Leaf Shape” 即可。
这些导出的模型数据拿到其他软件中使用,例如ArcGIS Pro,各组件即为不同的静态模型对象。
这个示例的CGA脚本在 我的Github 可以查看和下载。
文章来源:http://kikitamap.com/2018/07/13/CELeafshape/
通过 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 个评论
相关问题
- 有谁知道哪里可以免费获取各省市地图数据呢,包括详细的shape文件数据
- sketchup模型导入cityengine中部分纹理丢失,怎么解决?
- cityengine怎么导入arcgis的shp数据,对shp数据有什么要求
- shape文件中的点符号如何去除,只保留标注
- CityEngine能否通过写脚本建模
- 我有一个县域图,还有不同ID的点数据文件,怎么知道每个县内包含哪些点呢
- CityEngine的学习资源汇总
- CityEngine做的三维环境可以在移动端显示吗?
- 想问问add-in中如何获取arcmap已添加的Shape文件存放路径?
- 有大神知道可供Arcgis Android使用的路径分析图层如何制作,有没有相关教程嘞?
- 如何将shape文件的属性表,按一条属性提取为一个图层