在前一篇《CityEngine使用Python脚本按feature整体导出道路》中介绍了如何按照GIS道路数据的ObjectID将道路导出,用户在使用过程中提出几个问题,如:
1、 脚本的使用范围是CityEngine的整个场景,在数据量非常大的时候会卡死
2、 在对道路数据进行处理的时候,Name字段必须赋值为ObjectID,不够直观
3、 在道路数据表中记录道路的条数以便修改Python脚本的range()参数,不够智能
4、 导出道路的选择只能通过Range()的参数来控制,不方便而且很傻
为了解决以上问题,达到摆脱ObjectID的限制(Name字段可以赋值为道路名称,当然要是英文字符),并可以通过直接拉框选择进行模型分批导出的目的,现修改脚本如下:
'''
Created on 2012-8-14
@author: YYX
'''
from scripting import *
# 获取CE实例
ce = CE()
SelectedObj = ce.getObjectsFrom(ce.selection(),ce.isGraphSegment)#在ce.selection集合中获取路网Segments集合
ce.setSelection(SelectedObj)#重新设置ce.selection为Segments集合
NumOfSelected = SelectedObj.__len__()#获取Segments集合objects个数
NameOfSelectedObj = []#创建空列表
'''循环获取Segment集合中objects的名称,并通过set函数合并重复值 '''
f