You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Autodesk Forge Viewer热力图失效及房间结构获取问题咨询

问题解决方案

一、从Revit模型中获取房间结构

  1. 检查Revit源文件:确保模型内的房间已完成面积计算——Revit中未计算的房间,导出时不会被纳入转换结果。
  2. 修改模型转换参数:除generateMasterViews外,必须添加extractRoomGeometry: true以提取房间几何信息,完整转换任务JSON如下:
{
  "input": {
    "urn": "<<URN>>"
  },
  "output": {
    "formats": [
      {
        "type": "svf",
        "views": ["2d", "3d"],
        "advanced": {
          "generateMasterViews": true,
          "extractRoomGeometry": true
        }
      }
    ]
  }
}
  1. 在正确时机获取房间数据:必须等模型几何完全加载后,再实例化ModelStructureInfo。可通过监听GEOMETRY_LOADED_EVENT事件实现:
viewer.addEventListener(Autodesk.Viewing.GEOMETRY_LOADED_EVENT, async () => {
  const structureInfo = new Autodesk.DataVisualization.Core.ModelStructureInfo(viewer.model);
  const rooms = await structureInfo.queryRooms(); // 直接获取所有房间列表
  console.log('房间数据:', rooms);
});

二、确保精灵与房间绑定

  1. 匹配房间DBID:通过queryRooms()获取的房间对象包含dbId属性,将io.mocked.js中传感器的objectId替换为对应房间的dbId。
  2. 校准传感器位置:若传感器位置偏差,可通过房间包围盒计算中心点,将传感器坐标设为房间中心:
const targetRoom = rooms.find(room => room.name === 'Living Room');
const roomBbox = targetRoom.getBoundingBox();
const roomCenter = new THREE.Vector3().copy(roomBbox.min).add(roomBbox.max).multiplyScalar(0.5);
// 将roomCenter的x/y/z值替换到对应传感器的location中
  1. 关联传感器与房间:通过房间名称或ID匹配对应传感器数据,确保渲染精灵时,每个房间绑定正确的传感器信息。

三、获取房间边界显示热力图

  1. 提取房间边界:每个房间对象提供getBoundary()方法,可直接获取房间的平面边界(返回THREE.Shape对象):
const roomBoundary = targetRoom.getBoundary(); // 获取目标房间的边界多边形
  1. 初始化热力图数据:遍历房间列表,收集每个房间的边界与对应传感器数值,传入热力图组件:
const heatmapSource = rooms.map(room => {
  const matchedSensor = sensorData.find(sensor => sensor.name === room.name);
  return {
    shape: room.getBoundary(),
    value: matchedSensor ? matchedSensor.value : 0 // 替换为实际传感器数值
  };
});
// 将heatmapSource传入热力图扩展的配置参数
  1. 排查显示异常:若热力图仍不显示,检查以下几点:
    • 模型转换时是否开启extractRoomGeometry: true
    • 热力图的Z轴偏移是否合理(避免被模型遮挡)
    • 每个房间是否都关联了有效的数值数据

内容的提问来源于stack exchange,提问作者AliHamza365

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 07:05:18