You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Design Automation API Workitem生成非Revit输出并导出JSON数据?

解决Forge Revit插件输出大体积族数据的问题

问题诊断

你的核心问题集中在两处:代码存在拼写错误导致文件写入失败,以及未正确匹配Design Automation的输出参数配置。

1. 修正插件代码中的错误

你的代码有两个明显问题:

  • 枚举拼写错误:Formating.Intended 应为 Formatting.Indented
  • 无需手动调用sw.Close():using语句块会自动释放流资源,手动调用属于冗余操作

修正后的代码:

using (StreamWriter sw = File.CreateText("result.json"))
{
    sw.WriteLine(JsonConvert.SerializeObject(familyData, Formatting.Indented));
}

2. 正确配置Activity与Workitem的输出参数

在Design Automation环境中,输出文件必须和Activity定义的参数绑定,否则Workitem会直接判定失败:

  • 编辑你的Activity,在OutputParameters中添加JSON输出配置:
    {
      "Name": "outputJson",
      "LocalName": "result.json",
      "Required": true,
      "Type": "json"
    }
    
  • 提交Workitem时,为outputJson参数指定可写入的云存储地址(比如Forge对象存储的预签名URL)

3. 确保插件写入正确路径

Design Automation的沙箱环境中,当前工作目录是可写区域,直接写入result.json即可匹配Activity中LocalName的配置。如果担心路径歧义,也可以显式指定当前目录:

string outputFilePath = Path.Combine(Directory.GetCurrentDirectory(), "result.json");
using (StreamWriter sw = File.CreateText(outputFilePath))
{
    sw.WriteLine(JsonConvert.SerializeObject(familyData, Formatting.Indented));
}

关于CountIt示例的注意点

你未从CountIt示例中获取到JSON结果,大概率是以下原因之一:

  • Activity未正确配置输出参数
  • 代码中文件路径与Activity的LocalName不匹配
  • Workitem提交时未指定输出文件的存储地址

内容的提问来源于stack exchange,提问作者Abhishek Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 19:13:39