← 返回函数库

splitAndSetbackPerimeter

Geometry Subdivision Setback 部分实现

CityEngine 官方语法

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 }

参数说明

参数类型默认值说明
splitOffsetfloat分割偏移量。沿周边退缩的距离。
firstEdgeIndexint0起始边索引。
selectedEdgesMaskbool[]边选择掩码数组。true 表示该边参与分割。

描述

沿周长进行退缩并分割。生成退缩后的内部区域和边界条带。

当前实现为简化版本。

官方示例

周长退缩:

Lot --> splitAndSetbackPerimeter(2) { 3 : 1 : Yard | remainder : Building }

实现说明

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

🎨 3D 预览 — 周长退缩

@StartRule\nLot --> primitiveCube(6, 0.2, 6)\n        // splitAndSetbackPerimeter(1)\n        color(0.7, 0.8, 0.7)