微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

多个模型坐标不匹配伪造查看器的问题

如何解决多个模型坐标不匹配伪造查看器的问题

我有两个应该完美对齐的模型,但是它与第一个模型具有相同的全局偏移量,并将其应用于第二个模型,这会产生对齐问题。

基本上我希望我的两个模型都放置在自己的坐标上。

即使我提供了globalOffset:{x:0,y:0,z:0},其破坏也是如此。

我的代码

 Autodesk.Viewing.Initializer(options,() => {
          
            const div = document.getElementById('forgeViewer');
            viewer = new Autodesk.Viewing.Private.GuiViewer3D(div);
            viewer.start();
            urn.map((m)=>{
                Autodesk.Viewing.Document.load(`urn:${m.urn}`,(doc) => {
                    var viewables = doc.getRoot().getDefaultGeometry();
                
                    var modelOption = {
                                keepCurrentModels: true,applyScaling: 'm'
                    };
                  
                    onDocumentLoadSuccess(doc,modelOption);
                });

            })
            
        });
      
      
    }
    

    function onDocumentLoadSuccess(doc,opt) {
      var viewables = doc.getRoot().getDefaultGeometry();
      viewer.loadDocumentNode(doc,viewables,opt).then(i => {
          viewer.addEventListener(Autodesk.Viewing.OBJECT_TREE_CREATED_EVENT,function () {
              
               // extra code 
                
            });
      });
    }

解决方法

您可以在此处检查我的示例(MultipleModelUtil),然后转到line#147 globalOffset 应用于第二个模型。或在此处检查AggrefatedView:https://forge.autodesk.com/blog/loading-multiple-models-forge-viewer-v7

注意。请不要将globalOffset设置为{x:0,y:0,z:},您会遇到Z-fighting问题(例如,模型轻弹...)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。