Viewer3D_文档_BIMFACE_BIM应用二次开发平台

Glodon.Bimface.Viewer.Viewer3D

类:操作3D模型

Constructor

new Glodon.Bimface.Viewer.Viewer3D(config)

Parameters
名称 必填 类型 说明 示例
config Y Viewer3DConfig 配置项

Methods

render()

渲染整个场景
当调用了viewer3D的其他函数(用于控制显示的函数),必须手动调用render(),场景才会显示效果
如果同时需要调用多个函数,强烈建议在最后调用一次render()

addView(viewToken)

添加一个模型到场景

Parameters
名称 必填 类型 说明 示例
viewToken Y String
hideComponents(objectIds)

隐藏构件

Parameters
名称 必填 类型 说明 示例
objectIds Y String Array 多个objectId的数组 [“x1”, “x2”]
showComponents(objectIds)

显示构件

Parameters
名称 必填 类型 说明 示例
objectIds Y String Array 多个objectId的数组 [“x1”, “x2”]
showAllComponents()

显示所有构件

overrideComponentsColorById(objectIds, color)

改变构件的颜色

Parameters
名称 必填 类型 说明 示例
objectIds Y String Array 多个objectId的数组 [“x1”, “x2”]
color Y Color 颜色
restoreComponentsColorById(objectIds)

恢复构件的原来颜色

Parameters
名称 必填 类型 说明 示例
objectIds Y String Array 多个objectId的数组 [“x1”, “x2”]
isolateComponentsById(objectIds, state)

隔离构件,其他全部隐藏或半透明。

Parameters
名称 必填 类型 说明 示例
objectIds Y String Array 多个objectId的数组 [“x1”, “x2”]
state Y IsolateOption 隔离方式 Glodon.Bimface.Viewer.IsolateOption.MakeOthersTranslucent
isolateComponentsByObjectData(conditions, state)

根据筛选条件隔离构件,支持多种条件的组合。

Parameters
名称 必填 类型 说明 示例
conditions Y Object Array 筛选条件,查看说明
state Y IsolateOption 隔离方式 Glodon.Bimface.Viewer.IsolateOption.MakeOthersTranslucent
clearIsolation()

清除隔离

disableComponentsSelectionById(objectIds)

禁止构件选中

Parameters
名称 必填 类型 说明 示例
objectIds Y String Array 多个objectId的数组 [“x1”, “x2”]
setSelectedComponentsById(objectIds)

设置多个构件为选中集合

Parameters
名称 必填 类型 说明 示例
objectIds Y String Array 多个objectId的数组 [“x1”, “x2”]
addSelectedComponentsById(objectIds)

在选中集合中继续添加构件

Parameters
名称 必填 类型 说明 示例
objectIds Y String Array 多个objectId的数组 [“x1”, “x2”]
getSelectedComponents()

获取选中集合中的构件ID数组

Returns
类型 说明
String Array 多个objectId的数组
removeSelectedId(objectId)

从选中集合中删除一个构件

Parameters
名称 必填 类型 说明 示例
objectId Y String Array 多个objectId的数组 [“x1”, “x2”]
showExclusiveComponentsByObjectData(conditions)

显示满足条件的构件,其余全部隐藏

Parameters
名称 必填 类型 说明 示例
conditions Y Object Array 筛选条件,查看说明
setComponentsOpacity(objectIds, opacity)

设置构件半透明,或取消构件半透明

Parameters
名称 必填 类型 说明 示例
objectIds Y String Array 多个objectId的数组 [“x1”, “x2”]
opacity Y OpacityOption 半透明,或取消半透明 Glodon.Bimface.Viewer.OpacityOption.Translucent
getCameraStatus()

获取相机位置信息,用于保存后恢复相机视点

Returns
类型 说明
Object 相机位置信息
setCameraStatus(cameraStatus)

根据相机位置信息恢复视点。

Parameters
名称 必填 类型 说明 示例
cameraStatus Y Object getCameraStatus返回的对象
setView(view)

让三维模型回到标准视角

Parameters
名称 必填 类型 说明 示例
view Y ViewOption 标准视角 Glodon.Bimface.Viewer.ViewOption.Home
zoomToBoundingBox(boundingBox)

缩放到指定包围盒

Parameters
名称 必填 类型 说明 示例
boundingBox Y Object TODO TODO
zoomToSelectedComponents()

缩放到加入选中集合的构件

