Skip to content

以下是针对 xeokit SDK 的全面介绍,涵盖其定位、核心功能、技术特点、应用场景及与其他工具的对比:


1. 概述

  • 定位:xeokit 是一个专注于 BIM/工程模型可视化 的开源 Web SDK(JavaScript 库),专为在浏览器中高效加载和交互大型建筑/工业模型设计。
  • 核心目标:解决传统 WebGL 引擎在处理 IFC、点云、三维瓦片(3D Tiles) 等工程格式时的性能与数据语义问题。
  • 开发团队:由英国公司 xeolabs 主导开发,采用 MIT 开源协议

2. 核心功能

(1) 高性能模型加载

  • 支持格式:
    • IFC(建筑信息模型标准格式)
    • glTF/GLB(通用3D传输格式)
    • LAS/LAZ(点云数据)
    • 3D Tiles(大规模地理空间模型)
    • CityJSON(城市级模型)
  • 优化技术
    • 按需流式加载(LOD 细节层次)
    • 模型切片与缓存(减少内存占用)

(2) BIM 语义支持

  • IFC 数据解析:自动提取构件属性(如墙体材料、设备参数)。
  • 对象树结构:还原模型层级(楼层→房间→构件)。
  • 属性查询:通过代码或 UI 点击查看构件元数据。

(3) 交互与可视化

  • 剖切分析(Section Planes):动态切割模型查看内部结构。
  • 视点保存(Bookmarks):记录关键视角。
  • 空间隔离(Isolation):聚焦特定构件,隐藏其他部分。
  • BIM 着色:按类别(结构/机电)或属性(状态)颜色编码。

(4) 扩展工具

  • 碰撞检测(Clash Detection):可视化构件冲突。
  • 测量工具:距离、面积、体积计算。
  • 点云与模型融合:将扫描点云叠加到 BIM 模型。

3. 技术架构

层级技术栈
核心引擎WebGL 2.0/WebGPU
语言JavaScript/TypeScript
依赖零外部依赖(纯原生 WebGL)
框架集成支持 React/Vue/Angular 封装

4. 性能优势

  • 千万级三角面片:在普通PC浏览器中流畅渲染大型工厂/BIM模型。
  • GPU 实例化渲染:对重复构件(如螺栓、管道)大幅优化。
  • 后台线程解析:模型加载不阻塞 UI 交互。

5. 应用场景

领域案例
建筑运维网页端设备管理系统(扫码定位 BIM 构件)
施工协同云端碰撞检测报告可视化
数字孪生对接 IoT 传感器数据,实时显示设备状态(如温度异常变红)
基础设施桥梁/隧道检测模型与点云融合分析
教育交互式建筑构造教学工具

6. 与竞品对比

工具优势局限
Three.js生态更广,适合通用 3D 开发BIM 数据需手动解析
Babylon.js内置物理引擎,适合游戏化交互工程格式支持较弱
Cesium地理空间能力强大(GIS+BIM)建筑细节渲染不如 xeokit
xeokit专为工程/BIM优化,语义支持完善非游戏引擎(无物理/粒子)

7. 开发资源


8. 典型代码示例

javascript
import { Viewer, BIMViewer } from "xeokit-sdk";

// 创建查看器
const viewer = new Viewer({ canvasId: "myCanvas" });

// 加载 IFC 模型
viewer.scene.loadScene({
    id: "myScene",
    modelSrc: "model.ifc"
});

// 点击查询构件属性
viewer.cameraControl.on("picked", (e) => {
    if (e.entity) {
        console.log("构件属性:", e.entity.get("属性表"));
    }
});
import { Viewer, BIMViewer } from "xeokit-sdk";

// 创建查看器
const viewer = new Viewer({ canvasId: "myCanvas" });

// 加载 IFC 模型
viewer.scene.loadScene({
    id: "myScene",
    modelSrc: "model.ifc"
});

// 点击查询构件属性
viewer.cameraControl.on("picked", (e) => {
    if (e.entity) {
        console.log("构件属性:", e.entity.get("属性表"));
    }
});

9. 总结

  • xeokit 是 Web 端工程可视化的利器,尤其适合需要深度集成 BIM 语义(IFC)的项目。
  • 优势:轻量(无依赖)、开源、性能极致、BIM 原生支持。
  • 适用对象
    • 开发建筑/工业 Web 运维平台的技术团队。
    • 需要替代昂贵商业可视化引擎(如 Navisworks Web)的用户。
    • 数字孪生项目中需融合 IoT 数据与三维模型的场景。

💡 提示:若需开箱即用的 BIM 查看器,可尝试基于 xeokit 的 xeokit-concierge,支持直接上传 IFC 生成可分享链接。

xeokit-bim-viewer 是一个开源的 2D/3D BIM 查看器,运行在 浏览器并从文件系统加载模型。 xeokit-convert 提供了转换 3D BIM 和 AEC 模型的方法 转换为 XKT 文件以超快速加载到 xeokit,以及用于生成 XKT 的编程工具 Node.js 上带有 JavaScript 的文件。

步骤说明: 1、IfcOpenShell 解析IFC文件,提取几何和属性数据。 2、将几何数据转为 glTF 供xeokit渲染,属性数据存入数据库。 3、xeokit 在浏览器中展示模型,用户点击构件时从数据库查询属性。