roofGable(angle)\nroofGable(angle, overhangX)\nroofGable(angle, overhangX, overhangY)\nroofGable(angle, overhangX, overhangY, even)\nroofGable(valueType, value)\nroofGable(valueType, value, overhangX)\nroofGable(valueType, value, overhangX, overhangY)\nroofGable(valueType, value, overhangX, overhangY, even)
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
angle | float | — | 屋顶坡度角(度)。 |
overhangX | float | 0 | 垂直于屋脊方向的屋檐伸出。 |
overhangY | float | 0 | 平行于屋脊方向的屋檐伸出。 |
even | bool | false | 是否强制屋脊水平。 |
valueType | selector | byAngle | byAngle 或 byHeight。 |
value | float | — | 角度或高度值。 |
从当前形状的顶面生成人字屋顶(gable roof)。屋顶由两个对称斜面组成,在屋脊处相交。
基本人字屋顶:
Top --> roofGable(30) Roof
带屋檐伸出:
Top --> roofGable(30, 1, 0.5) Roof
CGA.js 中的 roofGable 实现基于 CityEngine 2025.1 官方文档。
@StartRule\nLot --> primitiveCube(6, 4, 6)\n comp(f) { top: Roof | side: Wall }\n\nRoof --> roofGable(35) color(0.6, 0.3, 0.2)\nWall --> color(0.75, 0.72, 0.68)
roofHip( 或 roofGable( 等时,补全列表会显示带具体枚举值的条目,可直接选择:roofHip(byAngle, value) 后,只需修改数值即可。