首页 > 解决方案 > 在 viewer.loadModel 方法中使用 options.ids 参数来选择模型中的对象子集

问题描述

我正在尝试选择模型中的对象子集。原因是该模型有很多钢筋,我们一次只想查看其中的几个。加载所有这些也会使模型变慢。

所以我们的想法是加载整个模型以获取几何数据,并过滤掉所有钢筋(在 OBJECT_TREE_CREATED_EVENT 和 GEOMETRY_LOADED_EVENT 被触发之后)。然后我们使用viewer.impl.unloadModel卸载模型并再次重新加载模型,但现在使用options.ids = ["all except rebar dbIds"]作为 viewer.loadModel 的参数。现在按预期排除钢筋,但其余对象不再按顺序排列。通过在模型浏览器中选择Windows,我现在可以得到各种随机对象。见附图

如果我查看在加载完整模型和加载子集时都可见的对象,我会看到该对象的数据已意外更改该对象现在显示位于模型中其他位置的另一个对象的属性。(不要介意颜色,每次加载模型时它们都是不同的。对象是同一面墙)。

我看不到我做错了什么,可能有错误吗?

问候,托瑞斯

标签: autodesk-viewer

解决方案


这确实是一个限制(查看器 v6)。如果我们加载非顶级 ID,则模型树在选择时会出现意外行为。我们的开发团队将对此进行调查。


推荐阅读