如何实现二维图纸和三维模型的构件联动?_文档_BIMFACE_BIM应用二次开发平台

如何实现二维图纸和三维模型的构件联动?

1、点击二维图纸的构件能定位三维模型对应的构件并高亮显示
2、点击三维模型的构件能定位二维图纸对应的构件并高亮显示

下面代码是实现二三维联动的关键方法。
第一步正常加载二维图纸、三维模型
第二步点击二维图纸的构件ID能转换出对应的三维模型ID,传入到三维模型里进行定位和高亮
第三步点击三维模型的构件ID能转换出对应的二维图纸ID,传入到二维图纸里进行定位和高亮

viewerDrawing.addEventListener(Glodon.Bimface.Viewer.ViewerDrawingEvent.ComponentsSelectionChanged,function(el){
     if(el.length > 0){
     	 //二维图纸的构件ID能转换出对应的三维模型ID
         var rid = viewerDrawing.toModelId(el[0]);
         //三维模型构件取消隔离							
         viewer3D.clearIsolation();
         //隔离构件时,其他构件可设置成半透明	
         viewer3D.isolateComponentsById([rid], Glodon.Bimface.Viewer.IsolateOption.MakeOthersTranslucent);
         //选中构件,并缩放到改构件     
         viewer3D.setSelectedComponentsById([rid]);
         viewer3D.zoomToSelectedComponents();
}
})
Viewer3D.addEventListener(Glodon.Bimface.Viewer.Viewer3DEvent.MouseClicked,function(el){
    //点击三维模型的构件ID能转换出对应的二维图纸ID
    var did = viewerDrawing.toDrawingId(el.objectId);
    if(did){
        //缩放到二维图纸构件
        viewerDrawing.zoomToObject(did);
}
})