簡體   English   中英

在 Autodesk Forge 上合並 model

[英]combine model on Autodesk Forge

我有幾個關於在 forge 查看器上組合 model 的問題(將列表 urn 加載到 1 個查看器):

  1. 當我合並 model 時。我只能從該合並中的 1 個主要 model 獲取數據。 例如, var instanceTree = GlobalViewer.model.getData().instanceTree; var allDbIdsStr = Object.keys(instanceTree.nodeAccess.dbIdToIndex); var list = allDbIdsStr.map(function (id) { return parseInt(id) }); 列表將返回主要 model 的所有 dbid,當我合並時如何訪問所有 model 的所有數據?
  2. 結合 model 中 object 的唯一 ID 是什么。我用 dbid 做了一些 function,我意識到它也可以出現在其他 model 中。
  3. 當我將 3d 模型 (revit) 與 2d 模型 (autocad) 結合時。 它有 2 種情況:如果 3d model 首先加載我可以正常旋轉,如果 2d model 首先加載我不能再旋轉 model。 我怎么能強制它總是可以旋轉?
  4. Autocad 單位在查看器中似乎與 model 不同。 與 model 相比,它總是縮小。我該如何解決?

感謝任何評論,

關於 #1: viewer.model顯然只引用了其中一個模型(我相信這是您加載的最后一個模型),但您也可以使用viewer.getVisibleModels()viewer.getHiddenModels()來獲取其他加載的模型。

關於 #2: dbIDs僅在單個 model 中是唯一的; 許多查看器方法接受一個附加參數,指定要在其上操作的 model,例如,您可以說viewer.select([123, 456], oneOfMyModels)

關於#3:這是個好問題; 加載 2D model 首先將查看器置於 2D 查看模式(僅允許縮放和平移); 如果您知道您將使用 3D 模型,我建議始終先加載這些模型

關於#4:是的,每個加載的 model 可以有不同的單位; 使用loadDocumentNode方法加載 model 時,您可以指定其他選項(例如,加載幾何圖形的放置變換),其中之一是 object ,稱為applyScaling ,例如,如下所示:

viewer.loadDocumentNode(doc, viewable, {
    applyScaling: { to: 'mm' }
});

暫無
暫無

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

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