经纬志
首页 / Cesium / 使用示例

BIM 建筑的逐层呈现

BIM 模型自带楼层结构,最常做的操作是只看某一层或逐层展开。示例用盒体搭出八层楼,按节奏逐层显示。

CesiumJS 1.121 · 更新 2026-10-28
源码与运行效果
运行效果

这个示例在做什么

一栋八层建筑自下而上逐层出现,每层停一秒。每层用一个盒体表示, 盒体底面贴在该层的楼面高度上,八层叠起来就是整栋楼的体量。

BIM 数据在 3D Tiles 里通常带楼层元数据。想只看某一层,做法不是把整栋楼隐藏, 而是按楼层属性过滤要素,或者用裁剪平面对整栋楼做水平剖切。 示例里的「逐层出现」是最直观的一种表达,控制的是实体的 show。

关键接口

接口作用
entity.show布尔开关,逐层控制显隐最省性能
TilesetStyle / feature.getProperty真实 BIM 数据里按楼层过滤
ClippingPlane用一个水平面对整栋楼做剖切
setTimeout按固定节奏推进楼层,便于观察

可以直接改的地方

位置改什么效果
floorCount = 8改成 15更高的楼
floorH = 4改成 3层高变化,整体变矮
setTimeout(next, 900)改成 200楼层出现更快
palette换色楼层配色

替代说明:官方示例加载 ion 上的 BIM 模型并用楼层元数据做过滤与剖切。 这里用盒体逐层搭建复现观感,show 与裁剪平面的用法可直接迁移到真实模型。