在我几乎所有的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”。这可能是原因。有办法禁用它吗?
谢谢
答案 0 :(得分:1)
当模型太大时,Forge Viewer可能会从内存中撤出其几何图形的某些部分,然后在它们重新显示时再次加载(下载)它们。在这种情况下,GEOMETRY_LOADED_EVENT
将再次被触发。
您可以通过在查看器配置中传递0作为内存限制来禁用内存管理。但是,在这种情况下,您的网页可能会耗尽内存,并被浏览器杀死:
const config = {
memory: {
limit: 0
}
};
let viewer = new Autodesk.Viewing.Viewer3D(document.getElementById('viewer'), config);