能否通过Forge Viewer API获取Revit Material Takeoff所用数据?
Forge Viewer API获取Revit材料明细表数据实现方案
可以通过Forge Viewer API获取到Revit Material Takeoff(材料明细表)所使用的全部相关数据,你需要的单墙构件各构造层体积参数也可以直接读取,实现步骤如下:
- 第一步:获取目标墙构件对应的
dbId,可通过Viewer的选择监听事件、viewer.search()方法按构件名/ID搜索两种方式拿到。 - 第二步:调用Viewer的属性查询API
viewer.getProperties(dbId, callback),即可获取该构件的全量属性数据。墙的构造层相关参数会保存在属性列表的「构造」或「复合结构」分组下,每个构造层会单独对应材质名称、厚度、体积、面积字段,数值和Revit端材料明细表导出的结果完全一致。 - 第三步:如果需要批量查询多个构件的构造层数据,可使用
viewer.model.getBulkProperties()方法批量传入目标dbId列表获取属性,性能更优。
注意事项
- 若查询时未找到构造层相关属性,先确认Revit源文件中该墙的复合结构配置正常,且模型转换为SVF格式时未勾选隐藏属性的相关选项。
- Revit中自定义的共享参数只要未设为隐藏,转换后也可以通过该API正常读取。
内容的提问来源于stack exchange,提问作者Guy Hareuveni
相关产品推荐
相关产品推荐

