簡體   English   中英

Autodesk Forge Viewer:如何獲取文檔

[英]Autodesk Forge Viewer : how to get document

我正在嘗試獲取與轉換后的rvt文件一起使用的所有2d和3d模型的列表。

看一個較舊的示例:LmvNavTest他們這樣做是為了訪問“文檔” rootItem

Autodesk.Viewing.Document.load(fullUrnStr, function(document) {
    _loadedDocument = document; // keep this in a global var so we can reference it in other spots

        // get all the 3D and 2D views (but keep in separate arrays so we can differentiate in the UX)
    _views3D = Autodesk.Viewing.Document.getSubItemsWithProperties(document.getRootItem(), {'type':'geometry', 'role':'3d'}, true);
    _views2D = Autodesk.Viewing.Document.getSubItemsWithProperties(document.getRootItem(), {'type':'geometry', 'role':'2d'}, true);

據我了解,現在首選的方法是使用loadModel

oViewer =new Autodesk.Viewing.Private.GuiViewer3D ($("#viewerContainer") [0], {}) ;
oViewer.loadModel (url , [],  onLoadSuccess, onLoadFail) ;

如果我以loadModel的方式進行操作,如何獲得對文檔的訪問權,以便可以調用其getSubItemsWithProperties方法

您提出問題的方式有些混亂,如果您對脫機加載或加載的內容不太明確,則很難理解您的工作流程。

這是我認為可能的兩種情況:

1 /您可以使用其URN從Autodesk Cloud在線加載模型:在這種情況下,您需要首先調用Autodesk.Viewing.Document.load ,此調用實際上將返回清單數據,您可以從那里檢索3D和2D可見項如您所指出的,使用Autodesk.Viewing.Document.getSubItemsWithProperties 一旦以編程方式或通過用戶交互選擇了要在查看器中加載的路徑,就可以使用viewer.loadModel(_views2D [idx])

2 /您已經在本地下載了模型的整個程序包,在這種情況下,您應該已經知道什么是現有的2D和3D視圖,因為您有一些邏輯可以解析資源並存儲每個可見視圖。 通常,您需要將此信息存儲在.json或類似文件中。

在這種情況下,您無需使用Autodesk.Viewing.Document.load ,您可以直接使用viewer.loadModel('要在本地磁盤上加載的路徑/的//視圖/'

脫機模型后,將無法“知道”現有視圖,除非您的代碼創建了一個包含此數據的.json。

請參閱本文,以獲取有關如何以編程方式提取與翻譯后的Forge模型關聯的資源的更多詳細信息: Node.js中的Forge SVF Extractor

希望可以澄清問題,如果您有其他情況,請說明如何進行。

暫無
暫無

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

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