2D Viewer集成API详细说明

1. 控制类属性说明

这些属性在控制类 nd_viewCtrl 设置好后即可使用。

属性名 说明 类型 可选值 默认值
src 设置模型地址 String 必填,如:相对路径,绝对路径,http地址 -
fingerHttp 设置云api地址 String 必填,如:http地址 -
language 中英文配置 String 非必填,如zhen zh
hidebtnCfg 设置功能按钮隐藏,showbtnCfg未定义或者空时生效 Array 非必填,隐藏按钮的id合集, 配置见枚举值 -
showBtnCfg 设置工具栏按钮集合,按顺序排列,用于显示需要的操作按钮,传值为对应按钮id,按按钮显示顺序排列 Array 非必填, 配置见枚举值 不做设置的时默认显示所有项
bgColor 设置背景颜色,优先级低于bgImg,bgImg有值时背景颜色不生效 String 非必填,十六进制颜色值或者RGB值,例如#F8F8FF或者248,248,255 #F2F2F2
unitType 设置模型单位 String 非必填,'原始模型的单位 :‘’,毫米(公制单位):'mm',英尺(英制单位):'in' -
configNum 设置多配置模型默认显示第几个配置 Number 非必填,如:012 -1
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'} -
waterInfo 设置水印信息,如水印字体大小,水印横行纵向距离等 Object 非必填,如:
{ 
text : "顺势勘避纪算祸", 
font : "Microsoft YaHei", 
fontSize: 18, 
bold : true, 
xstart : 16, 
ystart : 85, 
interval_v : 100, 
interval_h : 150, 
color : '#ff0000', 
angle : 25, 
transparent: 0.1, 
brepeat : true, 
imageSize : 200, 
imageSrc: ''
}
-
magnifyingSetting 测量放大镜配置 Num 0-默认;1-左上; 2-右上; 3-右下; 4-左下 -
newAnnoList 批注数据(非热点批注) Array 非必填,参考批注接口返回数据 -

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
-
exportExcel 表格提取点击导出excel,接受提取数据 Function(blob, fileName, cc) blob:文件流
fileName:轻量化文件名称
cc:回调函数
-
compareInsertModel viewer通知点击了模型对比-添加模型。配合nd_compareInsertModel使用插入模型 function() - -
exitModelCompare viewer通知点击了退出图纸对比功能 function () - -
addPostil 非热点批注新增 Function (data, cc) {} data: 批注数据
cc: 回调函数
-
editPostil 非热点版批注编辑 Function (data, cc) {} data: 批注数据
cc: 回调函数
-
delPostil 非热点版批注删除 Function (data, cc) {} data: 批注数据
cc: 回调函数
-

3. 控制类接口说明

以下方法需要获取Viewer全局对象后再调用,参考快速集成中 viewer.js的截图方法。

方法名 说明 类型 参数 返回值
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 -
nd_compareInsertModel 模型对比-插入模型 Function(path) path:模型地址, 如,http://xx.xx.xx.xx/models/物流机器人/ -
nd_getNewAnnoList 获取所有批注(非热点)信息 Function Array:所有批注数据

4. 枚举值说明

hideBtnCfg完整配置:

说明:集成方可以自定义配置,隐藏不需要的功能菜单。示例:hidebtnCfg: ['#ico-Tagging']

'#ico-Tagging', // 1批注
'#ico-measure', // 1测量
'#ico-viewports', // 1视图
'#ico-structure', // 1图层
'#ico-show', // 1显示隐藏批注
'#ico-lineWeight',	// 1线宽
'#ico-textFind',	// 1文字查找
'#ico-excelGet',	// 1表格提取
'#ico-blockSearch', // 1图块查找
'#ico-zoomwindow', // 1框选放大
'#ico-home', // 1重置
'#ico-full', // 1全屏
'#ico-settings', // 1设置

'#ico-coordinate', // 2坐标
'#ico-distance', // 2距离
'#ico-continuousArea', // 2面积
'#ico-facade',	// 2立面
'#ico-radius', // 2半径
'#ico-lineAngel', // 2角度
'#ico-statisticalResult', // 2结果统计
'#ico-meaScale', // 2测量设置

'#ico-tagGraphic', // 2热点批注
'#ico-annoText', // 2文字批注
'#ico-freehandLine', // 2手绘批注
'#ico-cloudLine', // 2云线批注
'#ico-circleAnno', // 2圆批注
'#ico-rectangleAnno', // 2矩形批注
'#ico-lineAnno', // 2直线批注
'#ico-annoArrow', // 2箭头批注
  
'#ico-pt2pt', // 3距离-点到点
'#ico-continuousLine', // 3连续测量
'#ico-edges', // 3线段长度
'#ico-arcLength',// 3 3点弧长
'#ico-pt2line', // 3距离-点到线
'#ico-line2line', // 3距离-线到线
'#ico-Lineargauge', // 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'
三点弧长: 'ThreeptArc'
立面: 'facade'