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

Autodesk Forge的PixelCompare扩展调用报错及文件不支持问题求助

问题原因及解决方案

第一个报错:viewer.compareTwoModels is not a function

  • 原因:compareTwoModels 不是Viewer实例自带的方法,属于PixelCompare扩展实例的专属方法,预加载扩展后需要先拿到扩展实例才能调用对应方法,不能直接在viewer对象上调用。
  • 修复代码示例:
// 先从viewer中获取已预加载的PixelCompare扩展实例
const pixelCompareExt = viewer1.getExtension('Autodesk.Viewing.PixelCompare')
// 调用扩展的对比方法
pixelCompareExt.compareTwoModels(data[0], data[1])

第二个报错:file extension unsupported

  • 原因:viewer.loadModel() 方法仅支持直接传入SVF、SVF2、OBJ等格式的模型文件直链,无法直接识别URN(模型资源标识符),加载URN对应的转换后模型必须使用Autodesk.Viewing.Document.load先解析文档,再通过loadDocumentNode加载视图节点,直接将URN传给loadModel会触发格式不支持报错。
  • 完整修复代码示例:
// 封装URN转模型实例的加载方法
async function loadModelFromUrn(urn, xOffset) {
  return new Promise((resolve, reject) => {
    Autodesk.Viewing.Document.load(
      `urn:${urn}`,
      (doc) => {
        const viewable = doc.getRoot().getDefaultGeometry()
        doc.downloadAecModelData()
        viewer1.loadDocumentNode(doc, viewable, {
          placementTransform: new THREE.Matrix4().setPosition({x: xOffset, y: 0, z: 0}),
          keepCurrentModels: true,
          globalOffset: {x: 0, y: 0, z: 0}
        }).then(model => resolve(model))
        .catch(err => reject(err))
      },
      (loadErr) => reject(loadErr)
    )
  })
}

// 执行像素对比逻辑
async function executeCompare(urn1, urn2) {
  // 加载两个待对比模型,偏移量按你的业务需求调整
  const model1 = await loadModelFromUrn(urn1, 0)
  const padding = parseInt(sessionStorage.getItem('padding1')) || 10
  const model2 = await loadModelFromUrn(urn2, padding)
  // 加载扩展并执行对比
  const pcExt = await viewer1.loadExtension('Autodesk.Viewing.PixelCompare')
  pcExt.compareTwoModels(model1, model2)
}

// 传入你要对比的两个URN调用即可
executeCompare(
  'dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLmwwLS10X0k5UkVhbnNWRXBuLXl5Zmc_dmVyc2lvbj0x',
  'dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLmxXX0dONUJNVDBxdDRuOGZmRWx4SkE_dmVyc2lvbj0x'
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 17:24:05