Forge Design Automation for Revit自定义代码执行完成后失败,求排查方法
Forge Design Automation for Revit 故障排查方案
核对输出参数配置
- 检查Activity中输出参数的
LocalName是否和自定义代码生成的JSON文件名完全一致(大小写敏感),确保代码将JSON写入到Forge指定的路径变量(如$(args[outputJson].path)),避免硬编码路径导致Forge无法找到文件。 - 确认输出参数的类型为
File,且Verb设置为Get,保证Forge能正确读取并返回输出文件。
- 检查Activity中输出参数的
验证自定义代码的输出逻辑
- 在本地模拟Forge运行环境(使用相同版本的Revit API),执行代码并检查生成的JSON文件是否完整、路径是否正确,排除本地代码隐性错误(如文件写入失败、JSON序列化异常)。
- 检查代码执行日志的末尾,确认没有未捕获的异常或警告,即使代码“执行完成”,也可能在文件写入阶段出现权限不足、磁盘空间不够等问题。
分析完整的Forge执行日志
- 登录Forge Dashboard,找到对应的Workitem,查看自定义代码执行完成后的完整日志,重点关注
Failure条目,这类信息会明确指出Forge接手时的问题(如“输出文件不存在”“无法读取输出文件”等)。 - 注意日志中的错误代码:4xx系列多为参数配置或文件路径问题,5xx系列需排查Forge服务状态,但多数情况是用户侧配置或代码输出异常。
- 登录Forge Dashboard,找到对应的Workitem,查看自定义代码执行完成后的完整日志,重点关注
检查输入文件与环境兼容性
- 确认输入的RFA文件能被指定版本的Revit引擎正常打开,避免版本不兼容导致代码处理逻辑异常,进而影响JSON文件生成。
- 验证Forge工作目录(如
$(temp))的读写权限,确保代码能在该目录下创建、写入文件,避免权限限制导致输出文件缺失。
简化配置做隔离测试
- 创建极简测试Activity:仅输出固定内容的JSON文件,不依赖RFA输入。若测试通过,说明问题出在RFA处理逻辑或代码与输入文件的交互上;若仍失败,需排查Activity的基础配置(如参数定义、引擎版本选择)。
内容的提问来源于stack exchange,提问作者Erik83
相关产品推荐
相关产品推荐

