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'