Autodesk Forge Viewer-从“ viewer.model.search”和“ viewer.getSelection()”获取不同的值dbId

时间:2019-03-09 20:54:05

标签: javascript autodesk-forge autodesk-viewer autodesk

我正在尝试隔离使用方法HPD95<-function(LargeSample){ order<-sort(LargeSample) size<-length(LargeSample) isize<-round(0.95*size) lb<-vector("list", (size-isize)) ub<-vector("list", (size-isize)) inte<-vector("list", (size-isize)) for (i in 1:(size-isize)){ lb[[i]]<-order[i] ub<-order[i+isize] inte[[i]]<- ub[[i]]-lb[[i]] } minvalue<-min(unlist(inte)) position<-which(inte==minvalue) interval<-c(lb[[position]],ub[[position]]) return(interval) } 搜索的某些元素,但是当我使用viewer.model.search方法时,一切都会被隐藏。

我已经使用viewer.isolate来隔离元素,并且我注意到它们为同一元素提供了不同的dbId值。使用getSelection时,dbId有效,而使用getSelection时,则不可用

有人有同样的错误吗?

更新3/11/2019:
当我试图弄清楚发生了什么时,我意识到search方法为您提供的数字为负1,例如:如果您获得search为2302,则getSelection给您2301。

这是一个错误吗?

1 个答案:

答案 0 :(得分:1)

差异可能是由于 dbId 代表了层次结构中不同级别上的相同元素。通过单击在 UI 中选择某项时,然后是叶子(层次结构树中的最低元素,通常为 body solid )。

您可以在层次结构 浏览器面板中检查选择了哪个确切节点: enter image description here

也谈论这种现象,这是一篇有关在哪个级别选择元素的覆盖的文章: Selection override

编辑:“身体”和“实体”叶实体的父代的dbId数通常比叶子本身的dbId少一,如下图所示: enter image description here