该检查器可用于查看和修改对象的属性,诸如形状,图层,和模型的主要工具。根据所选对象的类型,Inspector调整其用户界面以提供对对象属性的完全访问。您可以通过单击 主菜单中的Window > Inspector或按 Alt+ I来打开检查器。
该检查不仅支持编辑单个对象,而且对象的集合。在所有对象中唯一的属性按原样显示。如果某个属性在对象集合中具有不同的值,则该属性会被标记为非唯一的,并带有“?” 象征。The Inspector shows the attributes of the lead object when multiple objects are selected. 引导对象始终是最近单独选择的对象。
对于地图图层,检查器允许您更改地图文件、修改边界和调整显示偏移(地图渲染相对于实际地图值的位移量)。此外,还可以指定地图的叠加颜色和 alpha 值。有关详细信息,请参阅地图层。
使用对象属性
要使用Inspector添加属性,请执行以下操作:
- 单击添加新对象属性。
- 输入属性名称、值和类型的信息。
城市引擎具有以下类型的对象属性:
- 布尔:布尔值
- FLOAT : 浮点值(双精度)
- STR : 字符串(UTF-16 编码)
- BOOL[ ] : 布尔值数组
- FLOAT[] : 浮点值数组
- STR[ ] : 字符串数组
笔记:
- 输入属性值时,用户可以为浮点数(非数字)输入“NaN”值,或为字符串输入“NULL”值。
- 输入属性数组的值时,用,(逗号)分隔值。例如 :
- 1,2,3,4,NaN,6
- a,b,c,d,e,f,NULL,h,i,j
- 真,假,真,假
- 数组值也可以用方括号格式化,以便于从 CGA 代码或控制台输出复制:
- [“a”、“b”、“c”]
- [a,b,c]
使用列表编辑器进行编辑
您可以使用列表编辑器来编辑对象属性部分中的数组属性。
- 单击下拉菜单中的编辑列表…。
- 通过编辑第二列单元格来修改值。
您可以使用工具栏复制元素、添加、复制和删除元素。
- 单击“确定”。
新值被添加到数据模型和场景中。
使用表编辑器进行编辑
如果一个对象有许多遵循prefix_…语法的属性数组,您可以从下拉菜单中编辑属性值并为每个属性选择Edit Table…。
要编辑多个阵列属性,请执行以下操作:
- 从属性之一的下拉菜单中单击编辑列表…。
这将打开一个用于编辑的数组属性表。
- 修改每列中的值。
- 单击“确定”。
使用数组属性
CityEngine支持 float、string 和 bool 数组。该检查用于规则和对象属性显示阵列,并允许进行编辑。
- 单击
按钮展开阵列属性。
数组索引以灰色显示。
- 单击+图标以在数组末尾添加新行。
添加的元素被设置为每种类型的默认值(即0表示浮点数,“”表示字符串,false表示布尔值)。
- 单击一个元素以对其进行编辑。
- 右键单击一行以删除或插入行。
二维数组显示在表格视图中。行索引显示在左侧。列索引显示在顶部。
表格中显示的二维数组
属性、来源和连接
属性和参数可以有不同的来源,允许对值进行细粒度控制。以下是可能的来源列表:
默认 |
使用的默认值。对于规则属性,这是初始属性值。对于参数,这是特定于算法的默认值。 |
用户 |
用户输入的值。每当用户设置值(也通过 Python)、使用滑块或处理源设置为用户定义时。 |
目的 |
该值取自相应的对象属性。该值以斜体显示,并标有(Object)。 |
形状 |
规则属性可以使用来自父形状的值。例如,街道形状可以对街道段的streetWidth 进行采样。该值以斜体显示,并标有(Shape)。 |
层 |
该值与图层属性相关联。该值以斜体显示,并用括号中的源图层标记。有关详细信息,请参阅图层属性。 |
笔记:
- 创建连接和设置源的最简单方法是使用连接编辑器。
- 在规则分配期间,名称与规则属性匹配的对象属性会自动连接。在规则分配期间,名称与规则属性匹配的对象属性会自动连接。
- 每当您为参数或属性输入值时,它都会自动更改为用户源。
检查器属性选项
根据所选对象的类型,有不同的选项可用于修改对象。
示例街道参数

