如何利用APS识别ACC项目中的Bridged模型与原生Revit模型?
区分ACC项目中Bridged模型与Revit模型的APS方案
核心结论
完全可以通过APS API区分ACC里的Bridged模型和原生Revit模型,下面针对你的三个疑问逐一说明解决办法:
疑问1:文件夹搜索API返回projectGuid/modelGuid,但项目API不返回projectGuid
项目API其实能拿到projectGuid:
- 调用
GET /project/v1/hubs/{hubId}/projects时,返回的每个项目对象的id字段就是完整的project标识,格式是b.{hubId}.{projectId},把最后那段截出来就是你要的projectGuid。 - 要是从文件夹搜索接口(比如
GET /data/v1/projects/{projectId}/folders/{folderId}/search)返回的结果里,每个item的relationships.project.data.id也带了完整的project标识,同样能提取出projectGuid。
疑问2:文件夹或项目项是否会返回Bridged模型的识别信息
当然会,APS API里有明确的标识字段:
- 查看项目项的
attributes.extension.data字段,Bridged模型会包含isBridged(或类似的bridgeSource、originatedFromBridge)字段,值为true。 - 另外,Bridged模型的
attributes.fileType可能带特殊后缀,或者attributes.extension.type会显示为Autodesk.BIM360.ModelBridge相关类型。 - 调用
GET /data/v1/projects/{projectId}/items/{itemId}获取完整的项目项详情,扩展属性里就能找到清晰的桥接标记。
疑问3:是否存在相关API或组合用于标记这类文档
有几种可行的API组合方式:
- 直接筛选:在文件夹搜索API里添加
filter参数,比如filter=attributes.extension.data.isBridged=true,直接过滤出所有Bridged模型。 - 自定义标记:如果需要自行添加标记,可以用
PATCH /data/v1/projects/{projectId}/items/{itemId}接口,在attributes.extension.data里新增自定义字段(比如customTag: "BridgedModel"),后续查询时就能靠这个字段快速识别。 - 批量分类:结合
GET /data/v1/projects/{projectId}/items和批量详情查询,遍历项目内所有模型,根据扩展属性里的桥接标识进行分类标记。
针对需求的额外建议
你需要将Bridged文档以下载模式而非实时模式在Revit中打开,识别出Bridged模型后,直接调用GET /data/v1/projects/{projectId}/items/{itemId}/download接口获取下载链接,下载到本地后再用Revit打开即可,无需走实时模式。
内容的提问来源于stack exchange,提问作者Mandi Bishop
相关产品推荐
相关产品推荐

