- 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);
}
})