JavaScript SDK版本3.6.180
2022-01-12
// 构造碰撞检测管理器
let clashDetectiveManager = new Glodon.Bimface.Plugins.ClashDetective.ClashDetectiveManager(viewer3D);
// 加载碰撞检测数据,可以使用碰撞检测ID和获取模型View Token的服务端接口获取
clashDetectiveManager.loadClashDetectiveResult(viewToken_clash, showPanel);
// 定义碰撞检测面板
let clashDetectivePanel
// 构造碰撞检测面板
function showPanel(data) {
// 定义碰撞检测数据
let clashDetectiveResult = data;
// 构造碰撞检测面板配置项
let clashDetectivePanelConfig = new Glodon.Bimface.Plugins.ClashDetective.ClashDetectivePanelConfig();
// 配置viewer对象
clashDetectivePanelConfig.viewer = viewer3D;
// 构造碰撞检测面板
clashDetectivePanel = new Glodon.Bimface.Plugins.ClashDetective.ClashDetectivePanel(clashDetectivePanelConfig);
// 设置碰撞检测数据
clashDetectivePanel.setData(clashDetectiveResult);
}
// 隐藏碰撞检测面板
clashDetectivePanel.hide();
// 显示碰撞检测面板
clashDetectivePanel.show();
// 设置相机绑定指定路径动画,保持相机与当前运动点的距离固定。
viewer3D.getCamera().setCameraAnimation({pathAnimation:pathAnimation, distance:10000, angle:-Math.PI*0.1});
// 获取相机动画信息
console.log(viewer3D.getCamera().getCameraAnimation());
// 解除相机与路径动画的绑定
viewer3D.getCamera().clearCameraAnimation();
// 构造剖切盒
let sectionBoxConfig = new Glodon.Bimface.Plugins.Section.SectionBoxConfig();
sectionBoxConfig.viewer = viewerGIS;
let sectionBox = new Glodon.Bimface.Plugins.Section.SectionBox(sectionBoxConfig);
// 设置图层ID为‘123’的图层与图层ID为‘456’且构件ID为‘11’的构件参与剖切
sectionBox.setFilter([{layerId:'123'},{layerId:'456',objectIds:['11']}]);
// 清空剖切盒的过滤条件,即恢复所有对象均参与剖切
sectionBox.clearFilter()
//构造外部构件管理器
let extObjMng = new Glodon.Bimface.Plugins.ExternalObject.ExternalObjectManager(viewer);
//获取外部构件中的某点,在世界坐标中的位置
extObjMng.toWorldPosition(extObjId, {localPosition:{ x: 1000, y: 2000, z: -300 }});
//获取外部构件中的向量,在世界坐标中的向量值
extObjMng.toWorldPosition(extObjId, {localVector:{ x: 1, y: 0, z: 0 }});
BIMFACE智能客服
7*24提供专业的BIMFACE使用支持与帮助