すべての dbId 要素のプロパティを取得したいと考えています。この目的のために、dbIds の配列を単純にループし、 Forge ViewergetProperties
によって提供される関数を使用します。
someFunction() {
const instanceTree = this.viewer.model.getData().instanceTree;
const allDbIds = Object.keys(instanceTree.nodeAccess.dbIdToIndex);
console.log('all DbIds');
console.log(allDbIds);
// This will give the correct Properties
// this.viewer.getProperties(5, (result) => {
// console.log(result)
// })
allDbIds.forEach((dbId) => {
this.viewer.getProperties(dbId, (result) => {
console.log('result:');
console.log(result);
}, (err) => {
console.log('err');
console.log(err);
});
});
}
特定の dbId に直接アクセスすると、正しいプロパティ配列が取得されます。ただし、すべての dbId をループしてgetProperties
関数を呼び出すと、最初の 2 つの dbId のみがプロパティを返し、他のすべての dbId は空の配列のみを返します。さらに、最初の 2 つの配列は大きすぎて、他のプロパティが含まれているようです。-->コンソール出力へのリンク
誰かが私がここで間違っていることを知っていますか? もうありがとう!