2DViewer集成API详细说明
1. 控制类属性说明
这些属性在控制类nd_viewCtrl设置好后即可使用。
属性名 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
src | 设置模型地址 | String | 必填,如:相对路径,绝对路径,http地址 | - |
fingerHttp | 设置云api地址 | String | 必填,如:http地址 | - |
language | 中英文配置 | String | 非必填,如zh,en | zh |
hidebtnCfg | 设置功能按钮隐藏,showbtnCfg未定义或者空时生效 | Array | 非必填,隐藏按钮的id合集, 配置见枚举值 | - |
showBtnCfg | 设置工具栏按钮集合,按顺序排列,用于显示需要的操作按钮,传值为对应按钮id,按按钮显示顺序排列 | Array | 非必填, 配置见枚举值 | 不做设置的时默认显示所有项 |
bgColor | 设置背景颜色,优先级低于bgImg,bgImg有值时背景颜色不生效 | String | 非必填,十六进制颜色值或者RGB值,例如#F8F8FF或者248,248,255 | #F2F2F2 |
unitType | 设置模型单位 | String | 非必填,'原始模型的单位 :‘’,毫米(公制单位):'mm',英尺(英制单位):'in' | - |
configNum | 设置多配置模型默认显示第几个配置 | Number | 非必填,如:0,1,2等 | -1 |
allTags | 设置初始化时图文批注数据,需要与图文批注接口配合使用 | Array | 非必填,[] | [] |
logoConfig | 配置logo参数,规则: 1,不传入src将无法预览, 2,不传入width,height以图片宽高为准, 3,不传入位置默认距离底部85px,距离左侧16px, 4,同时传作左右或上下,优先读取左和下,只传一个就读取一个值 |
Object | 非必填,如:{src: 'http://****', left:
'100px', bottom:
'100px'}, src:图片地址, top:距离顶部距离与bottom互斥, left:距离左侧距离,与right互斥。 width,height:宽高设置 |
- |
vipBtnCfg | 配置哪些功能使用vip图标,仅中英文模式下生效 | Array | 非必填,如,['#ico-Tagging'] | - |
themeMenu | 配置主题功能图标文件夹名称,与ico-zh同级,功能图标会优先从配置的文件夹名称中读取 | string | 非必填,如:test | - |
viewports | 初始化时设置视图列表信息。配合视图相关接口使用 | Array | 非必填,如[] | - |
measureSetting | 初始化前进行测量设置 | Object | - | - |
measureList | 初始化时回显测量数据 | Array | - | - |
viewerReqHeader | 对轻量化文件如Configurations.json配置请求头,业务端可以在在此配置中进行安全校验 | Object | 非必填, 如:{'token': 'test'} | - |
2. 控制类方法说明
这些方法在控制类nd_viewCtrl设置好后即可使用。
方法名 | 方法说明 | 入参 | 入参说明 | 返回值 |
---|---|---|---|---|
initLoad | 模型加载完成的通知 | - | - | - |
loadFaild | 模型加载失败的通知 | - | - | - |
loadedEvent | 模型加载过程的通知 | Function(info) | geometry,brep,pmi信息加载完成后会进行通知 | - |
checkEvent | 菜单按钮点击前触发的通知 | Function(id,cc) | id:菜单按钮的唯一标识, cc:回调函数,执行后才能进入菜单功能 |
- |
checkEventAfter | 菜单按钮点击生效后触发的通知 | Function(id) | id:菜单按钮的唯一标识 | - |
beSelectPoint | 在模型区域点击后,返回屏幕坐标值 | Function(point) | point:坐标值,可以根据此坐标值去调用接口,创建批注信息, point.x:x坐标值, point.y:y坐标值 |
- |
addModelview | 添加视图回调 | function(d, i, cc) | d:视图信息, i:截图信息, cc:回调函数 |
- |
delModelview | 删除视图回调 | function(id, cc) | id:视图id, cc:回调函数 |
- |
renameModelview | 编辑视图回调 | function(id, viewport) | id:视图id, viewport:视图信息 |
- |
editTreeNodeName | 编辑结构树名称 | Function(treeNode) | treeNode:被编辑的节点信息 | - |
measureChange | 当测量数据发生变化时的通知 | Function({type, data}) | type: 'delete': 删除数据-单条 'edit': 修改数据-单条 'add': 新增数据-单条 'deletes': 批量删除 'editList': 批量修改 'addContinuous': 批量新增 data: 单条数据 -- 返回object 批量数据--返回array |
- |
3. 控制类接口说明
以下方法需要获取viewer全局对象后再调用,参考快速集成中viewer.js的截图方法。
方法名 | 说明 | 类型 | 参数 | 返回值 |
---|---|---|---|---|
nd_addTag | 新增批注 | Function | — | void,界面完成添加操作会触发onAddTag/onAddPicTag |
nd_delTag | 删除批注 | Function(id) | 批注id | void |
nd_updateTagtext | 修改批注文案 | Function(id,text) | id:String类型,批注id
text:String类型,批注文案,字符串长度不能超过50 |
更新文本后的批注对象 |
nd_screenCapture | 生成模型预览截图,支持是否显示水印 | Function(cc, showWater) | cc:回调函数Function(imgbase64),用于接收返回结果。imgbase64是base64格式的图片数据。 showWater:截图是否显示水印 |
void |
nd_screenMainContent | 屏幕截图 | Function(cc) | cc:回调函数Function(imgbase64),用于接收返回结果。imgbase64是base64格式的图片数据 | void |
nd_getMeasuringScale | 获取测量比例 | Function | — | Array |
nd_createPicTag | 创建批注信息。集成方传入批注基本信息info,通过回调函数可以拿到完整批注信息,存储批注数据后执行cc回调函数通知viewer模型区域添加批注。info坐标点可通过beSelectPoint获取,或自行获取,坐标点要求是模型区域的相对坐标。 | Fucntion(info, callback) | info:
批注信息,包含x,y坐标点(必传),text文本信息(非必传),imgURL图片信息(非必传), 例如:{x: 200, y:200, text: '文本', imgURL: 'http://***'} callback(tag, cc):tag是viewer回传的批注信息,需要集成方存储起来,cc是回调函数执行后viewer区域会添加批注,存储操作通常是异步的,执行完后调用cc函数。 例子:nd_createPicTag({text: '批注文本', x: 475, y: 251, imgURL: ''}, (info, cc) => { console.log(info); setTimeout(() => {cc()}, 500)}) |
- |
nd_resize | 显示区域自适应 | Function | — | void |
nd_render | 刷新渲染 | Function | — | void |
nd_getViewportList | 获取视图列表信息 | Function | — | Array:全部视图列表 |
nd_updateViewportById | 编辑视图 | Function | uuid:视图id(必填) name:视图名称(必填) |
void |
nd_setAllModelViewData | 加载视图 | Function | Array对象数据,参照获取试图信息返回数据格式 | void |
nd_deleteViewport | 删除视图 | Function | uuid:视图id(必填) | void |
nd_getMeasureList | 获取所有测量数据 | Function | - | Array:所有测量数据 |
nd_delMeasureResult | 通过uuid删除指定测量数据 | Function(uuid) | 指定测量数据的uuid | - |
4. 枚举值说明
hideBtnCfg完整配置:
说明:集成方可以自定义配置,隐藏不需要的功能菜单。示例:hidebtnCfg: ['#ico-Tagging']
'#ico-Tagging', // 1批注
'#ico-measure', // 1测量
'#ico-structure', // 1图层
'#ico-show', // 1显示隐藏批注
'#ico-lineWeight', // 1线框
'#ico-textFind', // 1文字查找
'#ico-color', // 1背景色
'#ico-unit', // 1单位设置
'#ico-zoomwindow', // 1框选放大
'#ico-home', // 1重置
'#ico-full', // 1全屏
'#ico-coordinate', // 2坐标
'#ico-distance', // 2距离
'#ico-edges', // 2线段长度
'#ico-continuousLine', // 2连续长度
'#ico-continuousArea', // 2面积
'#ico-radius', // 2半径
'#ico-lineAngel', // 2角度
'#ico-meaScale', // 2设置比例
'#ico-measureClear', // 2清空
'#ico-smart1', // 3距离-智能测量,showBtnCfg对应为ico-smartdis
'#ico-pt2pt', // 3距离-点到点
'#ico-pt2line', // 3距离-点到线
'#ico-line2line', // 3距离-线到线
'#ico-Lineargauge', // 3距离-线性测量
'#ico-holeDist', // 3距离-圆心距
'#ico-axis2pt', // 3距离-圆心到点
'#ico-axis2line', // 3距离-圆心到线
showBtnCfg配置:
说明:showBtnCfg是一个功能数组集合。每个功能按钮为一个对象,有3个属性,id:功能,list:子功能,imgUrl:功能图标。所有功能按钮见hideBtnCfg枚举配置。可调整数据下标位置来调整viewer功能菜单位置。例子如下:
showBtnCfg: [
{
id: 'ico-structure',
imgUrl: 'https://img2.baidu.com/it/u=3378489420,685425476&fm=253&fmt=auto&app=120&f=JPEG?w=500&h=500'
},
{
id: 'ico-measure',
list: [
{
id: 'ico-distance',
list: [
{
id: 'ico-smartdis'
}
]
}
]
},
],
measureType测量类型
坐标: 'coordinate'
点到点: 'pt2pt'
点到线: 'PointToLine'
线到线: 'LineToLine'
连续测量(总长): 'continuousEnd'
线段长度: 'measureEdges'
线型测量: 'Lineargauge'
面积: 'contourarea'
角度: 'LineAngle'
半径: 'radius'