加载模型

使用 `BimEngine` 创建 3D Viewer。实例创建后先初始化,再通过模型查看令牌加载模型。

打开 API 调试

加载模型

使用 BimEngine 创建 3D Viewer。实例创建后先初始化,再通过模型查看令牌加载模型。

前置条件

  • 页面中存在一个有确定宽高的容器。
  • 已从平台服务获取模型查看令牌。
  • 已正确部署 SDK 依赖的静态资源,例如 Draco 解码器。

通过模型查看令牌加载

import { BimEngine } from 'iflow-engine';

const bimEngine = new BimEngine('viewer', {
  locale: 'zh-CN',
  theme: 'dark'
});

const initialized = await bimEngine.initialize();
if (initialized) {
  await bimEngine.loadModelByViewToken('YOUR_VIEW_TOKEN');
}

loadModelByViewToken(viewToken) 会使用平台签发的查看令牌解析并加载模型。令牌由平台服务管理,不应写死在前端源码中。

通过模型资源地址加载

当业务系统已具备受控模型地址时,也可以使用:

bimEngine.engine?.loadModel([
  'https://example.com/models/building-a/'
]);
interface ModelLoadOptions {
  // 由底层加载器支持的加载选项;按业务需要传入。
}

后续构件高亮、隐藏、隔离和属性查询时,传入的 url 必须与这里的模型地址完全一致。

监听加载结果

const off = bimEngine.on('engine:model-loading-completed', (payload) => {
  console.log('模型加载完成', payload);
});

// 页面销毁时取消订阅
// off();

页面卸载时调用 bimEngine.destroy() 释放渲染器、事件和 DOM。