在Autodesk Forge Viewer中查看文件时出错-调用doc.getRootItem()时出错

时间:2019-07-05 08:21:36

标签: autodesk-forge autodesk forge

在Autodesk forge Viewer中查看文件时,出现以下错误,

  1. 无法读取未定义的属性“ setEndpoint” Screenshot

  2. doc.getRootItem 不是函数。 Screenshot

并且在清空缓存并重新加载(Ctrl + Shift + R)页面后将能够查看。有时即使重新硬装并清除浏览器缓存后,相同的错误仍然会持续。

第二个错误的代码。

var options = {
    env: 'AutodeskProduction',
    accessToken: getAccessToken() //Method to get access token- no errors here
};
var documentId = 'urn:' + urn;
Autodesk.Viewing.Initializer(options, function onInitialized() {
    Autodesk.Viewing.Document.load(documentId, onDocumentLoadSuccess, onDocumentLoadFailure);
});

//Autodesk.Viewing.Document.load - success function.
function onDocumentLoadSuccess(doc) {
    setTimeout(function() {
        debugger;
    }, 5000);

    //Error is thrown in the line below.                
    var viewables = Autodesk.Viewing.Document.getSubItemsWithProperties(doc.getRootItem(), {
        'type': 'geometry'
    }, true); //throws error on calling doc.getRootItem()

    if (viewables.length === 0) {
        console.error('Document contains no viewables.');
        return;
    }
    // Choose any of the avialble viewables
    var initialViewable = viewables[0];
    var svfUrl = doc.getViewablePath(initialViewable);
    var modelOptions = {
        sharedPropertyDbPath: doc.getPropertyDbPath()
    };

    var viewerDiv = document.getElementById('divViewer');
    viewer = new Autodesk.Viewing.Private.GuiViewer3D(viewerDiv);
    viewer.start(svfUrl, modelOptions, onLoadModelSuccess, onLoadModelError);
}

1 个答案:

答案 0 :(得分:0)

您必须不知不觉地升级到不支持getRootItem和其他几个功能的Viewer V7,有关其发行说明和迁移指南,请参见here

将V6与<script src="https://developer-stg.api.autodesk.com/modelderivative/v2/viewers/viewer3D.js?v=6.6"></script>配合使用-如果默认情况下未指定版本,则将提供最新的稳定版本,即现在的V7.0。