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

Forge Viewer NWC模型重建AEC数据调用computeLevels报myData未定义错误

报错产生原因

  • AEC扩展未完成加载:Autodesk.AEC.AecModelData 依赖AEC相关扩展的预加载,扩展未完全初始化就调用方法时,内部绑定的属性结构还未生成,会触发myData读取失败。
  • levels参数格式不符合要求:computeLevels方法要求传入的levels必须是从Viewer官方接口返回的标准楼层结构,手动拼接的levels数组缺少内部绑定的myData所属对象,会触发该错误。
  • 调用时机过早:模型未完全加载、属性数据未解析完成时就调用方法,viewer.model关联的元数据还未挂载,方法内部读取对应属性时找不到目标对象。
  • NWC模型缺失楼层属性:Navisworks导出NWC时未勾选导出楼层相关选项,或原合并模型本身无有效标高数据,方法读取楼层关联结构时会找不到对应属性。

解决方案

  1. 优先预加载AEC扩展,等待扩展加载完成后再执行逻辑,示例代码如下:
// 等待AEC楼层扩展加载完成
await viewer.loadExtension('Autodesk.AEC.LevelsExtension');
  1. 不要手动构造levels参数,从已加载的AEC扩展中获取标准楼层数据再传入:
const levelsExt = viewer.getExtension('Autodesk.AEC.LevelsExtension');
const standardLevels = levelsExt.levels;
const aecdata = Autodesk.AEC.AecModelData.computeLevels(standardLevels, viewer.model);
  1. 调整调用时机,将逻辑放到模型完全加载的回调中执行,可监听Autodesk.Viewing.MODEL_ROOT_LOADED_EVENT事件,或放在viewer.loadModel的成功回调内执行。
  2. 检查NWC导出配置:在Navisworks导出NWC时,确认勾选了导出Revit层级的相关选项,确保合并的源模型中至少包含一组有效的标高数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 12:45:01