我一直在浏览Augusto的示例,以便使模型脱机加载([https://forge.autodesk.com/blog/viewer-airplane-mode])并且遇到指定文档路径的问题,我无法设置根相对我的资产的路径。
使用绝对URL有效但在javascript文件中不实用/最佳实践(缓存,域/资产路径更改等)
我尝试了一个/和一个//但路径仍然计算为./(AssetPath)
有没有办法强制加载或者我必须重写加载方法以传入绝对URL来加载资产?
改编自列出的例子:
var myViewerDiv = document.getElementById('MyViewerDiv');
var viewer = new Autodesk.Viewing.Private.GuiViewer3D(myViewerDiv);
var options = {
'env': 'Local',
'document': '/Assets/1/1/0.svf'
};
Autodesk.Viewing.Initializer(options, function () {
viewer.start(options.document, options);
});
这不会从“/ Assets / 1/1 / 0.svf”加载文档,而是从“../ Assets / 1/1 / 0.svf”<< / strong>即可。
下面的预期文件请求:“http://localhost:port/Assets/1/1/0.svf”
页面路径:“/ Model /”
实际文件申请:“http://localhost:port//Assets/1/1/0.svf”
页面路径:“/ Model / Packs /”
实际文件申请:“http://localhost:port/Model/Assets/1/1/0.svf”
鉴于我设置了路由相对URL,我认为第二个例子也应该是“/Shaver/0.svf”
根据一些调查,我认为问题出在viewer3d.js Document.getDocumentPath
和avp.pathToURL
方法
答案 0 :(得分:0)
我没有遇到任何问题,你试过Assets/1/1/0.svf
吗?
通常我有一个服务器/resources
公开的路由,它指向一个包含静态资源的目录(文件,图像,svf等等......)。只要服务器将目录映射到/resources
,目录本身可以位于任何位置并命名为任何内容,然后我向查看器提供的路径如下:
viewer.start()
viewer.loadModel('resources/models/dev/office/Resource/3D_View/3D/office.svf')
您可以查看本文了解更多详情:
Working seamlessly online/offline when developing your Web applications with the Forge Viewer
希望有所帮助