API接口
# 1.1. 面剖切
接口名:ClipByPlan
说明:
开启面剖切。通过鼠标在场景内选择模型的构件面,创建剖切面,对场景内模型进行剖切显示。
参数:
无。
返回:
无。
示例:
_bwApi.ClipByPlan()。
# 1.2. 线剖切
接口名:ClipByLine
说明:
开启线剖切。通过鼠标在场景内绘制线,创建剖切面,对场景内模型进行剖切显示。
参数:
无。
返回:
无。
示例:
_bwApi.ClipByLine()。
# 1.3. 构件剖切
接口名:ClipByElement
说明:
开启构件剖切。通过鼠标在场景选择构件,构件剖切体,对场景内模型进行剖切显示。
参数:
无。
返回:
无。
示例:
_bwApi.ClipByElement()。
# 1.4. 剖切清除
接口名:ClipClear
说明:
清除场景内所有的剖切面,取消剖切显示。
参数:
无。
返回:
无。
示例:
_bwApi.ClipClear()。
# 1.5. 设置场景模型显示模式
接口名:SetSceneState( state )
说明:
清除场景内所有的剖切面,取消剖切显示。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| state | 字符串 | 是 | 显示模式 |
返回:
无。
显示模式:
| 名称 | 说明 | 示例 |
|---|---|---|
| 实体模式 | 模型显示为实体模式 | _bwApi.SetSceneState( "实体模式" ) |
| 线框模式 | 模型显示为线框模式 | _bwApi.SetSceneState( "线框模式" ) |
| 光滑模式 | 模型显示为光滑模式 | _bwApi.SetSceneState( "光滑模式" ) |
| 消隐模式 | 模型显示为消隐模式 | _bwApi.SetSceneState( "消隐模式" ) |
示例:
_bwApi.SetSceneState( "实体模式" )
# 1.6. 获取全部构件基础属性
接口名:getAllProperties
说明:
获取场模型的全部构件属性。
参数:
无。
返回:
消息返回。
消息说明:
消息关键字:"getAllProperties"。
示例:
_bwApi.ClipClear()。
返回消息示例:
window.addEventListener("message", async function (message) {
if ( message == null )
return;
if ( message.data == null )
return;
switch( message.data.command )
{
case "getAllProperties": // 返回模型全体属性。
{
var nvs = message.data.Data; // 提取属性数组。
console.log( nvs );
};
break;
default:
break;
}
});
# 1.7. 实景加载
接口名:LoadRealityURL( url )
说明:
加载实景模型。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| url | 字符串 | 是 | 实景地址。 |
返回:
无。
示例:
_bwApi.LoadRealityURL( “localhost:8000/tileset.json”)。
# 1.8. 地图显示
接口名:ShowDom( )
说明:
显示地图。
参数:
无。
返回:
无。
备注:
具体显示的影像与影像设置有关。
示例:
_bwApi.ShowDom()。
# 1.9. 地图隐藏
接口名:HideDom( )
说明:
隐藏地图。
参数:
无。
返回:
无。
示例:
_bwApi.HideDom()。
# 1.10. 设置地图
接口名:SetDom( name )
说明:
隐藏地图。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | 字符串 | 是 | 地图名称 |
返回:
无。
地图名称:
| 名称 | 说明 | 示例 |
|---|---|---|
| Bing Dom | 必应影像地图 | _bwApi.SetDom(“Bing Dom”) |
| Bing Street | 必应街道地图 | |
| Bing Dom+Street | 必应影像地图+必应街道地图 | |
| Bing Dom+TianDitu Label | 必应影像地图+天地图标注地图 | |
| Bing Dom+Gaode Label | 必应影像地图+高德标注地图 | |
| MapBox | MapBox影像地图 | |
| Gaode Dom | 高德影像地图 | |
| Gaode Dom+Label | 高德影像地图+高德标注地图 | |
| ArcGis Dom | ArcGis影像地图 |
示例:
_bwApi.SetDom(“Bing Dom”)。
# 1.11. 设置影像地图的透明度
接口名:SetDomAlpha( alpha)
说明:
定位到指定构件。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| alpha | 数字 | 是 | 0--1 |
返回:
无。
示例:
_bwApi.SetDomAlpha( 0.5 )。
# 1.12. 定位到构件
接口名:ZomToElements( ids)
说明:
定位到指定构件。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| ids | 字符串数组 | 是 | 构件id数组。 |
返回:
无。
示例:
_bwApi.ZomToElements( ["0x1f1"] )。
# 1.13. 获取全部附加属性
接口名:getAllAttachProperties()
说明:
获取模型构件附件属性。
参数:
无
返回:
消息返回。
消息说明:
消息关键字:"getAllProperties"。
示例:
无。
返回消息示例:
略。
# 1.14. 获取指定ID的附加属性
接口名:getAttachProperties( id)
说明:
获取指定构件的附加属性。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | 字符串 | 是 | 构件id。 |
返回:
消息返回。
消息说明:
消息关键字:"getAttachProperties"。
示例:
无。
返回消息示例:
略。
# 1.15. 添加、修改构件附加属性
接口名:setAttachProperties( id, className, name, value)
说明:
添加、修改构件附加属性及属性分类。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | 字符串 | 是 | 构件id |
| name | 字符串 | 是 | 属性标识,如果该表示不存在则添加,存在则修改对用的属性值。 |
| className | 字符串 | 是 | 属性分类名 |
| value | 字符串 | 是 | 属性值。 |
返回:
无。
示例:
_bwApi.setAttachProperties("0x1f1", "分类一", "属性项一",”属性值一”)。
备注:
附件属性支持基础属性和分类属性,支持一级分类。输入参数中,如果className为””则,标识设置基础属性,如name为””则表示添加分类,二者不可同时为空字符串。如果name为空字符串,则value值无用。如果二者都不为空字符串,则添加新分类同时在该分类下添加属性,如果属性已经存在,则修改改属性对应的值。
# 1.16. 添加、修改构件附加属性
接口名:deletAttachProperty( id, className, name)
说明:
删除构件附加属性及分类。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | 字符串 | 是 | 构件id |
| name | 字符串 | 是 | 属性标识,如果该表示不存在则添加,存在则修改对用的属性值。 |
| className | 字符串 | 是 | 属性分类名 |
返回:
无。
示例:
_bwApi.deletAttachProperty("0x1f1", "分类一", "属性项一")。
# 1.17. 开启选中回调
接口名:openSelChangeCallback()
说明:
开启三维场景构件单独选中事件回调,返回选中构件的ID及属性。
参数:
无
返回:
消息返回。
消息说明:
消息关键字:"onSelChange"。
示例:
无。
返回消息示例:
略。
# 1.18. 关闭选中回调
接口名:closeSelChangeCallback()
说明:
关闭三维场景构件单独选中事件回调,选中不再产生回调事件。
参数:
无
返回:
无。
示例:
无。
# 1.19. 设置构件颜色
接口名:setElementAddColor( id, r, g, b )
说明:
设置构件颜色。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | 字符串 | 是 | 构件id |
| r | 数字 | 是 | red 0--255 |
| g | 数字 | 是 | green 0--255 |
| b | 数字 | 是 | blue 0--255 |
返回:
无。
示例:
_bwApi.setElementAddColor("0x1f1", 0, 255, 0)。
备注:
如果构件本身使用材质,则颜色与材质叠加,否则替换显示颜色。
# 1.20. 设置构件透明度
接口名:setElementTransparency( id, transparency )
说明:
设置构件颜色。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | 字符串 | 是 | 构件id |
| transparency | 数字 | 是 | 透明度 0---1 |
返回:
无。
示例:
_bwApi.setElementTransparency("0x1f1", 0.5 )。
# 1.21. 清除构件颜色和透明度设置
接口名:clearElementAddColorAndTransparency( id)
说明:
清除构件的用户设置颜色和透明度。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | 字符串 | 是 | 构件id |
返回:
无。
示例:
_bwApi.clearElementAddColorAndTransparency("0x1f1" )。
# 1.22. 构件突出显示
接口名:highlightByElements( ids)
说明:
对指定的构件突出显示。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| ids | 字符串数组 | 是 | 构件id的数组 |
返回:
无。
示例:
_bwApi.highlightByElements(["0x1f1"] )。
备注:
在构件的外轮廓显示黑色线框。
# 1.23. 构件隔离显示
接口名:isolateByElements( ids)
说明:
对指定的构件进行隔离,隐藏之外的所有构件。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| ids | 字符串数组 | 是 | 构件id的数组 |
返回:
无。
示例:
_bwApi.isolateByElements(["0x1f1"] )。
# 1.24. 构件隐藏
接口名:hideByElements( ids)
说明:
对指定的构件进行隐藏。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| ids | 字符串数组 | 是 | 构件id的数组 |
返回:
无。
示例:
_bwApi.hideByElements(["0x1f1"] )。
# 1.25. 隔离清除
接口名:isolateClear( )
说明:
对隔离的构件进行清除,不在隔离显示。
参数:
无。
返回:
无。
示例:
_bwApi.isolateClear()。
# 1.26. 隐藏清除
接口名:hideClear( )
说明:
取消构件隐藏。
参数:
无。
返回:
无。
示例:
_bwApi.hideClear()。
# 1.27. 添加信息标签
接口名:addInfoLabel( id, type, name, info )
说明:
对指定的构件添加信息标签。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | 字符串数组 | 是 | 构件的id |
| type | 字符串 | 是 | 要添加的标签的类型,决定三维显示的图标。 |
| name | 字符串 | 是 | 标签显示的名称。 |
| info | 字符串 | 是 | 标签附带的信息。 |
返回:
无。
示例:
_bwApi.addInfoLabel( "0x1f1", "质量", "质量1", "质量1信息" )。
标签类型:(待甲方确认及提供图标图形)
| 名称 | 说明 |
|---|---|
| 质量 | 质量类标签。 |
| 安全 | 安全类标签。 |
| 隐患 | 隐患类标签。 |
备注:
同一个构件,同一类标签只能添加一个。添加后默认显示。
# 1.28. 删除信息标签
接口名:deleteInfoLabel( id, type )
说明:
删除指定的信息标签。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | 字符串数组 | 是 | 构件的id |
| type | 字符互传 | 是 | 要删除的标签的类型 |
返回:
无。
示例:
_bwApi.deleteInfoLabel( "0x1f1", "质量" )。
# 1.29. 显示信息标签
接口名:showInfoLabel( id, type )
说明:
显示指定的信息标签。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | 字符串数组 | 是 | 构件的id |
| type | 字符串 | 是 | 要显示的标签的类型 |
返回:
无。
示例:
_bwApi.showInfoLabel( "0x1f1", "质量" )。
# 1.30. 隐藏信息标签
接口名:hideInfoLabel( id, type )
说明:
隐藏指定的信息标签。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | 字符串数组 | 是 | 构件的id |
| type | 字符串 | 是 | 要显示的标签的类型 |
返回:
无。
示例:
_bwApi.showInfoLabel( "0x1f1", "质量" )。
# 1.31. 显示所有信息标签
接口名:showInfoLabelAll()
说明:
显示当前所有的信息标签。
参数:
无。
返回:
无。
示例:
_bwApi.showInfoLabelAll()。
# 1.32. 隐藏所有信息标签
接口名:hideInfoLabelAll( )
说明:
隐藏当前所有的信息标签。
参数:
无。
返回:
无。
示例:
_bwApi.hideInfoLabelAll( )。
# 1.33. 聚焦并凸显构件
接口名:ZoomAndHighLightElement( ids)
说明:
聚焦到指定的构件,并对构件进行凸显。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| ids | 字符串数组 | 是 | 构件的id 的数组 |
| type | 字符串 | 是 | 要显示的标签的类型 |
返回:
无。
示例:
_bwApi.ZoomAndHighLightElement([“0x111”] )。
# 1.34. 添加人员、车辆标签
接口名:addPersonLabel( id, x, y, z, type, name, info)
说明:
在场景中添加并显示人员、车辆的标签。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | 数字 | 是 | 人员、车辆的唯一标识。 |
| x | 数字 | 是 | 模型坐标系标签位置X 坐标值。 |
| y | 数字 | 是 | 模型坐标系标签位置Y 坐标值。 |
| z | 数字 | 是 | 模型坐标系标签位置Z 坐标值。 |
| type | 字符串 | 是 | 标签类型。 |
| name | 字符串 | 是 | 标签显示名称。 |
| Info | 字符串 | 是 | 标签关联信息。 |
返回:
无。
示例:
_bwApi.addPersonLabel( 1, -3100, 100, 0, "工人", "张三", "工人信息" )。
# 1.35. 更新人员、车辆标签的位置
接口名:updatePersonLabelPosition( id, x, y, z)
说明:
更新车辆、人员标签在模型场景中的位置。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | 数字 | 是 | 人员、车辆的唯一标识。 |
| x | 数字 | 是 | 模型坐标系标签位置X 坐标值。 |
| y | 数字 | 是 | 模型坐标系标签位置Y 坐标值。 |
| z | 数字 | 是 | 模型坐标系标签位置Z 坐标值。 |
返回:
无。
示例:
_bwApi.updatePersonLabelPosition( 1, -1200, 100, 0 )。
# 1.36. 删除人员、车辆标签的位置
接口名:deletePersonLabel( id)
说明:
从模型场中删除车辆、人员标签。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | 数字 | 是 | 人员、车辆的唯一标识。 |
返回:
无。
示例:
_bwApi.deletePersonLabel( 1 )。
# 1.37. 隐藏人员、车辆标签
接口名:hidePersonLabel( id)
说明:
设置人员、车辆标签为隐藏状态。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | 数字 | 是 | 人员、车辆的唯一标识。 |
返回:
无。
示例:
_bwApi.hidePersonLabel( 1 )。
# 1.38. 显示人员、车辆标签
接口名:showPersonLabel( id)
说明:
设置人员、车辆标签为显示状态。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | 数字 | 是 | 人员、车辆的唯一标识。 |
返回:
无。
示例:
_bwApi.showPersonLabel( 1 )。
# 1.39. 隐藏所有人员、车辆标签
接口名:hidePersonLabelAll()
说明:
设置所有人员、车辆标签为隐藏状态。
参数:
无。
返回:
无。
示例:
_bwApi.hidePersonLabelAll( )。
# 1.40. 显示所有人员、车辆标签
接口名:showPersonLabel()
说明:
设置所有人员、车辆标签为显示状态。
参数:
无。
返回:
无。
示例:
_bwApi.showPersonLabel( )。
# 1.41. 获取当前场景截图及视点信息
接口名:GetViewPointImgAndViewpoint()
说明:
获取当前模型场景的截图以及当前的视点信息。
参数:
无。
返回:
消息返回。
消息说明:
消息关键字:"onGetViewPointImgAndViewpoint"。
示例:
_bwApi.GetViewPointImgAndViewpoint( )。
# 1.42. 应用视点
接口名:GotoViewByViewpoint( viewPoint )
说明:
应用视点,场景跳转到视点所在位置。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| viewPoint | 结构体 | 是 | 视点信息,参看获取视点的返回值。 |
返回:
无。
示例:
略。
# 1.43. 添加视点标签
接口名:AddViewPointLabel( id, type, name, viewPoint )
说明:
在场中添加代表视点的标签。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| Id | 字符串 | 是 | 绑定标签的构件ID |
| type | 字符串 | 是 | 标签显示图标类型 |
| name | 字符串 | 是 | 标签显示名称 |
| viewPoint | 结构体 | 是 | 视点信息,参看获取视点的返回值。 |
返回:
无。
示例:
略。
# 1.44. 添加当前视点标签
接口名:AddViewPointLabelByNow( id, type, name)
说明:
将当前视点作为视点标签信息添加到模型场景。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| Id | 字符串 | 是 | 绑定标签的构件ID |
| type | 字符串 | 是 | 标签显示图标类型 |
| name | 字符串 | 是 | 标签显示名称 |
返回:
无。
示例:
略。
# 1.45. 删除一个视点标签
接口名:deleteViewPointLabel( id)
说明:
从场景中删除指定的视点标签。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| Id | 字符串 | 是 | 绑定标签的构件ID |
返回:
无。
示例:
略。
# 1.46. 显示一个视点标签
接口名:showViewPointLabel( id)
说明:
设置一个视点标签的显示状态的显示。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| Id | 字符串 | 是 | 绑定标签的构件ID |
返回:
无。
示例:
略。
# 1.47. 隐藏一个视点标签
接口名:hideViewPointLabel( id)
说明:
设置一个视点标签的显示状态的隐藏。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| Id | 字符串 | 是 | 绑定标签的构件ID |
返回:
无。
示例:
略。
# 1.48. 显示所有视点标签
接口名:showViewPointLabelAll( )
说明:
设置一个视点标签的显示状态的隐藏。
参数:
无。
返回:
无。
示例:
略。
# 1.49. 隐藏所有视点标签
接口名:hideViewPointLabelAll( )
说明:
设置一个视点标签的显示状态的隐藏。
参数:
无。
返回:
无。
示例:
略。
# 1.50. 属性查找
接口名:findElementByNv( name, value )
说明:
通过属性查找构件。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | 字符串 | 是 | 属性项名称 |
| value | 字符串 | 是 | 属性值。 |
返回:
消息返回。
消息说明:
消息关键字:"onFindByNvs"。
示例:
略。
# 1.51. 整体透明度设置
接口名:setTransparency( transparency)
说明:
设置模型透明都,构件个体设置优先级高于整体设置。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| transparency | 数值 | 是 | 透明度0---1 |
返回:
无。
消息说明:
无。
示例:
略。
# 1.52. 清除整体设置
接口名:clearTransparencyAndColor( )
说明:
清除模型整体的颜色和透明度设置。
参数:
无。
返回:
无。
消息说明:
无。
示例:
略。
# 1.53. 开启已有路径的路径漫游
接口名:startScript_LineRoam(lineName )
说明:
通过指定路径名称,开启已有路径的路径漫游。
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| lineName | 字符串 | 是 | 路径名称 |
返回:
无。
消息说明:
无。
示例:
略。
# 1.54. 停止正在播放的脚本
接口名:stopScript()
说明:
停止正在播放的脚本,包括但不限于路径漫游脚本。
参数:
无
返回:
无。
消息说明:
无。
示例:
略。
# 1.55. 暂停正在播放的脚本
接口名:pauseScript()
说明:
暂停正在播放的脚本,包括但不限于路径漫游脚本。
参数:
无
返回:
无。
消息说明:
无。
示例:
略。
# 1.56. 恢复暂停播放的脚本
接口名:resumeScript()
说明:
恢复暂停播放的脚本,继续播放,包括但不限于路径漫游脚本。
参数:
无
返回:
无。
消息说明:
无。
示例:
略。
# 1.57. 设置图层透明度
接口名:setTransparencyByCategory( categories, transparency )
说明:
按图层名指定图层所有构件的透明度
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| categories | 字符串数组 | 是 | 图层名数组 |
| transparency | 数值 | 是 | 透明度值0---1 |
返回:
无。
示例:
略。
# 1.58. 取消图层透明度及颜色设置
接口名:clearTransparencyAndColorByCategory( categories)
说明:
按图层名指定图层所有构件的透明度
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| categories | 字符串数组 | 是 | 图层名数组 |
返回:
无。
示例:
略。
# 1.59. 通过JSON数据创建脚本
接口名:startScriptByJson( json )
说明:
通过数据脚本描述数据创建脚本并自动设置为当前脚本
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| json | JSON格式数据 | 是 | 脚本数据,具体格式参考“脚本指南.docx” |
返回:
无。
示例:
略。
# 1.60. 通过JSON数据创建脚本并播放
接口名:startScriptByJson( json )
说明:
通过数据脚本描述数据创建脚本并自动开始播放
参数:
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| json | JSON格式数据 | 是 | 脚本数据,具体格式参考“脚本指南.docx” |
返回:
无。
示例:
略。
# 1.61. 开始播放当前脚本
接口名:startScript( )
说明:
开始播放当前脚本。
参数:
无。
返回:
无。
示例:
略。
# 1.62. 清除当前脚本
接口名:clearScript( )
说明:
清除当前脚本,清除脚本相关资源和效果。
参数:
无。
返回:
无。
示例:
略。
# 1.63. 设置地图的透明度
接口名:setMapTransparency( transparency)
说明:
设置地图层的透明度。
参数:
transparency 要设置的透明度值 0---1。0 表示不透明,1 表示全透明。
返回:
无。
示例:
略。
# 1.64. 获取当前选中的构件的ID
接口名:getAllSelElementIds( )
说明:
获取三维场景中当前选中的所有构件的ID。
参数:
无。
返回:
消息返回。
消息说明:
消息关键字:"getAllSelElementIds"。
示例:
略。