inline { A | B }
inline(strategy) RuleCall
inline(strategy) { operations }
inline(strategy) split(axis) { ... }
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
strategy | enum | append | 合并策略:append 直接追加、unify 统一合并、recompose 重组共享顶点 |
A, B / RuleCall / operations | rule / block | — | 要内联执行的规则、操作块或细分。 |
规则内联操作。将规则调用、操作块或细分的结果合并为一个单一形状。inline(recompose) 会在合并后尝试恢复被分割形状之间的共享顶点连接,常用于需要先细分再统一处理的建模流程。
内联两个形状:
Lot --> inline { Box | Cylinder }
使用 recompose 策略创建 F 形 footprint:
Init -->
inline(recompose) split(x) { 10: X.
| ~1: split(z) { 10: X. | 10: NIL }* }
cleanupGeometry(all, 0)
与 modify 等价的内联写法:
Init --> extrude(5)
inline(recompose) comp(f) { top: SplitAndTranslate | all: X. }
CGA.js 中的 inline 实现基于 CityEngine 2025.1 官方文档。
recompose 模式会合并相同位置的顶点,形成相对连续的表面。@StartRule\nLot --> inline { Box | Cyl }\n\nBox --> primitiveCube(4, 4, 4) color(0.8, 0.5, 0.5)\nCyl --> primitiveCylinder(16, 1.5, 5) color(0.5, 0.5, 0.8)