PixelCompare 方法问题

PixelCompare method issue

我对 PixelCompare 扩展有疑问。

这里,我正在加载它:

viewer1 = new Autodesk.Viewing.GuiViewer3D(document.getElementById('forgeViewer1'), { extensions: [ 'GoogleMapsLocator', 'Autodesk.AEC.Minimap3DExtension','Autodesk.AEC.LevelsExtension','Autodesk.DocumentBrowser','Autodesk.ToolbarExtension' ,'Autodesk.Viewing.PixelCompare'] });

然后我正在尝试使用它:

viewer1.compareTwoModels(data[0],data[1]);

数据是包含模型的数组。

我收到“viewer.compareTwoModels 不是函数”错误,这意味着函数名称中存在拼写错误或不存在。

无法访问扩展存储库,我无法确认此方法确实存在。

我不知道该怎么做,欢迎任何帮助。

编辑:

此代码段在查看器中加载文档以显示它。

Autodesk.Viewing.Document.load(`urn:${urns[index]}`, function(doc){
var viewables=doc.getRoot().getDefaultGeometry();
doc.downloadAecModelData();
viewer1.loadDocumentNode(doc, viewables, {
placementTransform: (new THREE.Matrix4()).setPosition({ x: increment, y: 0, z: 0 }),
keepCurrentModels: true,
globalOffset: { x: 0, y: 0, z: 0 }
                        }).then(i => {
                            if(urns.length > 1) {
                                $(viewer1.toolbar.container).find('#toolbarXLS').hide();
                            }
                        });
increment += parseInt(sessionStorage.getItem('padding1'));
                        
                    });

然后,我用它来进行像素比较:

    viewer1.loadModel('urn:dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLmwwLS10X0k5UkVhbnNWRXBuLXl5Zmc_dmVyc2lvbj0x', {}, (model1) => {
                    console.log('test load model :' + model1)
                viewer1.loadModel('urn:dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLmxXX0dONUJNVDBxdDRuOGZmRWx4SkE_dmVyc2lvbj0x', {}, async (model2) => {
            
                const pcExt = await viewer1.loadExtension('Autodesk.Viewing.PixelCompare');
                pcExt.compareTwoModels(model1, model2);
                console.log()
          });
        });

我立即收到“不支持文件扩展名”错误,可能是第一个参数代码未达到 console.log('test load model :' + model1)

函数 compareTwoModels 是扩展对象的一部分,而不是查看器 - 请参阅 PixelCompare extension

function launchViewer() {
  var options = {
    env: 'Local'
  };

  Autodesk.Viewing.Initializer(options, () => {
    viewer = new Autodesk.Viewing.GuiViewer3D(
      document.getElementById('forgeViewer'), {}
    );

    viewer.start();

    // Load 2 sheets
    viewer.loadModel('scissors1.pdf', {}, (model1) => {
      viewer.loadModel('scissors2.pdf', {}, async (model2) => {
        // Compare them 
        const pcExt = await viewer.loadExtension('Autodesk.Viewing.PixelCompare');
        pcExt.compareTwoModels(model1, model2);
      });
    });
  });
}