如何获取所有模型元素的dbId?

时间:2019-03-05 12:40:57

标签: autodesk-viewer

我需要为我的项目获取模型的所有dbId元素。我研究了获取dbId的所有方法,但是没有一种方法可以解决我的问题。我加载了两个模型,我需要比较差异以显示它们。如果这两种模型的墙大小互不相同,那么我必须用另一种颜色来粉刷此墙。我的解决方案算法如下所示:我在一个场景中加载2个模型,然后尝试获取两个模型的所有元素的dbId,如果接收的dbId之间存在差异,则将其绘制在一个不同的位置颜色。我无法获得所有dbId的列表。

[Link on of my code][1]

https://codepen.io/anon/pen/KENKrE

1 个答案:

答案 0 :(得分:1)

尝试以下代码:

var frags = _viewer.model.getFragmentList().fragments.fragId2dbId;
frags.forEach(function(frag){
  frag.forEach(function(dbId){
    if (dbId<0) return;
     dbids.push(dbId);
  });
});

或者,您可以通过Model Derivative API迭代实例树以在服务器端处理比较-查看更多详细信息here