基于AWS S3与Autodesk Forge模型衍生API的BIM元数据提取自动化可行性咨询
该自动化工作流的可行性分析
核心结论
你提出的自动化工作流完全可实现,各环节的具体实现逻辑如下:
1. 用户上传Revit模型至AWS S3
这一步无技术门槛,用户可通过AWS控制台、S3官方SDK、自定义上传页面等方式完成,S3支持大文件分片上传,能适配Revit模型的体积需求。
2. Autodesk Forge模型衍生API获取S3中的模型
Forge模型衍生API无法直接读取AWS S3存储桶内的文件,需通过中转环节实现:
- 推荐方案:借助AWS Lambda触发流程——当S3检测到新的Revit文件上传时,自动触发Lambda函数,将文件临时下载至Lambda本地,再通过Forge的
POST /oss/v2/buckets/:bucketKey/objects/:objectKey接口上传至Forge自有OSS存储桶,随后调用模型衍生API启动转换。 - 备选方案:配置S3跨区域复制/事件通知,将文件同步至Forge OSS(需完成双方权限配置),但Lambda中转的灵活性更高。
3. 提取元数据并保存回S3
模型转换完成后,可按以下流程实现元数据导出与回传:
- 调用Forge的
GET /modelderivative/v2/designdata/:urn/metadata获取模型层级与元数据结构,再通过GET /modelderivative/v2/designdata/:urn/metadata/:guid/properties拉取具体属性数据,整理为JSON格式。 - 若需SQLite格式,可在Lambda(或其他后端服务)中将JSON数据写入SQLite文件,再通过S3 API上传回目标存储桶。
- 需通过Forge Webhook或轮询接口状态的方式,确认模型转换完成后再触发元数据提取操作。
关键注意事项
- 权限配置:需为Lambda分配S3读写权限、Forge API调用权限;同时确保Forge应用拥有其自有OSS存储桶的访问权限。
- 异步处理:Forge模型转换为异步操作,必须通过Webhook通知或定时轮询确认转换状态,避免提前执行元数据提取导致失败。
- 版本兼容:确认待转换的Revit版本在Forge模型衍生API的支持范围内,避免出现兼容性问题。
内容的提问来源于stack exchange,提问作者Shafeekh Melangadi
相关产品推荐
相关产品推荐

