f / e / v / fe / fv / g / h / m 已实现,但组件标签的全面支持(如 comp(f, tag))仍在完善中。comp(f) 后几何体目前仍保留原始包围盒,后续 split 裁剪可能产生退化面。
comp(selector) { selector1 : operations1 ... selectorN : operationsN }
| 选择器 | 说明 | 状态 |
|---|---|---|
f | 面 (faces) | ✅ 已实现 |
e | 边 (edges) | ✅ 已实现 |
v | 顶点 (vertices) | ✅ 已实现 |
fe | 面+边 | ✅ 已实现 |
fv | 面+顶点 | ✅ 已实现 |
g | 组/对象 (groups) | ✅ 已实现 |
h | 孔洞 (holes) | ✅ 已实现 |
m | 材料 (materials) | ✅ 已实现 |
Building -->
extrude(10)
comp(f) { front : FrontFacade
| side : SideFacade
| top : RoofShape
| bottom: NIL }
@StartRule
Lot --> primitiveCube(5, 5, 5)
comp(f) { top: RedTop | side: BlueSide | bottom: GreenBottom }
RedTop --> color(1, 0.2, 0.2)
BlueSide --> color(0.2, 0.4, 0.9)
GreenBottom --> color(0.2, 0.8, 0.3)