关于Forge Viewer SDK自有服务器存文件及NWD文件正常打开的咨询
Forge Viewer 自有服务器存储与NWD文件加载问题解答
1. Forge Viewer是否支持文件存储在自有服务器?
可以,但需区分两种加载模式:
- 云端转换模式:将文件上传到Autodesk云端转成SVF/SVF2格式后由Viewer加载(官方推荐的高兼容模式,但文件需先上传至Autodesk服务器);
- 原生格式加载模式:直接加载自有服务器上的原生3D文件(如.nwd、.rvt等),无需上传到Autodesk服务器,但Viewer对不同原生格式的支持依赖对应扩展组件,且受版本限制。
2. 离线Sample无法加载.nwd文件的原因及解决方法
核心原因
你提到的在线Demo和VSCode预览工具,实际是先通过Autodesk云端服务将.nwd转成了Viewer原生支持的SVF格式,而非直接加载原生.nwd文件;而viewer-javascript-Offline-sample是直接加载原生格式,缺少对NWD格式的必要扩展支持,因此出现The file extension loaded into the Viewer is not supported错误。
具体解决方案
- 加载Navisworks扩展组件
Viewer原生不默认支持NWD格式,必须显式加载Autodesk.Navisworks扩展才能解析原生.nwd文件。在初始化Viewer后添加以下代码:// 初始化Viewer后加载扩展 viewer.loadExtension('Autodesk.Navisworks') .then(() => { // 加载自有服务器上的.nwd文件 viewer.loadModel('http://your-server-url/path/to/your/file.nwd'); }) .catch(error => console.error('Navisworks扩展加载失败:', error)); - 配置服务器CORS策略
确保自有服务器返回正确的CORS响应头(如Access-Control-Allow-Origin: *或指定Viewer所在域名),避免跨域限制导致文件无法加载。 - 使用兼容的Viewer版本
确认使用的Forge Viewer SDK为最新稳定版,旧版本可能存在原生NWD格式解析的兼容性问题。 - 备选方案:本地化转换为SVF格式
如果原生加载仍有问题,可以在自有服务器部署Model Derivative API的本地化转换服务,将.nwd文件转换为SVF/SVF2格式后再加载。这种方式和在线Demo逻辑一致,兼容性更强,且文件全程存储在自有服务器。
内容的提问来源于stack exchange,提问作者user22933542
相关产品推荐
相关产品推荐

