【发布时间】:2023-04-06 08:28:01
【问题描述】:
我在查看器中动态聚合模型(来自多个 BIM 文件)。基本上,我初始化查看器,然后为用户选择查看的每个模型动态加载文档和加载模型。
这些主要是 NVC 文件(我用于测试的文件),它们共享坐标系。模型被动态加载并正确“缝合”。
但是,当加载第二个模型时,坐标系会变得混乱 - 并非总是如此,但在某些情况下(在 v6.3 中 - 尚未检查以前的版本)。发生这种情况时,我会注意到以下几点:
- 当我在查看器中单击“主页”图标时,它不会显示完整的聚合模型,而只会在中心显示第一个加载的模型,其余的会在屏幕外显示。
- 当我单击要选择的元素时,它会选择其他东西(带有偏移),并且在某些情况下什么都不选择(意思是,单击的坐标被错误地解释了)。
我尝试了多种组合,当第一次加载的模型没有占据聚合模型的全尺寸(例如,建筑物的一层)时,似乎会出现这个问题。
我想出了一个解决方案。加载模型后(每次用户选择一些模型),如果我“隐藏”所有模型并再次“显示”它们,它可以解决点击和 AGGREGATED_SELECTION 事件的问题。
这不是一个好的用户体验,因为我希望能够在用户在先前聚合的模型集周围移动时在后台加载模型。如果我在加载新的后隐藏/显示,这会让用户感到厌烦。
有没有办法“重置”查看器的坐标系(与隐藏/显示模型时发生的效果相同)?
如果能帮助我解决这个问题,我将不胜感激。
谢谢 班杜
【问题讨论】:
-
尝试像这样禁用偏移量:
var loadOptions = { globalOffset: { x: 0, y: 0, z: 0 } // to align the models };并告诉我们您的进展情况 -
嗨,布莱恩,这不是对齐问题。它们完全对齐。是的。我正在设置 globalOffset。谢谢
-
进一步的测试表明我以前的解决方法也不可靠(隐藏/显示)。它只是有时有效。
-
看看这些隐藏的多模型API,或许会给你一些线索。 forge.autodesk.com/blog/highlighting-clashes-multi-model
-
嗨,迈克尔,谢谢。我尝试了您的“重置视图”代码,但没有解决问题。当我隐藏除一个以外的所有模型时,选择有效(它选择我单击的内容)。但是当有多个模型时,它会选择与我单击的元素不同的东西。我尝试使用和不使用“sharedPropertyDb” - 我认为这在这里没有什么不同。
标签: javascript autodesk-forge autodesk-viewer