BIMFACE之3D。

操作三维模型:

<div id='domid' style='宽高'></div>
<script>
var domId = document.getElementById('domShow'); // 获取元素id

var config = new Glodon.Bimface.Viewer.Viewer3DConfig(); // 配置项
    config.domElement = domId;  // 设置文档元素为domId
    config.apiHost; // api网址
    config.resourceHost; // 资源网址
    config.initialViewOption; // 初始化视角
    config.homeViewOption; // 主视角
    config.enableViewHouse; // 是否开启viewHouse
    config.enableOrbit; // 是否可以旋转
    config.orbitButton; // 设置鼠标右转 默认为左转
    config.enableToggleContextMenuDisplay; //是否开启右键菜单
    config.enableHover; // 是否开启构件鼠标悬停效果
    config.enableBorderLine; // 是否显示轮廓线
    config.exposure; // 设置曝光度
    config,enableIBLBackground; // 是否启用环境光照
    config.loadIBLScene; // 选择环境贴图

var viewer3D = new Goldon.Bimface.Viewer.Viewer3D(config); // 创建3D模型 并传入配置项
      viewer3D.render(); // 渲染整个场景。如果调用了viewer3D的其它函数,建议在最后调用一次render();
      viewer3D.addView(viewToken); // 添加一个模型场景
      viewer3D.hideComponents(); // 隐藏构件   (已弃用)
      viewer3D.hideComponentsById(id); // 根据id构件隐藏构件
      viewer3D.hideComponentsByObjectData(筛选条件); // 根据筛选隐藏构件
      viewer3D.showComponents(); // 显示构件  (已弃用)
      viewer3D.showcomponentsById(id); // 根据构件id显示构件
      viewer3D.showcomponentsByIdObjectData(筛选条件); // 根据筛选条件显示构件
      viewer3D.showAllComponents(); // 显示所有构件
      viewer3D.transparentComponentsById(id); // 根据构件id设置构件为半透明
      viewer3D.transparentComponentsByIdObjectData(筛选条件); // 根据筛选条件设置构件为半透明
      viewer3D.opaqueComponentsById(id); // 根据构件id取消构件半透明
      viewer3D.opaqueComponentsByIdObjectData(筛选条件); //根据筛选条件取消构件半透明
      viewer3D.opaqueAllComponents(); // 取消所有构件半透明
      viewer3D.overrideComponentsColorById(多个object数组,颜色); // 根据构件id给构件着色 
      viewer3D.restoreComponentsColorById(多个object数组); // 根据构件id恢复原来的颜色
      viewer3D.clearOverrideColorComponents(); // 恢复全部构件原来的颜色
      viewer3D.restorDefault(); // 恢复默认显示
      viewer3D.isolateComponentsById(object数组,隔离方式); // 根据条件隔离构件,其它全部隐藏或半透明
      viewer3D.clearlsoation(); // 清除隔离
      viewer3D.setsolatedComponentColor(color); // 设置被隔离构件颜色
      viewer3D.restorelsolatedComponentColor();  // 恢复隔离状态下其它构件的颜色
      viewer3D.getlsolatedComponentColor(); // 获取被隔离构件的颜色
      viewer3D.disableComponentsSelectionById(); // 根据构件id禁止被选中  (已弃用)
      viewer3D.setSelectedComponentsById(多个object id的数组); / /根据构件id设置多个构件为选中的集合 	
      viewer3D.addSelectedComponentsById(多个object id的数组); // 根据构件id在选中集合中继续添加构件
      viewer3D.getSelectedComponents(多个object id的数组); //获取选中集合中的构件id数组
      viewer3D.removeSelectedId(多个 object id数组); // 根据构件id选中集合中删除构件
      viewer3D.showExclusiveComponentsByObjectData(筛选条件); //根据筛选条件显示构件,其余全部隐藏 筛选条件类型为obj 数组
      viewer3D.setComponentsOpacity(多个object id数组,opacity);  // 根据构件id设置构件半透明,或取消半透明 
      viewer3D.getCameraStatus(); // 获取相机位置信息,用于保存后恢复相机视点
      viewer3D.setCameraStatus(); // 根据相机位置信息恢复视点
      viewer3D.setView(viewOption); // 让三维模型回到标准视角
      viewer3D.zoomToBoundingBox(object); // 缩放指定包围盒
      viewer3D.zoomToSelectedComponents(); // 缩放到选中集合的构件
      viewer3D.zoomln(); // 三维模型放大
      viewer3D.zoomOut(); // 三维模型缩小
      viewer3D.getCurrentState(); // 获取当前模型的浏览状态
      viewer3D.setState(state); // 恢复模型状态 state为getCurrentState()返回值
      viewer3D.setCameraAnimation(boolean); // 是否允许转场动画
      viewer3D.getAreas(callback(data)); // 获取空间的回调函数。data空间信息 json || object
      viewer3D.getAreaProperty(id,callback(data)); // 获取空间属性  空间id  callback(data)  data为空间属性
      viewer3D.getRoomProperty(id,callback(data)); //获取房间属性 房间id   callback(data) data为房间属性
      viewer3D.setArea(空间的平面边界,空间高度,空间id); // 设置空间  参数类型object  number  string
      viewer3D.clearArea(); //清除空间
      viewer3D.clearAreasById(多个object id数组); // 根据空间id 清除空间体块
      viewer3D.getAreaColorById(空间id); //  根据空间id获取空间体积的颜色
      viewer3D.getAreaFrameColorById(空间id); // 根据空间id获取空间体块线框的颜色 
      viewer3D.hideAllAreas(); // 隐藏所有空间体块
      viewer3D.hideAreasById(多个object id数组); // 根据空间id隐藏空间体块
      viewer3D.setAreasColorById(多个object id数组,color); // 根据空间id设置空间体块颜色
      viewer3D.setAreasFrameColorById(多个object id数组,color); // 根据空间id设置空间体块线框的颜色
      viewer3D.showAllAreas(); //显示所有空间体块
      viewer3D.showAreasById(多个object id数组); //根据空间id显示空间体块
      viewer3D.showViewHouse(); //显示viewHouse
      viewer3D.hideViewHouse(); // 隐藏viewHouse
      var colorRed = new Glodon.Web.Graphics.Color(255,0,0,1);
      viewer3D.setBackgroundColor(colorRed); //设置模型区域背景颜色
      viewer3D.setBackgroundColor(color1,color2); // 设置模型区域自定义渐变背景颜色
      viewer3D.addPlane(坐标位置,坐标位置,贴图路径,贴图加载的回调函数); // 在平面添加贴图,为异步调用,需要在callback中调用render()
      viewer3D.enableOrbit(boolean); //是否允许模型转换
      viewer3D.enableMouseHoverHighlight(); // 允许鼠标hover构件时高亮
      viewer3D.disableMouseHoverHighlight(); // 禁止鼠标hover构件是高亮
      viewer3D.setOrbitButton(设置左右鼠标,进行模型旋转); //设置鼠标旋转习惯
      viewer3D.setNavigationMode(导航模式); // 设置导航模式
      viewer3D.setFlySpeedRate(number); // 设置漫游倍数
      viewer3D.setMinimunFPS(number); //设置帧率
      viewer3D.isEnableBorderLine(boolean); // 是否开启线框
      viewer3D.isEnableHover(boolean); //是否开启鼠标hover效果
      viewer3D.isEnableToggleContextMenuDisplay(boolean); // 是否开启右键菜单
      viewer3D.getBackgroundColor(); // 获取背景颜色
      viewer3D.getLoadIBLScene(); // 获取IBL设置
      viewer3D.createSnapshotAsync(color,callback(data)); // 创建快照图片  加载成功后回调函数的参数 data为图片数据
      viewer3D.startAutoRotate(speed); // 正负表示方向,数值表示速度
      viewer3D.stopComponetProperty(构件id,callback(data)); // 获取构件属性  加载成功后参数为构件属性
      viewer3D.getObjectDataById(构件id); // 根据构件id获取objectData
      viewer3D.getElementByConditions(模型文件id,筛选条件,加载成功后回调函数(构件列表)); // 离线数据包中,对单模型或集成模型根据构件类型ID、族和族类型获取构件列表
      viewer3D.getMaterialProperty(模型文件id或构件id,加载成功后的回调(集成模型材质)); // 获取集成模型材质属性
      viewer3D.getFloors(callback(data)); // 获取单模型,集成模型楼层列表  data模型楼层列表
      viewer3D.getModelTree(callback); // 获取模型构件目录结构树  回调函数加载成功  参数为模型构件目录结构树
      viewer3D.getFamilyTypes(); // 获取族类型 仅适 rfa文件格式
      viewer3D.showFamilyTypeById(族类型id); // 切换族类型
      viewer3D.enableFullScreen(boolean); // 是否全屏  
      viewer3D.setBorderLineEnabled(boolean); // 是否渲染轮廓线
      viewer3D.resize(width,height); / /设置场景大小
      viewer3D.addEventListener(eventName,handler); // 增加监听事件
      viewer3D.removeEventListener(eventName,handler); // 移除监听事件

