← 返回函数库

modify

Geometry Manipulation Recomposition 已实现

CityEngine 官方语法

modify(component) { selector: operations | ... }
modify(component, scopeAlignment) { selector: operations | ... }

参数说明

参数类型说明
componentenum组件选择器:f 面、e 边、v 顶点、fe 面边等
scopeAlignmentstring可选对齐标志,例如 noAlign
selectorstring / expression选择器表达式或方向标签,如 topridgeisTagged("Mass")
operationsoperations对选中组件执行的操作

描述

modify 操作会选中当前形状的拓扑组件,执行指定操作后将修改过的部分与未修改的几何体重组回一个连续形状。它隐式执行形状重组(shape recomposition)。

当前实现会保留原始几何体并将修改后的组件合并回去;复杂的拓扑 reconnect(如 T-junction、共享边插点)目前为简化处理。

官方示例

缩放顶部面形成锥形质量:

Init -->
    extrude(5)
    modify(f) { top: s('0.5,'0.5,0) X. }

移动屋顶脊线:

RoofExample -->
    roofHip(45)
    modify(e) { ridge: t(0,0,2) X. }

所有面向上平移(共享顶点偏移会累加):

FourFaces --> modify(f,noAlign) { all: t(0,1,0) X. }

实现说明

CGA.js 中的 modify 实现基于 CityEngine 2025.1 官方文档。

🎨 3D 预览 — modify 锥形顶部

@StartRule\nInit --> extrude(5)\n        modify(f) { top: s('0.5,'0.5,0) X. }\n        color(0.6, 0.7, 0.9)