По умолчанию все узлы (ресурсы для рендеринга для Viewer) видны при загрузке модели. Каждый узел может быть уникально идентифицирован уникальным dbid
в дополнение к его externalId
, который соответствует UniqueID
компонента Revit.
Таким образом, дополнительные dbids
, которые вы наблюдали, на самом деле являются родительскими узлами. Чтобы изолировать их, см. здесь , чтобы просмотреть все конечные узлы (то есть узлы, представляющие отдельные видимые компоненты):
function getAllLeafComponents(viewer, callback) {
var cbCount = 0; // count pending callbacks
var components = []; // store the results
var tree; // the instance tree
function getLeafComponentsRec(parent) {
cbCount++;
if (tree.getChildCount(parent) != 0) {
tree.enumNodeChildren(parent, function (children) {
getLeafComponentsRec(children);
}, false);
} else {
components.push(parent);
}
if (--cbCount == 0) callback(components);
}
viewer.getObjectTree(function (objectTree) {
tree = objectTree;
var allLeafComponents = getLeafComponentsRec(tree.getRootId());
});
}