// 事件
Glodon.Bimface.Viewer.Viewer3DEvent.ViewAdded; // 3D模型加载完毕
Glodon.Bimface.Viewer.Viewer3DEvent.ViewLoading; // 3D模型加载中
Glodon.Bimface.Viewer.Viewer3DEvent.ComponentsSelectionChanged; //构建选择状态变化  (废除)
Glodon.Bimface.Viewer.Viewer3DEvent.MouseClicked; // 鼠标左键事件
Glodon.Bimface.Viewer.Viewer3DEvent.ContextMenu; // 鼠标右键事件
Glodon.Bimface.Viewer.Viewer3DEvent.SelectionChanged; // 构件选中状态变化
Glodon.Bimface.Viewer.Viewer3DEvent.ComponentsHoverChanged; // 鼠标悬停构件事件
Glodon.Bimface.Viewer.Viewer3DEvent.MouseDoubleClicked; // 鼠标双击构件事件
Glodon.Bimface.Viewer.Viewer3DEvent.Error; // 出现错误


// 隔离构件
Glodon.Bimface.Viewer.IsolateOption.HideOthers; // 其它隐藏
Glodon.Bimface.Viewer.lsolateOption.MakeOthersTranslucent; // 其它半透明

// 浏览模式
Glodon.Bimface.Viewer.NavigationMode3D.Fly; // 漫游模式
Glodon.Bimface.Viewer.NavigationMode3D.Orbit; // 旋转
Glodon.Bimface.Viewer.NavigationMode3D.Select; // 选择
Glodon.Bimface.Viewer.NavigationMode3D.zoom; // 缩放
Glodon.Bimface.Viewer.NavigationMode3D.OrbitWithModelCenter; // 围绕模型中心旋转


