是否有使用angular 8 for viewer version7的auto forge示例*

是否有使用angular 8 for viewer version7的auto forge示例*,angular,typescript,autodesk-forge,forge,Angular,Typescript,Autodesk Forge,Forge,我无法在查看器中加载基于urn的文档。 工作后svf有什么问题吗,这是我的 { "input": { "urn": "{{Urn}}", "compressedUrn": false }, "output": { "destination": { "region": "us" }, "formats": [ { "type":

我无法在查看器中加载基于urn的文档。 工作后svf有什么问题吗,这是我的

 {
    "input": {
        "urn": "{{Urn}}",
        "compressedUrn": false
    },
    "output": {
        "destination": {
            "region": "us"
        },
        "formats": [
        {
            "type": "svf",
            "views": ["3d", "2d"]
        }]
    }
}
我试图用多种方式实现查看器,但最终总是出现这种错误。我是否以正确的方式加载文档

无法读取未定义的属性“查看器”

自动桌面组件的导出类{
专用查看器:Autodesk.Viewing.Viewer3D;
异步ngOnInit(){
this.initViewer();
}
私有异步initViewer(){
变量选项={
环境:“AutodeskProduction”,
api:“派生EV2”,
getAccessToken:this.getAccessToken
};
Autodesk.Viewing.Initializer(选项,()=>{
让htmlDiv=document.getElementById('forgeViewer')
让config3d={
}
this.viewer=新的Autodesk.Viewing.GuiViewer3D(htmlDiv,config3d);
console.log(this.viewer);
var startedCode=this.viewer.start();
如果(起始代码>0){
console.error('未能创建查看器:不支持WebGL');
返回;
}
let documentId='urn:dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6c2Fuei0yNC0wNS9kc3AtMS5ydnWQF0P=';
Autodesk.Viewing.Document.load(documentId、onDocumentLoadSuccess、onDocumentLoadFailure);
函数onDocumentLoadSuccess(viewerDocument){
var defaultModel=viewerDocument.getRoot().getDefaultGeometry();
console.log(this.viewer);
this.viewer.loadDocumentNode(viewerDocument,defaultModel);
}
函数onDocumentLoadFailure(){
}
});
}
私有getAccessToken(onSuccess:any){
const access_token=;//访问令牌
常数=86399;
onSuccess(访问\u令牌,过期\u in);
}

}
您可以从查看Autodesk github上的一些内容开始。上面有一个typescript示例。您也可以按照教程开始学习。如果您对Angular和typescript有一定的了解,可以调整教程的纯Javascript以适合Angular组件

这里有一些代码让你开始

组件技术

导出类GenericViewerComponent实现OnInit{
专用查看器:Autodesk.Viewing.Viewer3D;
异步ngOnInit(){
this.initViewer();
}
私有异步initViewer(){
变量选项={
环境:“AutodeskProduction”,
api:'derivativeV2',//对于上传到EMEA的模型,将此选项更改为'derivativeV2_-EU'
getAccessToken:null//在此处获取您的两条腿的访问令牌,而不是null(下面是turial)
};
Autodesk.Viewing.Initializer(选项,()=>{
让htmlDiv=document.getElementById('forgeViewer')
让config3d={
}
this.viewer=新的Autodesk.Viewing.GuiViewer3D(htmlDiv,config3d);
var startedCode=this.viewer.start();
如果(起始代码>0){
console.error('未能创建查看器:不支持WebGL');
返回;
}
log('初始化完成,下一步加载模型…');
});
}
}
Component.html

<div id="forgeViewer"></div>

还要确保包括

<link rel="stylesheet" href="https://developer.api.autodesk.com/modelderivative/v2/viewers/7.*/style.min.css" type="text/css">
<script src="https://developer.api.autodesk.com/modelderivative/v2/viewers/7.*/viewer3D.min.js"></script>

在index.html中


祝你好运

我们确实有一些样品,您可以在我的另一个答案中找到它们:

谢谢。我已经更新了我的问题,你能指出我哪里做错了吗。这似乎是一个范围问题。它可能发生在
onDocumentLoadSuccess
它在initviewer内部,而()应该在它外部。尝试使用Autodesk.Viewing.Document.load(documentId,(x)=>onDocumentLoadSuccess(x),onDocumentLoadFailure)以获取正确的范围