JavaScript SDK版本3.6.214

2022-08-17

三维模型
  • 构件树节点点击监听事件返回信息中新增了筛选条件。
// 构造WebApplication
let webApplication = new Glodon.Bimface.Application.WebApplication3D(webAppConfig);
// 添加构件树节点点击监听事件
webApplication.addEventListener(Glodon.Bimface.Application.WebApplication3DEvent.ModelTreeNodeClicked, getCondition);
// 定义获取筛选条件的方法
let condition;
function getCondition(data) {
  if(data.condition){
    condition = data.condition; 
  }
};
  • 新增了Viewer3D场景中流式加载的剖切补面效果。
  • 优化了流式加载模式的三维图纸效果,支持拾取三维图纸的线构件。
  • 支持了rvm格式的文件集成(包括主文件为rvm的zip文件),可通过控制台的模型集成页面进行rvm文件集成,也支持通过服务端API发起模型集成
  • 三维场景中新增了外部构件着色的接口,可根据条件给外部构件着色或恢复默认颜色。
// 构造外部构件管理器
let extObjMng = new Glodon.Bimface.Plugins.ExternalObject.ExternalObjectManager(viewer3D);
//根据条件给外部构件着色
let color = new Glodon.Web.Graphics.Color(100, 22, 180, 0.8);
extObjMng.overrideColor({ids:[extObjId1,extObjId2]}, color);
//根据条件清空外部构件颜色,恢复默认颜色显示
extObjMng.restoreColor({all:true});
  • 新增了设置烟雾颜色和获取烟雾颜色的接口,也支持在火焰效果配置项中设置烟雾颜色。
//构造火焰效果的配置项
let fireConfig = new Glodon.Bimface.Plugins.ParticleSystem.FireEffectConfig();
//设置火焰效果类型为烟雾
fireConfig.fireType = Glodon.Bimface.Plugins.ParticleSystem.FireType.Smoke;
//构造火焰对象
fireEffect = new Glodon.Bimface.Plugins.ParticleSystem.FireEffect(fireConfig);
//设置烟雾颜色
fireEffect.setColor({smokeColor: {r: 255, g: 255, b:255}});
//获取烟雾颜色
fireEffect.getColor();
场景编辑
  • 场景编辑-效果编辑模块中,新增了雨景效果的添加与编辑功能,支持在场景中模拟雨天特效。发布场景后效果数据将一并保存在场景中,预览时也会自动加载显示已添加的效果。基于BIMFACE控制台-场景发布模块进入场景编辑页面,即可体验该功能模块。

  • 在场景编辑-效果编辑模块中,优化了新增效果的确认/取消按钮。

场景应用
  • CameraGIS中,设置相机视角的接口支持传入回调函数,以便于在视角切换成功后执行对应的操作。
// 获取GIS场景的相机对象
let camera = viewerGIS.getCamera();

// 设置相机状态,并在相机视角切换完成后输出提示
let status = {name:"persp",position:{x:25.94,y:-34.91,z:1000},target:{x:-11.88,y:16.36,z:0},up:{x:-0.12,y:0.17,z:0.97},near:16902.62,far:67471.99,zoom:1,version:1,fov:45,aspect:1.268041237113402,coordinateSystem:"world"};

camera.setStatus(status,function(){
  // 相机状态切换完成后在控制台输出提示
  console.log('相机状态设置成功!');
});

// 相机缩放至指定构件包围盒,并在缩放完成后控制台打印对应提示
camera.zoomToBoundingBox(boundingBox,function(){
  console.log('相机已缩放至指定包围盒!');
},1,1000);
  • CameraGIS中,新增相机平移/俯仰/旋转/缩放的禁用或开启设置,支持基于接口锁定相机的交互行为。
// 获取GIS场景的相机对象
let camera = viewerGIS.getCamera();
// 禁用平移
camera.enablePan(false);
// 禁用俯仰
camera.enablePitch(false);
// 禁用旋转
camera.enableRotate(false);
// 禁用缩放
camera.enableZoom(false);
标签
  • 新增了对自定义标签/引线标签/图片标签的遮挡状态进行检测的方法,可基于标签的遮挡状态进行显示样式等设置,例如标签被遮挡时隐藏,未遮挡时显示。
// 开启深度检测,开启后可监听标签的遮挡状态变化事件,默认为false。适用于Viewer3D、ViewerGIS。
customItem.enableDepthTest(true);
// 设置标签遮挡状态变化的事件,将返回标签是否被遮挡(true/false),仅当开启深度检测后才生效。
customItem.onObstructionChanged(function (data){
  if(data){
    // 被遮挡时隐藏标签
    customItem.hide();
  }else{
    // 未遮挡时显示标签
    customItem.show();
  }
});
服务端API
控制台
  • 控制台中所有文件格式的转换面板都增加了转换参数输入框,在文件转换或者重转时可输入转换参数。
  • 控制台中支持删除项目,项目下所有文件、场景、离线数据包等信息将被一并删除。