JavaScript SDK版本3.6.188

2022-02-16

三维模型
// 创建热力图
let heatMapConfig = new Glodon.Bimface.Plugins.Heatmap.Heatmap2DConfig();
heatMapConfig.viewer = viewer3D;
let heatMap = new Glodon.Bimface.Plugins.Heatmap.Heatmap2D(heatMapConfig);
let data = [ {x: 20, y: 30, z: 30, value: 100}, {x: 50, y: 20, z: 30, value: 40} ];
heatMap.setData(data);
heatMap.setDataMin(0);
heatMap.setDataMax(100);
heatMap.enableColorLegend(isEnabled);

// 颜色设置
let color1 = new Glodon.Web.Graphics.Color(0, 0, 255, 1);
let color2 = new Glodon.Web.Graphics.Color(0, 255, 0, 1);
let color3 = new Glodon.Web.Graphics.Color(255, 0, 0, 1);

// 配置热力图颜色方案:
let colorMap = {
    0.0 : color1, // 对应DataMin的颜色
    0.5 : color2, 
    1.0 : color3, // // 对应DataMax的颜色
};
heatMap.setHeatMapColor(colorMap);
  • 新增设置和解除外部构件之间关联关系的接口,指定外部构件的父子关系后,通过控制父构件运动,可同时操控子构件,可用于制作外部构件机械运动
//构造外部构件管理器
let extObjMng = new Glodon.Bimface.Plugins.ExternalObject.ExternalObjectManager(viewer);
//指定外部构件(挖掘机)父子关系
relationships_excavator = {
    "id": excavator_id,
    "children": [{
        "id": arm1_id,
        "children": [{
            "id": arm2_id,
            "children": [{
                "id": bucket_id,
                "children": null
            }]
        }]
    }]
};
//绑定外部构件父子关系
extObjMng.setHierarchy(relationships_excavator);
//让子构件跟随挖掘机大臂绕旋转基点旋转
extObjMng.rotateOnBasePoint(arm1_id, basePoint1, axis1, radian);
//解除所有构件绑定关系
extObjMng.clearAllHierarchy();
场景应用
  • 新增外部构件对应的监听事件,可在GIS场景应用中实现对外部构件位置变化的监听。
// 构造外部构件图层并添加至GIS场景中
let extLayer = new Glodon.Bimface.Layer.ExternalObjectLayer({id:'extObjLayerId',name:'extObjLayer'});
viewerGIS.getLayerManager().addLayer(extLayer); 
// 获取外部构件图层对应的外部构件管理器
let extMng = viewerGIS.getLayerManager().getLayer('extObjLayerId').getExternalObjectManager();
// 添加外部构件至管理器中
extMng.loadObject({name:"car",url:{objectUrl:"https://static.bimface.com/attach/6db9d5bcf88640f997b23be61e870ee8_%E6%B1%BD%E8%BD%A6.3DS"}},function(){
  // 输出外部构件ID
  console.log(extMng.getObjectIdByName('car'));
});
// 在外部构件管理器下绑定监听事件,当外部构件位置发生变化时,执行监听事件的处理函数
extMng.addEventListener(Glodon.Bimface.ElementManager.ExternalObjectEvent.Transformed,getData);

// 解绑外部构件位置变化的监听事件
extMng.removeEventListener(Glodon.Bimface.ElementManager.ExternalObjectEvent.Transformed,getData);

// 监听事件的处理函数
function getData(data) {
  // 在控制台输出监听事件的返回信息:外部构件相关信息
  console.log(data);
}
矢量图纸
  • 新增Drawing类,用于操作单图纸内的图元、数据等。
// 加载图纸,使用getDrawing方法,需要改用该接口
viewerDrawing.loadDrawing({
  modelId: "1",
  viewToken: viewToken
})
// 获取图纸对象
let drawing = ViewerDrawing.getDrawing("1")
// 图元、图层及数据操作,以隐藏图元为例
drawing.hideObjects({
  objectIds: ['4453']
});
  • 对ViewerDrawing进行了重构,该类用于操作二维场景,支持添加多图纸(后添加的图纸仅加载model空间),并将单图纸的方法移植到Drawing类下(原方法兼容,可以继续使用)。
  • 将ViewerDrawingSet类下的方法移植到ViewerDrawing类下(原方法兼容,可以继续使用),后续建议使用ViewerDrawing加载图纸,ViewerDrawingSet不再增加新功能。