造型创作 |
默认值 |
街道宽度 |
连接到层 Streetnetwork |
街道偏移 |
用户指定值 |
人行道左宽度 |
连接到对象属性(下) |
人行道宽度右 |
连接到层网格 |
精确 |
默认值 |
车道宽度 |
用户指定值 |
示例规则属性

使用连接编辑器映射属性
CityEngine 中的属性和对象参数可以从各种来源进行控制。该连接编辑器有助于创建这些属性的连接。
要编辑特定属性的连接,请执行以下操作:
- 单击属性的下拉菜单。
- 单击连接属性…打开属性连接编辑器。
- 设置属性连接。
- 单击“确定”。
在属性连接编辑器菜单中,您有以下选项:
对象属性 |
将您的属性连接到对象属性。此选项仅在以下情况下可用:
|
形状参数 |
将您的属性连接到父形状参数。此选项仅在以下情况下可用:
|
图层属性 |
将您的属性从任意层连接到层属性。从下拉菜单中选择源图层,并从下拉菜单中选择所需的图层属性。 每个图层将提供其可用图层属性的列表,包括以下内容:
笔记:如果与您的属性同名的图层属性已存在,则新属性可能会覆盖现有属性。
|
重置属性 |
您可以通过属性下拉菜单中的规则默认选项重置特定属性 。根据属性的类型,这将重置为算法的默认值(例如街道形状创建)或规则文件中的默认值(规则属性)。属性上下文菜单中还提供了其他选项(右键单击打开):
|
使用图层属性映射对象属性
每个层都可以定义一组任意的层属性。而地图图层通常使用其图像数据作为图层属性的来源,图形和形状数据图层可以查询其矢量对象以获取图层属性。
对象属性映射和采样
层属性可用于将其场景对象的对象属性映射到具有不同名称的属性,或映射到其他层上的对象。
笔记:
对于简单的情况,使用连接编辑器来执行属性映射。
节点、线段和形状的对象属性可以使用以下命令之一与图层属性进行映射或采样:
getFloatObjectAttr(name)
getFloatObjectAttr(name, sample)
getStringObjectAttr(name)
getStringObjectAttr(name, sample)
getBoolObjectAttr(name)
getBoolObjectAttr(name, sample)
getFloatArrayObjectAttr(name)
getFloatArrayObjectAttr(name, sample)
getStringArrayObjectAttr(name)
getStringArrayObjectAttr(name, sample)
getBoolArrayObjectAttr(name)
getBoolArrayObjectAttr(name, sample)
这些命令在创建对象属性的图层中搜索具有匹配名称的对象属性。
如果示例参数为 false,则仅检查形状的对象属性。如果sample为 true(默认值),并且形状没有这样的对象属性,则为指定的name对属性层中的重叠形状进行采样。
如果使用街道段上的对象属性宽度来控制创建的街道形状的宽度(街道参数streetWidth),则getFloatObjectAttr允许属性层从其他对象获取值。
attr streetWidth = getFloatObjectAttr("width")
要使用此图层属性,请将Street Parameters窗格中的streetWidth参数的源设置为其自己的图层。下面是一个带有取决于属性的streetWidth参数的示例:

streetWidth属性是从对象属性width映射的。图层属性streetWidth现在可用于控制街道形状的街道宽度。
笔记:
导入 OSM、形状或 GDB 数据时,会在导入的图层上自动创建一组预定义的图层属性。选择新图层并在Inspector 中显示或修改创建的图层属性。
报告
该 报告部分列出了所有报告的指定型号的变量。下表说明了一个示例:
检查器中的报告表
报告 |
计算出的报告变量的名称。 |
N |
报告变量的出现次数。 |
% (N) |
变量在组中出现的百分比。 |
和 |
变量值的总和。 |
%(总和) |
组中变量值总和的百分比。 |
平均 |
变量值的平均值。 |
最小 |
变量值的最小值。 |
最大限度 |
变量值的最大值。 |
纳米 |
值不是数字的出现次数。例如,字符串变量(如Retail或 Office )没有数值。 |
笔记:
报表变量可能包含一个点 (.),用于分隔公共组名称和变量名称,例如 FAR.Office 或 FAR.Retail。变量组合在 FAR 组中。