ViewerDrawing
类:二维矢量图纸
Constructor
new Glodon.Bimface.Viewer.ViewerDrawing(viewerDrawingConfig)
构造二维矢量图纸
Parameters:
Name | Type | Description |
---|---|---|
viewerDrawingConfig | Glodon.Bimface.Viewer.ViewerDrawingConfig | ViewerDrawing的配置项 |
Methods
addEventListener(event, callback)
注册监听事件
Parameters:
Name | Type | Description |
---|---|---|
event | Glodon.Bimface.Viewer.ViewerDrawingEvent | 监听事件 |
callback | Function | 监听事件的回调函数 |
addImage(id, url, min, max, callback)
根据左下角及右上角坐标在Viewer中载入图片
Parameters:
Name | Type | Description |
---|---|---|
id | String | 图片的ID |
url | String | 图片路径 |
min | Object | 图片的左下角坐标值,worldPosition,{x:,y:} |
max | Object | 图片的右上角坐标值,worldPosition,{x:,y:} |
callback | Function | 回调函数 |
addModel(viewMetaData, drawingId, fileId, id)
离线添加图纸方法
Parameters:
Name | Type | Description |
---|---|---|
viewMetaData | Object | ViewMetaData对象,BimfaceSDKLoader成功加载后的返回信息 |
drawingId | String | 图纸ID |
fileId | String | 文件ID |
id | String | 拆分图纸序号,如果是未拆分的图纸,可不填;如果是拆分后的图纸,则为必填项 |
clearBoundingBox()
清除所有包围盒
clearHighlight()
清除图元高亮
clearImages()
清空所有图片
clearSelection()
清除图元选中
clientToWorld(clientPosition)
获取客户端坐标对应的世界坐标
Parameters:
Name | Type | Description |
---|---|---|
clientPosition | Object | 客户端坐标 |
Returns:
Type | Description |
---|---|
Glodon.Web.Geometry.Point3d | 世界坐标 |
createSnapshotAsync(color, callback)
生成图纸当前的视图截图
Parameters:
Name | Type | Description |
---|---|---|
color | Glodon.Web.Graphics.Color | 截图的背景颜色 |
callback | Function | 返回截图的BASE64字符串的回调函数 |
destroy(destroyCanvas)
销毁二维场景
Parameters:
Name | Type | Description |
---|---|---|
destroyCanvas | Boolean | 是否销毁图纸对应的canvas。若不销毁,则仅解绑鼠标键盘的操作事件 |
enableContextMenu(isEnabled)
是否允许开启右键菜单栏
Parameters:
Name | Type | Description |
---|---|---|
isEnabled | Boolean | 是否允许开启右键菜单栏,默认为true |
enableCrossingSelection(isEnabled)
是否允许框选图元,默认为true
Parameters:
Name | Type | Description |
---|---|---|
isEnabled | Boolean | 是否允许框选图元,默认为true |
enableDrag(isEnabled)
设置是否允许视图场景拖动
Parameters:
Name | Type | Description |
---|---|---|
isEnabled | Boolean | 是否允许视图场景拖动,默认为true |
enableFullScreen(isEnabled)
设置是否进入全屏模式
Parameters:
Name | Type | Description |
---|---|---|
isEnabled | Boolean | 进入或者退出全屏状态 |
enableHover(isEnabled)
设置鼠标悬停效果
Parameters:
Name | Type | Description |
---|---|---|
isEnabled | Boolean | 开启或关闭鼠标悬停效果,必填 |
enableMiniMap(isEnabled, callback)
显示图纸小地图
Parameters:
Name | Type | Description |
---|---|---|
isEnabled | String | 是否显示 |
callback | Function | 小地图加载完成回调事件 |
enablePickEffect(isEnabled)
是否开启选中效果,默认为true
Parameters:
Name | Type | Description |
---|---|---|
isEnabled | Boolean | 是否开启选中效果,默认为true |
enableScale(isEnabled)
设置是否允许视图场景缩放
Parameters:
Name | Type | Description |
---|---|---|
isEnabled | Boolean | 是否允许视图场景缩放,默认为true |
enableSnap(isEnabled)
是否开启捕捉效果
Parameters:
Name | Type | Description |
---|---|---|
isEnabled | Boolean | 开启或关闭鼠标捕捉效果,必填 |
enableViewport(isEnabled)
是否以源文件视图状态打开,默认为false
Parameters:
Name | Type | Description |
---|---|---|
isEnabled | Boolean | 是否以源文件视图状态打开 |
endBoxSelection()
结束图纸框选
getBoundingBoxStyle()
获取图元包围盒的颜色
Returns:
Type | Description |
---|---|
Object | 包围盒样式 |
getBoxSelectionMode()
获取框选模式
Returns:
Type | Description |
---|---|
String | 获取框选模式:Default为默认模式,Window为Window交互方式,Crossing为Crossing交互方式 |
getCustomHomeview()
获取用户Home视图
Returns:
Type | Description |
---|---|
Object | 用户Home视图 |
getDefaultHomeview()
获取默认Home视图
Returns:
Type | Description |
---|---|
Object | 默认Home视图 |
getDisplayMode()
获取显示模式
Returns:
Type | Description |
---|---|
Boolean | 获取显示模式(0:普通模式:1:白底模式:2:黑白模式) |
getDrawing(modelId)
获取图纸对象
Parameters:
Name | Type | Description |
---|---|---|
modelId | String | 图纸ID,不传则返回默认图纸对象 |
Returns:
Type | Description |
---|---|
Glodon.Bimface.Model.Drawing | 指定图纸对象 |
getSceneBoundingBox()
获取场景包围盒
Returns:
Type | Description |
---|---|
Object | 场景包围盒坐标,如{"min": {"x": 0, "y": 0}, "max": {"x": 1000, "y": 1000}} |
getState()
获取当前图纸的浏览状态,用于保存后恢复图纸状态
Returns:
Type | Description |
---|---|
Object | 图纸浏览状态 |
getZoomFactor()
获取当前的缩放比例
Returns:
Type | Description |
---|---|
Number | 缩放的比例值 |
getZoomRatio()
获取滚轮缩放的倍率
Returns:
Type | Description |
---|---|
Number | 滚轮缩放的倍率 |
home()
进入Home视角
isDragEnabled()
是否允许视图场景拖动
Returns:
Type | Description |
---|---|
Boolean | 是否允许视图场景拖动 |
isEnableContextMenu()
是否开启了右键菜单栏,
Returns:
Type | Description |
---|---|
Boolean | 是否开启了右键菜单栏,默认为true |
isEnableCrossingSelection()
是否开启了图元框选
Returns:
Type | Description |
---|---|
Boolean | 是否允许框选图元,默认为true |
isScaleEnabled()
是否允许视图场景缩放
Returns:
Type | Description |
---|---|
Boolean | 是否允许视图场景缩放 |
loadDrawing(option, callback)
加载图纸
Parameters:
Name | Type | Description |
---|---|---|
option | Object | 加载图纸的参数对象 |
callback | Function | 回调函数 |
loadDrawings(drawings, callback)
批量加载图纸
Parameters:
Name | Type | Description |
---|---|---|
drawings | Array | 加载图纸参数对象的数组。 格式示例1:[{modelId: "2", frameId: 3, viewToken: "XXXXXX",}],frameId为拆图后的子图ID,非必填项,当不填写时加载指定viewToken的图纸数据,填写时则加载其拆图后的指定子图。 格式示例2:[{modelId: "2", fileId:10000743606705, sheetId: "582803",viewToken: "XXXXXX",}],其中,fileId为集成模型的子文件ID,如果是单模型,可以不填写。sheetId为rvt模型中导出图纸的ID,viewToken为对应的模型浏览凭证 |
callback | Function | 回调函数 |
recordCustomHomeview(state)
保存当前视图为用户Home视图
Parameters:
Name | Type | Description |
---|---|---|
state | Object | 状态,getState()返回的对象 |
rectZoom()
进入框选放大状态
removeAllDrawings()
移除所有图纸
removeDrawing(modelId)
移除图纸
Parameters:
Name | Type | Description |
---|---|---|
modelId | String | 图纸ID |
removeEventListener(event, callback)
注销监听事件
Parameters:
Name | Type | Description |
---|---|---|
event | Glodon.Bimface.Viewer.ViewerDrawingEvent | 监听事件 |
callback | Function | 监听事件的回调函数 |
removeImagesById(ids)
根据ID移除图片
Parameters:
Name | Type | Description |
---|---|---|
ids | Array | 图片ID列表 |
render()
图纸渲染,当修改了图纸的状态,必须手动调用render(),场景才会更新,如果同时需要调用多个函数,强烈建议在最后调用一次render()
resize()
重新适配窗口大小
restoreBackgroundColor()
恢复图纸背景颜色(仅对当前显示模式生效)
restoreElementsColorById(ids)
根据ID清除图元着色
Parameters:
Name | Type | Description |
---|---|---|
ids | Array | 图元ID |
restoreGlobalColor()
恢复全局图元颜色
search(option, successCallback, failureCallback)
对打开的CAD图纸的文本进行检索
Parameters:
Name | Type | Description |
---|---|---|
option | Object | 搜索选项 |
successCallback | Function | 搜索成功的回调函数 |
failureCallback | Function | 搜索失败的回调函数 |
setBackgroundColor(backgroundColor)
设置图纸背景颜色(仅对当前显示模式生效)
Parameters:
Name | Type | Description |
---|---|---|
backgroundColor | Glodon.Web.Graphics.Color | 图纸背景颜色 |
setBoundingBoxStyle(option)
设置包围盒样式
Parameters:
Name | Type | Description |
---|---|---|
option | Object | 包围盒样式的参数对象 |
setBoxSelectionMode(mode)
设置框选模式
Parameters:
Name | Type | Description |
---|---|---|
mode | String | Default:应用默认交互模式;Window:框选时默认应用Window方式;Crossing:框选时默认应用Crossing方式 |
setDisplayMode(printMode)
设置图纸显示模式
Parameters:
Name | Type | Description |
---|---|---|
printMode | Number | 0:普通模式 1:白底模式 2:黑白模式 3:自定义模式。 其中普通模式、白底模式和黑白模式在切换模式后会重置,自定义模式会读取在自定义模式下最后一次设置的背景颜色和全局图元颜色,分别通过setBackgroundColor()和setGlobalColor()接口设置 |
setGlobalColor(color)
设置全局图元颜色(仅对当前显示模式生效)
Parameters:
Name | Type | Description |
---|---|---|
color | Glodon.Web.Graphics.Color | 全局图元颜色 |
setGlobalOpacity(opacity)
设置图元的透明度
Parameters:
Name | Type | Description |
---|---|---|
opacity | Number | 透明度 (取值范围0~1) |
setNavigationMode(navigationMode)
设置导航模式
Parameters:
Name | Type | Description |
---|---|---|
navigationMode | Glodon.Bimface.Viewer.NavigationModeDrawing | 导航模式 |
setSnapMode(snapMode)
设置对象捕捉模式
Parameters:
Name | Type | Description |
---|---|---|
snapMode | Glodon.Bimface.Viewer.SnapMode | 捕捉模式 |
setState(state)
设置图纸视图的状态
Parameters:
Name | Type | Description |
---|---|---|
state | String | 状态,getState获得的state |
setZoomRatio(ratio)
设置滚轮缩放的倍率
Parameters:
Name | Type | Description |
---|---|---|
ratio | Number | 缩放倍率,默认为1.1 ,上限小于2 下限大于0 |
showBoundingBox(boundingBox, scale)
显示自定义包围盒
Parameters:
Name | Type | Description |
---|---|---|
boundingBox | Object | 自定义包围盒对象,如{"min": {"x": 0, "y": 0}, "max": {"x": 1000, "y": 1000}} |
scale | Number | 自定义包围盒外扩的比例,默认为0,范围[0,100];外扩的尺寸为scale乘以自定义包围盒长边的长度 |
showViewById(id)
根据视图ID显示相应的视图
Parameters:
Name | Type | Description |
---|---|---|
id | String | 视图ID,即viewId |
startBoxSelection()
开始图元框选
toModelId(id)
图纸图元ID换取对应的三维构件ID
Parameters:
Name | Type | Description |
---|---|---|
id | Number | 图纸图元ID |
Returns:
Type | Description |
---|---|
Number | 三维构件ID |
updateSceneBoundingBox()
更新场景包围盒
worldToClient(worldPosition)
获取世界坐标对应的客户端坐标
Parameters:
Name | Type | Description |
---|---|---|
worldPosition | Object | 世界坐标 |
Returns:
Type | Description |
---|---|
Object | 客户端坐标 |
zoom(zoomScale)
图纸缩放
Parameters:
Name | Type | Description |
---|---|---|
zoomScale | Number | 缩放数值 |
zoomIn()
图纸放大
zoomOut()
图纸缩小
zoomToBoundingBox(boundingBox, ratio)
将视口缩放至包围盒
Parameters:
Name | Type | Description |
---|---|---|
boundingBox | Array | 图元包围盒,如[[ 135821, 110349],[137970,113753]],定义左下角和右上角世界坐标 |
ratio | Number | 包围盒缩放比例,默认为0.5 |
zoomToObject(option)
缩放并高亮图元
Parameters:
Name | Type | Description |
---|---|---|
option | Object | 缩放并高亮的参数对象 |