簡體   English   中英

加載多個文檔時如何設置model.getDocumentNode?

[英]How to set model.getDocumentNode when loading multiple documents?

我從查看器中的多個轉換后的revit文件中加載了多個模型。 在每個模型中,我都放置了與選定元素關聯的點。 為了以后可以重用這些點,我需要:

  1. 它是從哪個Revit文檔中獲取的->模型[x] .myData.urn:好的
  2. 來自revit文檔的哪個視圖(模型)是從-> model.getDocumentNode中獲取的(返回null)(當我使用viewerApp加載單個模型時,情況並非如此)。 這導致無法訪問視圖的GUID的node.model.getDocumentNode()。data.guid。 KO
  3. Dbid->出現在選擇事件中:確定
  4. Guid->我建立了2種方式映射表(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;
                });
            }
        }
    );
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM