如何通过Forge API获取项目信息中的Unique Id(附Revit代码)
通过Forge API获取Revit项目的UniqueId
要实现和Revit中ProjectInfo.UniqueId相同的获取逻辑,可通过Forge Model Derivative API完成,步骤如下:
前提条件
- 已将Revit模型上传至Forge并完成翻译(转换为SVF格式),拿到模型的URN
- 持有带
data:read权限的Forge访问令牌(Access Token)
具体步骤
1. 获取模型元数据,定位ProjectInfo元素
调用Model Derivative API的元数据接口,遍历返回的节点树,找到类型为ProjectInformation的元素(对应Revit中的ProjectInfo对象):
curl -H "Authorization: Bearer <你的访问令牌>" https://developer.api.autodesk.com/modelderivative/v2/designdata/<模型URN>/metadata
在返回的JSON结构中,找到data数组下对应文档的children节点,筛选出type为ProjectInformation的元素,记录它的objectId值。
2. 获取ProjectInfo元素的属性,提取UniqueId
用上一步得到的objectId调用属性接口,返回结果中的externalId字段即为Revit中的ProjectInfo.UniqueId:
curl -H "Authorization: Bearer <你的访问令牌>" https://developer.api.autodesk.com/modelderivative/v2/designdata/<模型URN>/metadata/<ProjectInfo的objectId>/properties
说明
- Forge中元素的
externalId与Revit元素的UniqueId一一对应,完全等价 - 如果模型包含多个文档(如链接模型),需确保定位到主模型的
ProjectInformation元素
内容的提问来源于stack exchange,提问作者user16918900
相关产品推荐
相关产品推荐