//设置构件透明状态
Glodon.Bimface.Viewer.OpactityOption.Translucent; // 半透明
Glodon.Bimface.Viewer.OpactityOption.Opaque; // 取消透明

// 定义鼠标操作
Glodon.Bimface.Viewer.OrbitButton.Left; // 左键旋转
Glodon.Bimface.Viewer.OrbitButton.Right; // 右键旋转


// 三维模型的标准视角
Glodon.Bimface.Viewer.ViewerOpation.Home; // 主视角
Glodon.Bimface.Viewer.ViewerOpation.Top; // 俯视角
Glodon.Bimface.Viewer.ViewerOpation.Bottom; // 仰视角
Glodon.Bimface.Viewer.ViewerOpation.North; //  北视角
Glodon.Bimface.Viewer.ViewerOpation.South; // 南视角
Goldon.Bimface.Viewer.ViewerOpation.West; // 西视角
Glodon.Bimface.Viewer.ViewerOpation.East; // 东视角
Glodon.Bimface.Viewer.ViewerOpation.SouthEast; // 东南视角
Glodon.Bimface.Viewer.ViewerOpation.SouthWest; // 西南视角
Glodon.Bimface.Viewer.ViewerOpation.NorthEast; // 东北视角
Glodon.Bimface.Viewer.ViewerOpation.NorthWest; // 西北视角

</script>

猜你喜欢

转载自blog.csdn.net/weixin_44164824/article/details/89702775