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