我正在与 Autodesk Tandem 合作,并实现了一个自定义应用程序,其中显示设施及其关联视图。现在我想检索 Inventory 表中的所有列。
这是我当前的代码:
await app.displayFacility(matchingFacility, aModelIds, viewer);
await app.views.setCurrentView(matchingFacility, matchingView);
const viewer: Autodesk.Viewing.GuiViewer3D = this.oViewer;
const model: Autodesk.Viewing.Model = viewer.model;
const visibleDbIds = await model.getVisibleDbIds();
const inventoryElements: = await model.getPropertiesDt(visibleDbIds);
这工作得很好,除了缺少一些特定的列:
我的问题是:
这是该方法的完整签名:
DtModel.getPropertiesDt(dbIds: number[], options?: {
classificatioID?: string;
history?: boolean;
includeDeleted?: boolean;
intersect?: boolean;
wantTimeSeries?: boolean;
}): Promise<any[]>;
库存组件实际上使用不同的方法来获取属性:
DtModel.query({
includes?: {
standard?: boolean;
applied?: boolean;
element?: boolean;
type?: boolean;
id?: boolean;
};
compositeChildren?: boolean;
dbIds: number[];
}): Promise<{ rows: any[]; cols: any[]; }>;
返回相同的数据但使用不同的结构(更适合我们的网格组件)。当我们根据库存上下文添加其他列时,还会进行一些后处理。