就上文提到的四类常见咨询内容,本文介绍第四类:离线模型的下载和部署。
这是个经典问题,主要和Forge模型上载,转换,网页查看模型几个API有关,尤其国内朋友最为关心。所以单独提出来介绍。
默认情况下,Forge转换后的数据放在Forge云端(目前在AWS美国),所以就有网络访问性能的考虑。转换后的数据在云端都有唯一的地址,Forge也允许下载,对于obj,stl等格式,下载很直接,这里有两篇文章介绍:
而挑战是SVF格式,也就支持网页浏览的格式。SVF不是单一文件,是一个数据包,包括了构件几何信息,属性包,有一个.svf的清单文件(二维模型是.F2D)。而Forge Viewer的JavaScript库对此数据进行解析和渲染。例如,下图是前面提到的Forge Viewer 课程系列(全英文)中使用到的离线数据包。目前,SVF数据格式并没有文档说明,也无官方端口直接下载数据包。不过,只要按清单文件下载到这些数据。
注意:
- 使用Forge Viewer相关js代码加载SVF前提是SVF数据包必须是由Forge的数据提取和转换服务而产生。
- SVF2暂时还不支持下载数据包
Autodesk Forge支持团队提供了几种语言的下载示例:
- https://forge.autodesk.com/blog/forge-svf-extractor-nodejs
- https://forge.autodesk.com/blog/forge-svf-extractor-c-net
- https://forge.autodesk.com/blog/php-sample-extract-svf
若手动测试,推荐使用VSCode 的Forge扩展包中的功能,见下文提到的菜单。
- https://segmentfault.com/a/1190000021764276
若需要,亦可集成对应的源码 - https://github.com/petrbroz/forge-convert-utils/tree/develop/src/svf
SVF数据包下载好以后,可以参考此样例加载到浏览器:
请注意:Forge Viewer的版权属于Autodesk,使用Forge Viewer客户端的JavaScript代码,必须是从Forge数据提取和转换服务得到的的数据。而且,必须是从Autodesk Forge官网链接引用Viewer相关代码(形如下)。这是使用Forge Viewer的两个重要条款
关于extract.autodesk.io
很早前,我们部门提供了一个示例工具http://extract.autodesk.io/ ,用来演示上传,下载离线SVF包,而且这个工具还搭建了一个很简单的测试框架(Node.js和PHP两种)。
现在https://extract.autodesk.io/ 已撤销,请通过其源码工程自行研究测试。并请注意:extract这个工程有几段代码是下载某个很早前版本的viewer库,但这只是为了让大家测试和理解离线的过程,而非正式合规方式,其源码工程Readme中也做了特别说明。所以:即便在离线方式下,正确引用viewer代码应遵循上面提到的以下条款规定的方式。
如果您的应用在无网络的场景下也需要使用viewer,请参考另外一篇博文 Forge云服务的本地化经验总结与优化实战,有详尽的介绍如何正确使用。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。