CityEngine数据参数类型
CityEngine中有四种不同类型的参数:
1、Block Parameter------------作用于Blocks
2、StreetParameters----------作用于Graph Segments
3、IntersectionParameters--作用于Graph Nodes
4、RuleParameters------------作用于分配了Rule的shapes
数据参数数据源类型
这几种参数都可以指定不同的属性数据源,属性数据源类型有四种:
- Default
-
Object
- User
- Layer
1、Default value指的是参数值的默认值,该值后面都会有一个括号标明为Default
2、Objectattribute value指的是Object的属性表中自带的属性值,只当Object attribute中包含于parameter的名称相同的attribute时才可指定该数据源。
3、User value指的是用户修改了参数值以后的值,例如修改了Default的值以后就成为User value了(与Default value的图进行对比)
SidewalkWidthLeft的值经过用户重新输入,它由原来的Default value变为user value
4、Layer value图层相关属性值
获取以及修改参数值
我们可以使用Python脚本批量的对Object参数赋值,赋与的值可以是用户指定的固定值,也可以是Objects对应的某一个属性值,这里主要用到两个函数:
ce.setAttribute()
ce.setAttributeSource()
对不同类型的某一个参数,获取的方法是不同的,具体方法如下:
Block Parameter
|
/ce/block/PARAMETER
|
Street Parameters
|
/ce/street/PARAMETER
|
Intersection Parameters
|
/ce/crossing/PARAMETER
|
Rule Parameters
|
/ce/rule/PARAMETER
|
例如:
我们首先通过ce.setAttribute(block,"lotAreaMax", 3000)给选中的Object添加一个lotAreaMax属性并赋值3000,然后再通过ce.setAttribute(block,,"/ce/block/lotAreaMax", "OBJECT")语句设置选中的Block中的lotAreaMax参数值的数据源为Object中刚添加的名称为lotAreaMax的属性值。
根据Object属性值对Object进行筛选选择
通过python的WithName方法可以按找Object的Name对Object进行过滤筛选
例如:
lot = ce.getObjectsFrom(ce.scene,ce.withName("'yyx'"))
该语句会选出所有场景中名为yyx的Objects
但在实际使用中,我们更多的是想根据Objects的某一个属性值进行筛选,这里的解决方案是:
1、首先通过CE.getAttribute()方法获取选中Object某一字段的属性值
2、再通过CE.setName()方法将Object的Name更改为获取的字段属性值
3、循环1,2步骤,直到所有选中的Objects都更改了Name
最后通过
CE.withName()方法根据属性值进行筛选
参考代码如下:
'''
Created on 2013-1-31
@author: yuyouxiang
'''
from scripting import *
# get a CityEngine instance
ce = CE()
sceneobjects = ce.getObjectsFrom(ce.scene)
for object in sceneobjects:
Newname = ce.getAttribute(object,"Type")
ce.setName(object,Newname)
selectedobject = ce.getObjectsFrom(ce.scene,ce.withName("'Tree'"))
ce.setSelection(selectedobject)
注:Type为字段名,Tree为想要筛选的属性值
通过上面的脚本,我们就可以选出Type字段中值为Tree的所有Objects
分享到:
相关推荐
在操作中遇到不会的问题针对性的查找,也讲解了基础的CGA语法、地理图层、纹理图层、障碍图层、地图图层、函数图层、、街道几何网络、静态模型、基于规则建模、素具导入、地理参考、导出模型、常用命令、形状操作、...
CityEngine依托三个方面:要素、属性和规则。使用者可以给场景中的每个元素提供更为详细的信息,就能建立起更复杂更贴近真实三维世界的场景。同时,CityEngine可以从这三个方面潜在的创建各种3D内容,它主要关注...
Esri CityEngine2019 Esri CityEngine是三维城市建模的首选软件,应用于数字城市、城市规划、轨道交通、电力、管线、建筑、国防、仿真、游戏开发和电影制作等领域。 Esri CityEngine可以利用二维数据快速创建三维...
Cityengine 城市参数化建筑景观规则.rar
cityengine的规则文件,覆盖到工程文件对应位置
180个cityengine规则180个cityengine规则
CityEngine 植物规则库(大量植物规则库)
184个cityengine规则文件
Cityengine 城市道路规则.rar
cityengine中文基础教程,省去翻译。
Cityengine 景观规则库,直接拖拽使用
CityEngine_2016_0_150261
CityEngine 古建筑规则(贴图精细)直接导入拖拽使用,简单方便
Cityengine建筑白膜规则,可根据属性设置高度
Esri CityEngine中文教程V1.0
cityengine2011中文安装教程.doc
Cityengine规则:精美的建筑
cityengine2013 CGA规则编辑器
CityEngine教程文档】---01 基础教程的Tutorial_01_CityEngine_Basics_2011数据
这个是CityEngine CGA Grammer的方法大全,如果遇到不会的方法时就查查看吧