APS Design Automation转.rfa为.rvt时Dropbox下载失败及Appbundle问题求助
解决APS Design Automation for Revit转换RFA到RVT的FailedDownload问题
问题核心
尝试通过APS(原Forge)Design Automation for Revit将.rfa转为.rvt时,WorkItem返回failedDownload,日志提示:
End of Central Directory record could not be found- 无法从Dropbox下载文件(但本地可正常下载)
- 未按AU课程创建Appbundle,改用了"Forge Tutorial for Postman"的版本,且之前按AU课程创建也未成功
解决方案
1. 修复Appbundle的Zip包问题
日志里的End of Central Directory record could not be found是zip包损坏/格式错误的典型表现,这是核心问题之一:
- 确保Appbundle的zip包无嵌套层级:插件的dll、addin文件等必须直接放在zip根目录,不能嵌套在子文件夹中
- 使用标准zip格式打包:不要用7z、RAR等格式,不要设置密码,避免压缩工具的特殊选项导致包损坏
- 重新打包并上传:删除现有Appbundle,重新打包插件文件后再创建新的Appbundle
2. ContentPackage的替代与创建要求
- 可用官方现成Appbundle:无需自己开发插件,直接使用APS官方提供的RFA转RVT示例Appbundle(或部署官方示例代码),跳过自定义插件的复杂步骤
- 自定义必须先写Revit插件:ContentPackage本质是Revit插件的打包产物,没有捷径跳过插件开发直接生成。你需要先编写能完成「加载RFA到空RVT并保存」逻辑的Revit插件,再将其打包为符合要求的zip包作为Appbundle的ContentPackage
3. 简化Appbundle创建的方法
- 使用APS CLI工具:官方的
autodesk-forge-cli工具可以一键完成插件打包、Appbundle创建与上传,避免手动操作的错误 - 从最小示例验证:先基于官方的Design Automation for Revit最小插件示例(如创建空项目并加载族的简单逻辑)打包测试,确保基础流程正常后,再替换为AU课程的业务逻辑
4. 排除WorkItem输入参数问题
虽然本地能下载Dropbox文件,但需确认WorkItem中的请求配置:
- 检查Dropbox API请求头:确保
Dropbox-API-Path正确指向目标文件,OAuth2 token拥有文件读取权限 - 替换输入源测试:先将文件上传到APS OSS(对象存储),用OSS的预签名URL作为WorkItem输入,排除Dropbox API的干扰,先验证Appbundle本身是否能正常工作
内容的提问来源于stack exchange,提问作者Sajad Shorbi
相关产品推荐
相关产品推荐

