我构建了一个 APS Revit 插件,可以成功处理来自 S3 和 GCS 的 Revit 文件 URL。我的目标是扩展其功能以处理指向 ACC 中存储的 Revit 文件的 URL。
我已向 ACC 项目上的 APS 插件授予必要的权限。但是,当我将 ACC 文件 URL 传递给插件时,它报告提取模型失败。根据我的经验,此错误通常表明正在传递的文件不是有效的 Revit 文件。
如何获取存储在 ACC 中适合与我的 APS Revit 插件一起使用的 Revit 文件的直接 URL?
如果您的 ACC 文件 URL 如下所示,我们可以从中提取项目 id 和项目 item,然后调用数据管理 API。
https://acc.autodesk.com/docs/files/projects/e976d832-93f7-44d3-9051-625bf228d216?folderUrn=urn%3Aadsk.wipprod%3Afs.folder%3Aco.j0erY7apSNGl6hJHUTHhOQ&entityId=urn%3Aadsk.wipprod%3Adm.lineage%3AmgJecIvQQ2OfqTbZSH8zxg&viewModel=detail&moduleId=folders&viewableGuid=250a6ce5-ee70-fdca-bfc9-4111f54e9baa
上面的项目 ID 是
e976d832-93f7-44d3-9051-625bf228d216
。要使用数据管理 API,我们必须将 b.
附加到此指南。即 b.e976d832-93f7-44d3-9051-625bf228d216
。
上面 Revit 的项目 id 是
urn%3Aadsk.wipprod%3Adm.lineage%3AmgJecIvQQ2OfqTbZSH8zxg
,是 URL 编码的。我们可以通过 System.Web.HttpUtility.UrlDecode 将其解码为 urn:adsk.wipprod:dm.lineage:mgJecIvQQ2OfqTbZSH8zxg
。
然后按照本教程下载存储在 ACC 上的 Revit 文件:https://aps.autodesk.com/en/docs/bim360/v1/tutorials/document-management/download-document-s3/,如果您Revit 模型不是 Revit 云模型或云工作共享模型。