zoomIn()

三维模型放大

zoomOut()

三维模型缩小

getCurrentState()

获取当前模型的浏览状态

Returns
类型 说明
Object TODO
setState(state)

恢复模型的状态

Parameters
名称 必填 类型 说明 示例
state Y Object getCurrentState()的返回值 TODO
setCameraAnimation(enabled)

是否允许转场动画(目前仅支持setCameraStatus()、setState()、 setView()三种API)

Parameters
名称 必填 类型 说明 示例
enabled Y Boolean 是否允许转场动画 false
showViewHouse()

显示ViewHouse

hideViewHouse()

隐藏ViewHouse

setBackgroundColor(color)

设置模型区域背景颜色

Parameters
名称 必填 类型 说明 示例
color Y Color 颜色
Sample
var colorRed = new Glodon.Web.Graphics.Color(255, 0, 0, 1);
viewer3D.setBackgroundColor(colorRed);
enableOrbit(enabled)

是否允许模型旋转

Parameters
名称 必填 类型 说明 示例
enabled Y Boolean 是否允许模型旋转 false
enableMouseHoverHighlight()

允许鼠标hover构件时高亮

disableMouseHoverHighlight()

禁止鼠标hover构件时高亮

setOrbitButton(orbitButton)

设置鼠标旋转习惯,左键 or 右键

Parameters
名称 必填 类型 说明 示例
orbitButton Y OrbitButton 设置左右鼠标,进行模型旋转 Glodon.Bimface.Viewer.OrbitButton.Left
setNavigationMode(navigationMode)

设置导航模式

Parameters
名称 必填 类型 说明 示例
navigationMode Y NavigationMode3D 导航模式 Glodon.Bimface.Viewer.NavigationMode3D.Fly
setMinimumFPS(num)

设置帧率

Parameters
名称 必填 类型 说明 示例
num Y Number 最小渲染帧率,取值范围:4-60 15
createSnapshotAsync(Color,callback)

创建快照图片

Parameters
名称 必填 类型 说明 示例
color Y Color 颜色 new Glodon.Web.Graphics.Color(255, 0, 0, 1)
callback(data) Y Function 加载成功之后的回调函数,回调函数的参数见下表
Callback Parameters
名称 类型 说明
data Json Object 图片数据
Returns
类型 说明
Base64 图片的Base64编码
startAutoRotate(speed)

模型在屏幕中心自动旋转

Parameters
名称 必填 类型 说明 示例
speed Y Number 速率,正负表示方向,数值表示速度 -0.5
stopAutoRotate()

停止自动旋转

getComponentProperty(objectId, callback)

获取构件属性

Parameters
名称 必填 类型 说明 示例
objectId Y String 构件的objectId
callback(data) Y Function 加载成功之后的回调函数,回调函数的参数见下表
Callback Parameters
名称 类型 说明
data Json Object 构件属性
getModeTree(callback)

获取模型构件目录结构树

Parameters
名称 必填 类型 说明
callback(data) Y Function 加载成功之后的回调函数,回调函数的参数见下表
Callback Parameters
名称 类型 说明
data Json Object 模型构件目录结构树
getFamilyTypes()

获取族类型
注:仅适于 .rfa 文件格式

Returns
类型 说明
String Array 族类型列表
showFamilyTypeById(typeId)

切换族类型
注:仅适于 .rfa 文件格式

Parameters
名称 必填 类型 说明 示例
typeId Y String 族类型id
enableFullScreen(enabled)

全屏

Parameters
名称 必填 类型 说明 示例
enabled Y Boolean 是否全屏显示 true
setBorderLineEnabled(enabled)

是否渲染轮廓线

Parameters
名称 必填 类型 说明 示例
enabled Y Boolean 是否渲染轮廓线 true
resize(width, height)

设置场景大小

Parameters
名称 必填 类型 说明 示例
width Y Number 场景的宽度,单位:px 800
height Y Number 场景的高度,单位:px 600
addEventListener(eventName, handler)

增加监听事件

Parameters
名称 必填 类型 说明 示例
eventName Y Viewer3DEvent 事件名称
handler Y Function 处理事件的函数,参数见:Viewer3DEvent
removeEventListener(eventName, handler)

移除监听事件

Parameters
名称 必填 类型 说明 示例
eventName Y Viewer3DEvent 事件名称
handler Y Function 处理事件的函数,参数见:Viewer3DEvent