在查看器中加载对象时出错

时间:2017-07-21 05:41:51

标签: autodesk-forge autodesk-viewer

我按照伪造网站(https://ase.autodesk.com/adp/v1/analytics/upload)上的基本应用程序教程在Angular中创建了一个查看器应用程序。

一切正常,直到我调用loadDocument()函数。它会引发以下错误:

XML Parsing Error: no root element found Location: https://ase.autodesk.com/adp/v1/analytics/upload Line Number 1, Column 1:

任何人都知道发生了什么?我尝试过不同的对象,并且确保完成了svf格式的翻译。

感谢您的帮助!

- 编辑: 以下是该应用的代码(<urn><token>已替换为正确的值):

import { Component, ViewChild, AfterViewInit, OnDestroy, ElementRef, OnInit } from '@angular/core';
import { Router, ActivatedRoute, Params } from '@angular/router';
import 'rxjs/Rx';

declare var Autodesk: any;

@Component({
    selector: 'app-autodesk-forge-viewer',
    templateUrl: './panel.autodesk.viewer.component.html'
})
export class PanelAutodeskViewerComponent
    implements  AfterViewInit,
                OnInit
{
    private viewer: any;
    options = {
        env: 'AutodeskProduction',
        language: "en",
        accessToken: "<token>"
    }

    constructor(route: ActivatedRoute) {  }

    ngOnInit() {

    }    

    ngAfterViewInit() {
        Autodesk.Viewing.Initializer(this.options, function onInitialized() {
            this.viewer = new Autodesk.Viewing.ViewingApplication('ForgeViewer');
            this.viewer.registerViewer(this.viewer.k3D, Autodesk.Viewing.Private.GuiViewer3D);
            this.viewer.loadDocument('urn:<urn>', this.onDocumentLoadSuccess, this.onDocumentLoadFailure);
        });
    }

    private onDocumentLoadSuccess(doc) {
        // We could still make use of Document.getSubItemsWithProperties()
        // However, when using a ViewingApplication, we have access to the **bubble** attribute,
        // which references the root node of a graph that wraps each object from the Manifest JSON.
        var viewables = this.viewer.bubble.search({ 'type': 'geometry' });
        if (viewables.length === 0) {
            console.error('Document contains no viewables.');
            return;
        }

        // Choose any of the avialble viewables
        this.viewer.selectItem(viewables[0].data, this.onItemLoadSuccess, this.onItemLoadFail);
    }

    private onDocumentLoadFailure(viewerErrorCode) {
        console.error('onDocumentLoadFailure() - errorCode:' + viewerErrorCode);
    }

    private onItemLoadSuccess(viewer, item) {
        console.log('onItemLoadSuccess()!');
        console.log(viewer);
        console.log(item);

        // Congratulations! The viewer is now ready to be used.
        console.log('Viewers are equal: ' + (viewer === this.viewer.getCurrentViewer()));
    }

    private onItemLoadFail(errorCode) {
        console.error('onItemLoadFail() - errorCode:' + errorCode);
    }
}

1 个答案:

答案 0 :(得分:2)

此错误消息XML Parsing Error: no root element found Location: https://ase.autodesk.com/adp/v1/analytics/upload Line Number 1, Column 1: 不应该导致你解决的问题。您的模型应该加载并在查看器中显示没有任何问题。

如果您能提供可重现的案例来证明这一点,我很乐意调查您的应用发生了什么。以下项目应在可重现的案例中:

  1. 您要实现的目标的简短描述。您观察到的行为与您的期望,以及为什么这是一个问题。
  2. 用于运行测试的完整但最小的样本源模型。
  3. 一个完整而简约的Forge应用程序,可以使用简单的过程运行和调试,以便在样本模型中分析其行为。 用于再现问题的详细逐步说明,例如,选择哪个元素,启动什么命令等。
  4. 如果您的可复制案例无法公开发布,请在发送前将其发送至forge.help@autodesk.com删除敏感数据或信息。