Revit 2019设计自动化插件本地正常服务器报Path Not Found错误
解决Design Automation for Revit 2019服务器执行时的FailedDownload问题
你遇到的情况很典型:本地调试完全正常,但服务器端执行时触发Path Not Found Exception,日志显示Dropbox中的/adsk-forge/params.json和/adsk-forge/Error.json文件返回409(path/not_found)错误,最终作业因下载失败终止为failedDownload状态。结合你的日志信息,我整理了几个核心排查方向和解决办法:
1. 先确认Dropbox文件的路径与访问权限
- 路径准确性:仔细核对Dropbox中这两个文件的实际存储路径,确保和你在作业配置中填写的完全一致——包括大小写、正斜杠
/的使用,哪怕是一个字母的拼写错误都会导致409错误。比如,不要把/adsk-forge写成/Adsk-Forge,这类细节很容易忽略。 - 共享权限与链接有效性:确保文件的Dropbox链接是可直接下载的公开链接,而非网页预览链接(预览链接无法被Design Automation的下载机制识别)。如果是私有文件,要确认你配置的访问令牌拥有足够的读取权限,没有权限的情况下,Dropbox会返回类似“路径不存在”的错误来隐藏真实的权限问题。
2. 检查Design Automation作业的输入参数配置
你的作业命令行是:
$(engine.path)\\revitcoreconsole.exe /i $(args[inputFile].path) /al $(appbundles[RevisedContentAddin].path)
这里需要注意:
$(args[inputFile].path)是文件在服务器临时目录的路径,而你需要在作业的arguments配置中,为inputFile正确设置url字段(指向Dropbox的可下载链接)。如果url配置错误或者遗漏,系统就无法找到要下载的文件,进而触发failedDownload。- 还要确认
params.json和Error.json这两个文件是否也被正确配置为作业的输入参数——如果你的插件依赖这两个文件,但作业中没有声明它们的下载来源,服务器环境自然找不到这些文件。
3. 消除本地与服务器环境的路径差异
本地调试时,你可能直接使用本地文件路径,而服务器端必须通过云存储下载依赖文件。要确保作业配置中所有插件需要的文件(包括这两个JSON文件)都明确指定了云存储的下载URL,而非本地路径。另外,检查插件代码中读取文件的逻辑:如果代码里硬编码了本地路径(比如C:\xxx\params.json),服务器环境中肯定找不到,要改成使用Design Automation提供的临时路径变量(比如$(args[xxx].path))。
4. 借助手动测试缩小问题范围
- 手动复制日志中显示的Dropbox文件URL到浏览器,尝试直接下载。如果下载失败,说明问题出在Dropbox的文件本身或链接上;如果手动能成功下载,那就要检查Design Automation的作业配置是否遗漏了认证信息(比如Dropbox的API令牌),或者请求头设置不正确。
- 可以简化作业配置,先只尝试下载单个文件,排除多文件下载时的相互干扰,逐步定位问题所在。
内容的提问来源于stack exchange,提问作者Pranay Chawhan
相关产品推荐
相关产品推荐

