代码之家  ›  专栏  ›  技术社区  ›  Ivan Aguilar

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

  •  1
  • Ivan Aguilar  · 技术社区  · 7 年前

    根据forge网站上的基本应用程序教程,我正在Angular中创建一个查看器应用程序( https://ase.autodesk.com/adp/v1/analytics/upload ).

    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 回复  |  直到 7 年前
        1
  •  2
  •   Eason Kang    7 年前

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

    如果你能提供一个可复制的案例来证明这一点,我很乐意调查一下你的应用程序发生了什么。以下项目应在可复制的情况下:

    1. 对你想要实现的目标的简短准确描述。你观察到的行为与你预期的行为,以及为什么这是一个问题。
    2. 一个完整但最小的Forge应用程序,可以通过一个简单的过程来运行和调试,以分析其在样本模型中的行为。

    如果您的可复制案例无法在此处公开发布,请将其发送到 forge.help@autodesk.com 发送前删除敏感数据或信息。