加载多个文档时如何设置model.getDocumentNode?
How to set model.getDocumentNode when loading multiple documents?
我在查看器中从多个转换的 revit 文件加载多个模型。
在这些模型中的每一个中,我都将点与所选元素相关联。
为了以后能够重用这些点,我需要:
- 它取自哪个 revit 文件 -> models[x].myData.urn : ok
- revit 文档中的哪个视图(模型)取自 -> model.getDocumentNode returns null(当我使用 viewerApp 加载单个模型时情况并非如此)。这导致 node.model.getDocumentNode().data.guid 无法访问视图的 guid。敲
- Dbid -> 出现在选择事件中:ok
- Guid -> 我构建了一个 2 种方式映射 table (dbid<->guid) 来获得我需要的东西:好的(打开更直接的方法,但是没问题)
主要问题是第二点,如何在查看器中加载多个模型时设置model.getDocumentNode?
谢谢,
您可以在加载过程中收集文档 URN 和模型 GUID:
function load(urn) {
viewerApp.loadDocument(
'urn:' + urn,
function onDocumentLoadSuccess(doc) {
const viewables = viewerApp.bubble.search({ 'type': 'geometry' });
if (viewables.length > 0) {
const path = doc.getViewablePath(viewables[0].data);
const viewer = viewerApp.getCurrentViewer();
const options = { /* your options */ };
viewer.loadModel(path, options, function onModelLoadSuccess(model) {
model._myURN = urn;
model._myGUID = viewables[0].data.guid;
});
}
}
);
}
我在查看器中从多个转换的 revit 文件加载多个模型。 在这些模型中的每一个中,我都将点与所选元素相关联。 为了以后能够重用这些点,我需要:
- 它取自哪个 revit 文件 -> models[x].myData.urn : ok
- revit 文档中的哪个视图(模型)取自 -> model.getDocumentNode returns null(当我使用 viewerApp 加载单个模型时情况并非如此)。这导致 node.model.getDocumentNode().data.guid 无法访问视图的 guid。敲
- Dbid -> 出现在选择事件中:ok
- Guid -> 我构建了一个 2 种方式映射 table (dbid<->guid) 来获得我需要的东西:好的(打开更直接的方法,但是没问题)
主要问题是第二点,如何在查看器中加载多个模型时设置model.getDocumentNode?
谢谢,
您可以在加载过程中收集文档 URN 和模型 GUID:
function load(urn) {
viewerApp.loadDocument(
'urn:' + urn,
function onDocumentLoadSuccess(doc) {
const viewables = viewerApp.bubble.search({ 'type': 'geometry' });
if (viewables.length > 0) {
const path = doc.getViewablePath(viewables[0].data);
const viewer = viewerApp.getCurrentViewer();
const options = { /* your options */ };
viewer.loadModel(path, options, function onModelLoadSuccess(model) {
model._myURN = urn;
model._myGUID = viewables[0].data.guid;
});
}
}
);
}