2

就上文提到的四类常见咨询内容,本文介绍第四类:离线模型的下载和部署。

这是个经典问题,主要和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支持团队提供了几种语言的下载示例:

若手动测试,推荐使用VSCode 的Forge扩展包中的功能,见下文提到的菜单。

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云服务的本地化经验总结与优化实战,有详尽的介绍如何正确使用。


梁晓冬
527 声望301 粉丝

现就职于Autodesk软件中国有限公司,主要负责Autodesk产品API和APS云服务的推广和传播工作。