如何为 Design Automation API Workitem 负载创建除 Revit 文件之外的输出?

问题描述 投票:0回答:1

我创建了一个插件,用于将给定 Revit 模型的族数据存储在列表中。最初,我从工作项的日志中提取其成功响应的数据,但数据已经变得非常大,控制台无法写入所有数据。因此,如果您知道如何从插件获取数据,这将非常有帮助?

我尝试将 JSON 文件类型的输出参数/参数添加到活动/工作项,但我总是收到失败的指令作为响应。我在插件中添加输出文件的路径时遇到问题。

我尝试遵循伪造的 CountIt 示例,但无法获得 JSON 结果。

这是我使用的代码: 使用 (StreamWriter sw = File.CreateText("result.json")) { sw.WriteLine(JsonConvert.SerializeObject(familyData, Formating.Intended));// familyData 是数据列表 sw.Close(); }

c# autodesk-forge autodesk revit-api autodesk-designautomation
1个回答
0
投票

这是典型的活动和工作项。

活动

{
    "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"

        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.