我们的一位客户要求访问存储在 BIM360设计(Revit的旧协作-C4R)中的项目文件。我在Forge API的开发人员页面中找不到指向该位置的任何信息。我认为这样的API不是Forge的一部分,但我们想知道是否还有其他API可以提供这些文件。 确切的要求是:
问题是,如何尽可能访问位于BIM360 Design云中的项目文件?
我们找到了these commands-特别是PublishModel
和GetPublishModelJob
。这样可以做一些事情,我们至少可以按需提示发布出版物,而无需Revit。对我来说,何时创建items:autodesk.bim360:C4RModel
伪文件并不明确。最重要的是,该API似乎无法接收到首选的输出文件夹,这使得备份BIM360 Design内部信息的预期工作变得非常麻烦。
更新 (25/04/2018)
我们尝试使用两个命令(PublishJob
和GetPublishModelJob
)。我们已经模拟了项目管理员(通过x-user-id
),但是Forge返回401错误(甚至没有记录)。以下是我们尝试过的(带有已编辑的documentID):
{
"jsonapi": {
"version": "1.0"
},
"data": {
"type": "commands",
"attributes": {
"extension": {
"type": "commands:autodesk.bim360:C4RModelGetPublishJob",
"version": "1.0.0"
}
},
"relationships": {
"resources": {
"data": [ { "type": "items", "id": "<document_id>" } ]
}
}
}
}
这是Forge的回应:
{
"jsonapi": {
"version": "1.0"
},
"errors": [
{
"id": "a4547153-1fd4-4710-b0d1-a7184d9e7e22",
"status": "401",
"code": "C4R",
"detail": "Failed to get publish model job"
}
]
}
有什么想法吗?
答案 0 :(得分:1)
您是否具有对工作共享的Revit文件的访问权限?发布命令是将云中的工作共享中心模型发布到Docs。要使用它,您需要访问云中央的Revit模型。 Forge发布命令与Revit桌面中的发布命令具有相同的作用。您需要相同的访问权限。要使用云工作共享功能,首先需要为您分配设计许可证,然后还需要成为Revit项目的成员。仅受邀参加Docs是不够的。
(随着C4R / Design最近被合并到Docs中,此C4R特定的许可部分有意保持与以前的许可相同。我们还拥有Team的较早版本。这会使它有点复杂。我希望它会变得更容易我们将来会前进。)
答案 1 :(得分:1)
在Forge帮助频道中与@tfrascaroli进行讨论后,我们发现此错误的根本原因是x-user-id
的值不正确,因此他无权发布最新版本的将C4R模型转换为BIM360文档。
{
"jsonapi": {
"version": "1.0"
},
"errors": [
{
"id": "a4547153-1fd4-4710-b0d1-a7184d9e7e22",
"status": "401",
"code": "C4R",
"detail": "Failed to get publish model job"
}
]
}
x-user-id
不是GUID,也不是我们在GET users或GET users/:user_id的响应中看到的id
,它应该是{{1}的值}。将uid
的值替换为x-user-id
后,错误不再显示。
uid