通过 API 将 Revit 模型文件上传到 BIM360 并保持链接
Upload Revit model files to BIM360 via API and keep them linked
我有两个 Revit 模型文件,A 和 B,其中 B linked 到 A。我想通过 Autodesk.Forge API 将文件上传到 BIM360 Docs 和保留它们 linked,这样当我随后查看模型 A 时,我可以在 Forge 模型查看器中看到组合模型。
我将这两个文件放在一个 zip 文件中,但据我了解,我不应该上传 zip 文件,而是分别上传 A 和 B,然后在它们之间建立关系。
我可以毫无问题地上传文件,然后我尝试通过此代码 link 它们(使用 A 和 B 的非编码版本 ID):
public async Task SetLinkedFileRelationship(string projectId, string versionId, string linkedVersionId)
{
BaseAttributesExtensionObject baseAttribute = new BaseAttributesExtensionObject("auxiliary:autodesk.core:Attachment", "1.0");
CreateRefDataMeta meta = new CreateRefDataMeta(baseAttribute);
CreateRefData createRefData = new CreateRefData(CreateRefData.TypeEnum.Versions, linkedVersionId, meta);
CreateRef createRef = new CreateRef(new JsonApiVersionJsonapi(JsonApiVersionJsonapi.VersionEnum._0), createRefData);
VersionsApi versionsApi = new VersionsApi { Configuration = { AccessToken = _token.AccessToken } };
await versionsApi.PostVersionRelationshipsRefAsync(projectId, versionId, createRef);
}
...产生此响应:
status: 400
code: FUNCTION_NOT_SUPPORTED
detail: BIM360 currently does not support the creation of refs.
显然我不能像这样在 A 和 B 之间创建 link。有没有另一种方法来完成我想要的,或者这目前在 BIM360 中是不可能的?我知道您可以通过 BIM360 文档网页(使用上传文件 -> 链接文件按钮)进行操作,但是当我通过 API 上传模型文件时是否可以?如果有,配方是什么?
请记住,我的问题是关于上传到 BIM360 文档 - 使用 Autodesk.Forge API (v2)。我知道这个 post: BIM360 Docs: Setting up external references between files (Upload Linked Files),但这是针对手动撰写请求的。我希望能够使用 v2 API.
我有两个 Revit 模型文件,A 和 B,其中 B linked 到 A。我想通过 Autodesk.Forge API 将文件上传到 BIM360 Docs 和保留它们 linked,这样当我随后查看模型 A 时,我可以在 Forge 模型查看器中看到组合模型。
我将这两个文件放在一个 zip 文件中,但据我了解,我不应该上传 zip 文件,而是分别上传 A 和 B,然后在它们之间建立关系。
我可以毫无问题地上传文件,然后我尝试通过此代码 link 它们(使用 A 和 B 的非编码版本 ID):
public async Task SetLinkedFileRelationship(string projectId, string versionId, string linkedVersionId)
{
BaseAttributesExtensionObject baseAttribute = new BaseAttributesExtensionObject("auxiliary:autodesk.core:Attachment", "1.0");
CreateRefDataMeta meta = new CreateRefDataMeta(baseAttribute);
CreateRefData createRefData = new CreateRefData(CreateRefData.TypeEnum.Versions, linkedVersionId, meta);
CreateRef createRef = new CreateRef(new JsonApiVersionJsonapi(JsonApiVersionJsonapi.VersionEnum._0), createRefData);
VersionsApi versionsApi = new VersionsApi { Configuration = { AccessToken = _token.AccessToken } };
await versionsApi.PostVersionRelationshipsRefAsync(projectId, versionId, createRef);
}
...产生此响应:
status: 400
code: FUNCTION_NOT_SUPPORTED
detail: BIM360 currently does not support the creation of refs.
显然我不能像这样在 A 和 B 之间创建 link。有没有另一种方法来完成我想要的,或者这目前在 BIM360 中是不可能的?我知道您可以通过 BIM360 文档网页(使用上传文件 -> 链接文件按钮)进行操作,但是当我通过 API 上传模型文件时是否可以?如果有,配方是什么?
请记住,我的问题是关于上传到 BIM360 文档 - 使用 Autodesk.Forge API (v2)。我知道这个 post: BIM360 Docs: Setting up external references between files (Upload Linked Files),但这是针对手动撰写请求的。我希望能够使用 v2 API.