Autodesk Forge 技术高峰会应用中 Revit 模型处理技巧总结
核心观点与内容结构
本文档主要介绍了在 Autodesk Forge 平台应用中处理 Revit 模型的几个关键技巧,涵盖模型聚合、多模型管理、对齐方法、链接模型处理及对象组管理等方面。
1. 模型聚合与多模型管理
- 模型聚合原理:通过
asyncfunctionaddViewable 函数实现模型加载,支持 urn、xform 和 offset 参数进行模型定位和放置。
- 多模型聚合:详细解释了多模型聚合的基本原理,并提供了
MultipleModelUtil 工具库支持多种对齐方式。
2. Revit 多模(链接模型)对齐
- 默认对齐方式:中心对中心。
- 原点对原点对齐:通过
origin-to-origin 方式实现精确对齐。
- 共享坐标对齐:利用 Revit 共享坐标进行模型对齐。
- 链接模型对齐示例:结合
AECData 和 ExternalIdMapping 实现链接模型信息的获取与处理。
3. 链接模型与复合模型转换
- 链接模型列表获取:通过
NOP_VIEWER.model.getDocumentNode().getDocument().downloadAecModelData() 获取链接模型列表,包含 InstanceId。
- 链接模型信息转换:利用
ExternalIdMapping 将 InstanceId 转换为 dbId,进而读取模型属性(如 TypeName)获取模型名称。
4. 对象组(group)处理
- Revit 对象组:Revit 中的组对象在 Forge Viewer 中会被打散,无法直接获取整个组。
- Rebuild Revit Group:通过
advanced property query 重新构建组对象关系。
- Revit Group Demo:提供了演示样例工程,位于
https://github.com/yiskang/au-2021-forge-lightning-talk-sample。
研究结论
本文档通过具体方法和工具库展示了在 Forge 平台上高效处理 Revit 模型的技术手段,包括多模型聚合、对齐、链接模型信息提取及对象组管理,为开发者提供了实用的解决方案。