splitAndSetbackPerimeter(splitOffset) { length1 : depth1 : operations1 | ... | lengthn-1 : depthn-1 : operationsn-1 } { remainder : operations }
splitAndSetbackPerimeter(splitOffset) { ... }* { remainder : operations }
splitAndSetbackPerimeter(splitOffset, firstEdgeIndex, selectedEdgesMask) { ... } { remainder : operations }
splitAndSetbackPerimeter(splitOffset, firstEdgeIndex, selectedEdgesMask) { ... }* { remainder : operations }
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
splitOffset | float | — | 分割偏移量。沿周边退缩的距离。 |
firstEdgeIndex | int | 0 | 起始边索引。 |
selectedEdgesMask | bool[] | — | 边选择掩码数组。true 表示该边参与分割。 |
沿周长进行退缩并分割。生成退缩后的内部区域和边界条带。
周长退缩:
Lot --> splitAndSetbackPerimeter(2) { 3 : 1 : Yard | remainder : Building }
CGA.js 中的 splitAndSetbackPerimeter 实现基于 CityEngine 2025.1 官方文档。
@StartRule\nLot --> primitiveCube(6, 0.2, 6)\n // splitAndSetbackPerimeter(1)\n color(0.7, 0.8, 0.7)