应该触发几次GEOMETRY_LOADED_EVENT?

时间:2019-01-03 10:41:19

标签: autodesk-forge autodesk-viewer

在我几乎所有的revit模型上,当我看到场景完整时,仅触发一次GEOMETRY_LOADED_EVENT。这就是我的期望,当达到此事件时,我可以对模型/视图执行其他一些操作(例如将整个模型移至其他坐标)。

但是,在一个revit模型中,在加载过程中,在模型移动或放大/缩小时,我多次触发了GEOMETRY_LOADED_EVENT。

我可以通过注册一个简单的来检查 NOP_VIEWER.addEventListener(Autodesk.Viewing.GEOMETRY_LOADED_EVENT, (e) => {console.log(e)});

我应该触发GEOMETRY_LOADED_EVENT几次?

注意:在具有多个触发器的revit文件中,我在事件中设置了“ onDemandLoad:true”。这可能是原因。有办法禁用它吗?

谢谢

1 个答案:

答案 0 :(得分:1)

当模型太大时,Forge Viewer可能会从内存中撤出其几何图形的某些部分,然后在它们重新显示时再次加载(下载)它们。在这种情况下,GEOMETRY_LOADED_EVENT将再次被触发。

您可以通过在查看器配置中传递0作为内存限制来禁用内存管理。但是,在这种情况下,您的网页可能会耗尽内存,并被浏览器杀死:

const config = {
    memory: {
        limit: 0
    }
};
let viewer = new Autodesk.Viewing.Viewer3D(document.getElementById('viewer'), config);