如何在APS中获取Revit视图集信息,实现预加载视图过滤?
解决方案
目前Autodesk Platform Services(APS)的Model Derivative API里的「Get List Model Views」接口确实不返回视图集关联信息,但可以通过以下两种工作流实现需求:
方法一:利用Model Derivative的Manifest扩展数据
- 调用「Get Manifest」接口获取模型的完整衍生清单,在
derivatives节点下的children中找到对应视图的条目,部分视图会携带viewSets相关的自定义属性(取决于Revit发布时的设置) - 解析该属性即可关联视图与视图集,之后就能提前过滤视图列表
方法二:预加载轻量化模型元数据(无需加载完整Viewer场景)
- 使用APS Viewer的
Autodesk.Viewing.Document.load方法加载模型文档,无需启动完整的3D渲染 - 加载完成后通过
document.getRoot().search()遍历视图节点,直接读取每个节点的ViewSets属性,完成过滤后再按需加载具体视图
注意:两种方法都需要确保Revit模型在发布到APS时,已正确包含视图集的元数据信息,否则无法获取对应关联数据
内容的提问来源于stack exchange,提问作者anthip
相关产品推荐
相关产品推荐

