加载模型
使用 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。