1 回答

TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個(gè)贊
可以的,你可以通過(guò) InstanceTree.getNodeParentId( dbId ) 這個(gè)函數(shù)獲取該構(gòu)件父節(jié)點(diǎn)的 dbId。如果你想遞歸(resursively)的獲取該構(gòu)件父層的父層的信息,可以這么做:
/**
* @param {InstanceTree} it - Forge Viewer instance tree.
* @param {number} dbId - 想要查詢的構(gòu)件 dbId.
* @param {number[]} parentIds - 結(jié)果容器.
*/
function getParnetIds( it, dbId, parentIds ) {
const pid = it.getNodeParentId( dbId );
if( pid == it.getRootId() ) return;
parentIds.push( pid );
getParnetIds( pid, parentIds );
}
const it = viewer.model.getData().instanceTree;
const parentIds = [];
getParnetIds( it, 915, parentIds );
if( parentIds.length > 0 ) {
const n = parentIds.length;
for( let i = 0; i < n ; i++ ) {
cosnt dbId = parentIds[i];
console.log( it.getNodeName( dbId ) ); // 打印父節(jié)點(diǎn)的名稱
}
}
添加回答
舉報(bào)