IfcApi
IfcLoader
IfcViewerApi

IfcLoader.setOnProgress

简介

IfcLoader的setOnProgress方法用于设置在读取IFC文件时的进度回调函数。

方法原型

setOnProgress(callback: (event: { loaded: number, total: number }) => void): void

参数callback为回调函数,接收一个event对象作为参数,event对象包含当前读取的字节数和总字节数。

参数介绍

参数名 类型 描述
callback (event: { loaded: number, total: number }) => void 进度回调函数,接收一个event对象作为参数,event对象包含当前读取的字节数和总字节数。

示例代码

以下示例代码演示了如何使用IfcLoader的setOnProgress方法,设置一个进度回调函数,并在回调函数中更新页面上的进度条。

const loader = new IfcLoader()

const progressBar = document.getElementById("progress-bar")

loader.setOnProgress((event) => {
  const progress = (event.loaded / event.total * 100).toFixed(2)
  progressBar.style.width = `${progress}%`
})

loader.load("example.ifc", (ifcModel) => {
  // 加载完成后的回调函数
}, null, (error) => {
  console.error("Failed to load IFC file", error)
})

在上述示例代码中,我们首先创建了一个IfcLoader的实例,然后获取了用来显示进度条的DOM元素progressBar。接着,我们调用了IfcLoader的setOnProgress方法,传入一个回调函数。在回调函数中,通过计算已加载的字节数和总字节数的比例,更新页面上的进度条。最后,我们调用IfcLoader的load方法加载IFC文件,并在加载完成后执行回调函数。如果加载失败,我们也提供了错误处理的回调函数。