簡體   English   中英

無法在 Autodesk Forge Viewer 中加載 SVF2 模型

[英]Cannot load SVF2 model in Autodesk Forge Viewer

我剛剛嘗試了 SVF2 公開測試版,但無法在查看器中加載模型。 我相信模型已成功翻譯,因為返回的清單具有:

"name": "XXXX_ARC.nwd",
"progress": "complete",
"outputType": "svf2",
"status": "success"

但是,當我嘗試在 Viewer 中加載模型時,它會在這一行失敗:

theViewer.loadModel(svfURL, onItemLoadSuccess, onItemLoadFail);

svfURL 是這樣的:

https://cdn.derivative.autodesk.com/modeldata/file/urn:adsk.fluent:fs.file:autodesk-360-translation-storage-prod/*MyURN*/output/otg_files/0/output/0/ otg_model.json

還有我從 Chrome 瀏覽器得到的錯誤403 GET errors 好像我沒有權限訪問模型?

我需要做一些額外的設置嗎?

附加信息:
我已按如下方式設置查看器環境:

var options = {
    env: 'MD20ProdUS',
    api: 'D3S',
    getAccessToken: getForgeToken
};

var documentId = 'urn:' + urn;

Autodesk.Viewing.Initializer(options, function onInitialized() {
    var htmlDiv = document.getElementById('forgeViewer');
    var config3d = {
      extensions: ['ToolbarExtension', 'HandleSelectionExtension', .....a few extensions ],
      loaderExtensions: { svf: "Autodesk.MemoryLimited" }
    };
    
    theViewer = new Autodesk.Viewing.GuiViewer3D(htmlDiv, config3d);
    var startedCode = theViewer.start();
    if (startedCode > 0) {
        console.error('Failed to create a Viewer: WebGL not supported.');
        return;
    }
    Autodesk.Viewing.Document.load(documentId, onDocumentLoadSuccess, onDocumentLoadFailure);
});

我還嘗試在創建查看器時刪除config3d ,但它仍然返回相同的消息。 代碼進入onDocumentLoadSuccess但在theViewer.loadModel(svfURL, onItemLoadSuccess, onItemLoadFail); ,跳入onItemLoadFail

因為您主要提到查看器未加載 SVF2,所以我懷疑您可能沒有指定正確的查看器環境。

下面是一些示例代碼,請注意必須設置 env 和 API 的選項:

 var viewer; var options = { // These are the SVF2 viewing settings during public beta env: 'MD20ProdUS', // or MD20ProdEU (for EMEA) api: 'D3S', getAccessToken: getForgeToken }; var documentId = 'urn:' + getUrlParameter('urn'); // Run this when the page is loaded Autodesk.Viewing.Initializer(options, function onInitialized() { // Find the element where the 3d viewer will live. var htmlElement = document.getElementById('MyViewerDiv'); if (htmlElement) { // Create and start the viewer in that element viewer = new Autodesk.Viewing.GuiViewer3D(htmlElement); viewer.start(); // Load the document into the viewer. Autodesk.Viewing.Document.load(documentId, onDocumentLoadSuccess, onDocumentLoadFailure); } });

我面臨同樣的問題。

  1. 雖然模型已經轉成SVF2格式,但是我的雲積分正在用完。 清單摘錄:

     "name": "7085-33cc-9464.rvt", "progress": "complete", "outputType": "svf2", "status": "success"
  2. 無論使用哪種設置,在查看器中都只加載 SVF 格式。 我沒有從查看器收到錯誤消息,一切都像以前一樣,除了 SVF 仍然加載而不是 SVF2。 查看器初始化選項:

     const viewerEnv = await this.initialize({ //env: dbModel.env, env: "MD20ProdEU", api: "D3S", //accessToken: "", });

不知道這是否已經解決了在一個單獨的線程,但問題是可能是acmSessionId沒有在設置optionsloadModel() -見https://forge.autodesk.com/blog/403-error-when-trying -查看-svf2

function onDocumentLoadSuccess(doc) {
  let items = doc.getRoot().search({
    'type': 'geometry',
    'role': '3d'
  }, true)

  let url = doc.getViewablePath(items[0])

  viewer.loadModel(url, { acmSessionId: doc.getAcmSessionId(url) })
}

最好的辦法是只使用loadDocumentNode()而不是loadModel()

暫無
暫無

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

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