split(axis) { size1 : Rule1 | size2 : Rule2 | ... }\nsplit(axis) { ~size1 : Rule1 | ~size2 : Rule2 | ... }*
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
axis | selector | — | 分割轴:x、y 或 z(scope 轴)。 |
size | float | — | 分割尺寸。无前缀为绝对尺寸,~ 前缀为相对比例。 |
Rule | rule | — | 对应分割片段的规则名称或操作序列。 |
沿指定轴将当前形状分割为多个子形状。支持绝对尺寸、相对比例(~)、浮动(*)和重复(*)模式。split 是 CGA 中最常用的细分操作之一。
绝对尺寸分割:将 lot 在 X 方向分为 3m 和剩余部分。
Lot --> split(x) { 3 : Front | ~1 : Back }
相对比例分割:在 Y 方向按 1:2:1 比例分为三层。
Mass --> split(y) { ~1 : First | ~2 : Second | ~1 : Third }
CGA.js 中的 split 实现基于 CityEngine 2025.1 官方文档。
@StartRule\nLot --> primitiveCube(8, 4, 2)\n split(x) { 2 : Left | ~1 : Center | 2 : Right }\n\nLeft --> color(1, 0, 0)\nCenter --> color(0, 1, 0)\nRight --> color(0, 0, 1)
split( 时,补全列表直接显示: