Autodesk forge AutoDesk Forge Viewer:使用SVF的URN加载模型

Autodesk forge AutoDesk Forge Viewer:使用SVF的URN加载模型,autodesk-forge,autodesk-viewer,Autodesk Forge,Autodesk Viewer,是否有可能或者有任何方法通过URN而不是URL加载模型 我们可以通过URL加载模型: this.viewer.loadModel(url, options) -> Here i know the url of the SVF 是否有可能使用URN加载模型,但在我的例子中,我只知道svf的URN 定期地, 我们正在使用上载文件的URN加载文档,文档加载成功后,我们将加载视图 var documentId = 'urn:dXJuOmFkc2sub2JqZ3Q6cGxuLW1vZGVN0L0N

是否有可能或者有任何方法通过URN而不是URL加载模型

我们可以通过URL加载模型:

this.viewer.loadModel(url, options) -> Here i know the url of the SVF
是否有可能使用URN加载模型,但在我的例子中,我只知道svf的URN

定期地,

我们正在使用上载文件的URN加载文档,文档加载成功后,我们将加载视图

var documentId = 'urn:dXJuOmFkc2sub2JqZ3Q6cGxuLW1vZGVN0L0NhZGFjR3JvdXBIUSUyMDIwMTkucnZ0';
        Autodesk.Viewing.Initializer(options, function onInitialized(){
            viewerApp = new Autodesk.Viewing.ViewingApplication('MyViewerDiv');
            viewerApp.registerViewer(viewerApp.k3D, Autodesk.Viewing.Private.GuiViewer3D);
            viewerApp.loadDocument(documentId, onDocumentLoadSuccess, onDocumentLoadFailure);
        });

    function onDocumentLoadSuccess(doc) {
        var viewables = viewerApp.bubble.search({type:'geometry', role:'3d',name:'blahblah'});
        if (viewables.length === 0) {
            console.error('Document contains no viewables.');
            return;
        }

        // Choose any of the avialble viewables
        console.log(viewables[0].data);
        console.log(doc.getViewablePath(viewables[0].data));
        viewerApp.selectItem(viewables[0].data, onItemLoadSuccess, onItemLoadFail);
    }
从上面的代码中,基于上传的OBJ的URN,它将获取清单并加载可查看的内容,但在我们的场景中,我们将在服务器端完成这一部分,并获取SVF的URN

但是在我们的场景中,我们有SVF文件的URN。是否有任何方法可以使用SVF URN加载模型

我看到一个可能性是附加的

到我的骨灰盒里打电话

viewer.loadModel(url)
正在加载模型,但这又是一项维护工作,当forge端的URL发生更改时,我们需要再次更新它


javascript中是否有基于URN的模型路径?

要通过SVF的
URN加载,只需传入its,其余的查看器环境与文档的
URN保持相同:

// get the URN of the SVF from the manifest, e.g. `urn%3Aadsk.viewing%3Afs.file%3AdXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6c2JzYjIzMzMzL3NiYmJiYmIuZHdn%2Foutput%2F3a65ae5a-804e-b91b-11d1-5bc44f41866f_f2d%2F3d.svf`

 Autodesk.Viewing.Initializer({ 
    'env' : 'AutodeskProduction', getAccessToken: onGetAccessToken
 }, function onInitialized(){
        //...
            viewer.start();
            viewer.loadModel('https://developer.api.autodesk.com/derivativeservice/v2/derivatives/urn%3Aadsk.viewing%3Afs.file%3AdXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6c2JzYjIzMzMzL3NiYmJiYmIuZHdn%2Foutput%2F3a65ae5a-804e-b91b-11d1-5bc44f41866f_f2d%2F3d.svf')
        });

顺便说一句,
viewerApplication
API从v7开始就被弃用了,因此我建议按照本迁移指南升级到v7,以获得所有这些新功能和修复…

Yep!V7有修复程序