我创建了一个插件,用于将给定 Revit 模型的族数据存储在列表中。最初,我从工作项的日志中提取其成功响应的数据,但数据已经变得非常大,控制台无法写入所有数据。因此,如果您知道如何从插件获取数据,这将非常有帮助?
我尝试将 JSON 文件类型的输出参数/参数添加到活动/工作项,但我总是收到失败的指令作为响应。我在插件中添加输出文件的路径时遇到问题。
我尝试遵循伪造的 CountIt 示例,但无法获得 JSON 结果。
这是我使用的代码: 使用 (StreamWriter sw = File.CreateText("result.json")) { sw.WriteLine(JsonConvert.SerializeObject(familyData, Formating.Intended));// familyData 是数据列表 sw.Close(); }
这是典型的活动和工作项。
活动
{
"commandLine": [
"$(engine.path)\\\\revitcoreconsole.exe /c \"$(args[rvtFile].path)\" /al \"$(appbundles[familydata].path)\""
],
"parameters": {
"rvtFile": {
"verb": "get",
"description": "Input Revit model",
"required": true,
"localName": "InputRevitFiles"
},
"result": {
"verb": "put",
"description": "Results",
"required": true,
"localName": "result.json"
}
},
"id": "getfamilydata",
"engine": "Autodesk.Revit+2021",
"appbundles": [
"appnickname.familydata+prod"
],
"description": "Get's family data in a JSON"
}
工作项目
{
"activityId": "appnickname.getfamilydata+prod",
"arguments": {
"rvtFile": {
"url": "urn:adsk.objects:os.object:cloud123456/c.dwg or HTTP Url",
"headers": {
"Authorization": "Bearer {{ _.oAuthToken }}"
},
"verb": "get"
},
"result": {
"url": "URL with write access",
"verb": "put"
}
}
}