多模聚合,位置关系错误

多模聚合,在revit使用共享坐标对齐后,模型轻量化后在forge中采用多模聚合--共享坐标对齐,模型位置关系错误(采用其他两种方式位置关系也不对),请问位置关系不对的原因是什么???
image.png

阅读 2.6k
1 个回答

建议使用 AggregatedView 取代,这是新的多模聚合的工具,其对参考点 (refPoint) 及 globalOffest 的计算方式做了一些优化,但基本上也是使用了我课件上的那三个方法的整合,希望有帮助,谢谢!

const options3d = {
    viewerConfig: {
        disableBimWalkInfoIcon: true
    }
};

function loadManifest( documentId ) {
    return new Promise(( resolve, reject ) => {
        const onDocumentLoadSuccess = ( doc ) => {
            doc.downloadAecModelData(() => resolve(doc));
        };
        Autodesk.Viewing.Document.load( documentId, onDocumentLoadSuccess, reject );
    });
}

//get the viewer div
const viewerDiv = document.getElementById( 'viewer' );

//initialize the viewer object
const view = new Autodesk.Viewing.AggregatedView();
view.init( viewerDiv, options3d );

const viewer = view.viewer;

const tasks = [];
models.forEach( md => tasks.push( loadManifest( md.urn ) ) );


Promise.all(tasks)
    .then( docs =>  Promise.resolve( docs.map( doc => {
        const bubbles = doc.getRoot().search({type:'geometry', role: '3d'});
        const bubble = bubbles[0];
        if( !bubble ) return null;

        return bubble;
    })))
    .then( bubbles => view.setNodes( bubbles ) );

详细样例请参考:https://gist.github.com/yiska...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题