如果你已经在 CityEngine 里写过几条 CGA 规则,却始终不清楚怎么把模型数据“拿出来”给外部用,这门课正好补上这个缺口。它讲的不是建模技巧,而是 report 函数——让 CityEngine 在生成模型的同时,把面积、数量、比例等统计信息输出成报表。
这门课解决什么问题
很多学习者会把 CGA 规则当成“画形状的脚本”,用 shape、split、extrude 把楼体搭出来就结束了。但实际项目里,你往往还需要回答:这个方案总建筑面积是多少?住宅和商业各占多少?哪些地块的容积率超标?这些数字如果靠人工去量、去算,既慢又容易错。report 函数就是让 CGA 规则在每次生成时自动记录这些数值,并把结果汇总成结构化数据。
课程用四个场景(reporting01 到 reporting04)拆解 report 的典型用法:从最简单的单值输出,到多个规则嵌套时如何累加、合并,再到用 maper 控制属性参数。你不需要先精通整个 CityEngine 才来看它,只要会写基础的 split 和 extrude,就能跟上。
建议先看哪几块
如果你是第一次接触 reporting,建议先从第一讲入手,把 report 函数的语法和输出位置搞清楚:它写在规则里的哪个层级,生成的报表存在哪里,字段名怎么定义。接着直接跳到第五讲 maper 控制属性参数——这一讲容易被忽略,但它解释了如何让 report 的结果反向影响模型参数,比如根据面积比例自动调整楼高。这个循环一旦打通,你的规则就从“静态生成”变成“带反馈的生成”。
至于 reporting01 到 04 的 CGA 文件解读,不必按顺序一口气看完。你可以先挑一个场景做跟练,遇到“这个 report 为什么嵌套在 split 里”之类的疑问时,再回头对照其他场景的规则文件。每讲都不长,适合边看边在软件里打开自己的工程试。
学完能独立做什么
学完这门课,你应该能独立完成这些事:在已有的 CGA 规则里插入 report 语句,输出每个地块的总建筑面积、容积率、绿化率;把多个子规则产生的数值汇总到同一张报表里;用 maper 把报表结果映射成新的属性参数,让模型根据统计结果自动调整。更进一步,你可以把这份报表导出给 Excel 或 GIS 平台,用于方案比选和指标核查。
配套练习方面,不要只复现课程里的场景。建议你拿一个自己之前做过的城市地块模型,先手动数一遍面积,再写规则自动统计,核对两者是否一致。如果对不上,大概率是 report 的层级或累加方式有问题。资料包里每个场景的规则文件都可以直接打开,但更重要的是跟着它的逻辑改参数,观察报表变化。看完四讲后,试着把 reporting 和 maper 结合到自己的项目里,才算真正掌握。
课程目录
1 report函数的用法及其功能介绍 (03:53) 2 reporting01场景cga规则文件详细解读 (09:14) 3 reporting02场景cga规则文件详细解读 (14:40) 4 reporting03场景cga规则文件详细解读 (12:39) 5 maper控制属性参数 (08:57) 6 reporting04场景cga规则文件详细解读 (12:07)





