3D Viewer集成API详细说明

1. 控制类属性说明

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

属性 说明 类型 可选值 默认值
src 设置模型地址 String 必填,如:相对路径,绝对路径,http地址 -
fingerHttp 设置云api地址 String 必填,如:http地址 -
viewState 设置显示模式 String 非必填,配置见显示设置枚举值 shadedWithEdges
configNum 设置多配置模型默认显示第几个配置 Number 非必填,如:012 -1
language 中英文配置 String 非必填,如zhen zh
disratio 设置视角缩放系数,值小于1时,模型比默认大,值越小模型越大。值大于1时,模型比默认小,值越大模型越小。 Number 非必填,如:大于0的数字 1
angles 设置旋转角度,可配置模型分别在x、y、z轴逆时针旋转的度数 Array 非必填,[x,y,z]数值应为在-180到180之间的整数 -
defaultStandardView 设置视图,优先级低于angles,angles有值时视图参数不生效 String 非必填,配置见视图参数枚举值 -
bgColor 设置背景颜色,优先级低于bgImg,bgImg有值时背景颜色不生效 String 非必填,十六进制颜色值或者RGB值,例如#F8F8FF或者248,248,255 #F2F2F2
bgImg 设置背景图片 String 非必填,图片地址,注意图片的访问权限 -
showBtnCfg 设置工具栏按钮集合,按顺序排列,用于显示需要的操作按钮,传值为对应按钮id,按按钮显示顺序排列 Array 非必填, 配置见枚举值 不做设置的时默认显示所有项
hidebtnCfg 设置功能按钮隐藏,showbtnCfg未定义或者空时生效 Array 非必填,隐藏按钮的id合集,配置见枚举值 -
hideEstimateBox 设置隐藏体积面积卡片信息 Boolean 非必填,true/false false
tagRelateConfig 设置多配置下批注点是否关联配置 Boolean 非必填,true/false false
hideRightkeyBtnClass 设置隐藏右键选项 Array 非必填,["all"] 表示隐藏所有, 配置见鼠标右键枚举值 []
viewerBoxStyle 设置立方体位置 Object 非必填,如:{ top: '70px', right: '6px'} -
unitType 设置模型单位 String 非必填,'原始模型的单位 :‘’,毫米 (公制单位):'mm',英尺 (英制单位):'in
autoOpenStruct 设置是否默认打开结构树 Boolean 非必填,true/false false
setStructWidth 设置结构树默认打开宽度 Number 非必填,参考值:500 -
structAttrList 设置一个属性名数组,使结构树名称显示为“名称+属性值” 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:宽高设置
-
userInfo 配置用户信息,可在批注列表进行用户信息显示,属性包括,userName:用户名 Object 非必填,如 :{ userName: '吕布' } -
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: ''
}
-
measureList 设置回显测量数据,数组集合 Array 非必填,如:[item1, item2, ...] -
setBoxHide 设置立方体隐藏 Bool 非必填,默认false,设置true会隐藏立方体 -
setBottomToolHide 设置底部工具栏隐藏 Bool 非必填,默认false,设置true会隐藏底部工具栏 -
themeMenu 配置主题功能图标的文件夹名称,与打包后img/ico-zh资源同级。功能图标会优先从配置的文件夹名称中读取 String 非必填,如:test -
viewports 初始化时设置视图列表信息。配合视图相关接口使用 Array 非必填,如[] -
viewerReqHeader 对轻量化文件如Configurations.json配置http请求头,业务端可以用这个配置进行安全校验 Object 非必填 ,如:{'token': 'test'} -
selectCallBack 选中模型节点是否回调,配合selectObjectEvent方法使用 Bool 非必填,默认false,设置true选中节点会回调 -
filterParts 优化子件零件加载,示例:{ needs:[], ignores:[] };
needs和ignores只配置一种,同时配置只读取needs;
needs:加载需要的零件信息,会读取模型基础信息;
ignores:忽略不需要加载的零件,不会读取忽略的零件信息;
零件信息传入uuid集合
Object 非必填,如:{ needs: ["8dda955ace324f72a7da6f7c1bbe4397"] } -
selfMenuList 设置显示自定义按钮,默认,示例:[{ id: 'self-menu1', name: 'menu1', imgUrl: '',
clickEvent: function() { }, selected: false, imgSelectUrl: ''}]

id:自定义按钮id,不要重复,前面添加前缀self以作区分
selected:按钮选中状态
name:按钮名称,不要重复
imgUrl:未选中状态图片地址
imgSelectUrl:选中状态图片地址
clickEvent:按钮点击事件回调,可以在这里控制按钮选中状态
Array 非必填,如:
[
{ 
id: 'self-menu1', 
name: 'menu1', 
imgUrl: '', 
clickEvent: function () { }, 
selected: false, 
imgSelectUrl: ''
} 
]
-
srcList 用于设置加载多个模型,设置后src不生效,与mutipleTitle配合使用设置结构树根节点名称。示例:[url: '', matix: [], position: {x:0, y:0, z:0}, visible: true];
url:轻量化模型地址;
matrix:模型矩阵信息,不与postion同时设置;
postion:模型三维坐标信息,不与matrix同时设置;
visible:设置模型是否可见;
modelId:num类型,设置模型唯一id,不设置时自动递增;
注:设置多模型后,如果要使用nd_ **控制类接口,需要在参数中加上modelID
Array 非必填:如:
[ 
{ 
url: "./models/物流机器人",
modelId: 2, 
position: { x: 200, y: 200, z: 0 }, 
visible: true, 
} 
]
-
mutipleTitle 使用srcList加载多个轻量化文件时,设置结构树根节点名称 String 非必填 -
hideTagList 隐藏部分批注点,设置一个批注id的集合 Array 非必填 -
hideMeasureList 隐藏部分测量,设置一个测量id的集合 Array 非必填 -
settingsItem 回显设置项,某些设置项存在功能重叠时建议只设置其中一项,如背景色设置,配置见settingsItem枚举值 Object 非必填 -
modelCompare 模型对比参数,示例:{ isModelCompareMenu: true,modelUrl: "", modelName:["name1","name2"] }
isModelCompareMenu:是否直接进入模型对比
modelUrl:// 模型地址
modelName:////模型对比名称,未传直接读取模型名
Object 非必填 -
assemblyModelsInfo 设置子件模型按零件树信息加载,示例:[{"uuid":"KA5007450-2","version":1,"file_name":"","path":"","children":[]}]
uuid:子件uuid
version:子件版本号
file_name:子件名
path:子件地址
children:主零件下子件信息
Array 非必填 -

2. 控制类方法说明

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

方法名 方法说明 入参 入参说明 返回值
initLoad 模型加载完成的通知,返回当前配置下标 Function(configNum) configNum:多配置的配置下标 -
loadFaild 模型加载失败的通知 - - -
loadedEvent 模型加载过程的通知 Function(info) geometry,brep,pmi信息加载完成后会进行通知 -
checkEvent 菜单按钮点击前触发的通知 Function(id,cc) id:菜单按钮的唯一标识,
cc:回调函数,执行后才能进入菜单功能
-
checkEventAfter 菜单按钮点击生效后触发的通知 Function(id) id:菜单按钮的唯一标识 -
prepareModelCallBack 模型加载前回调结构树信息,此方法中可控制节点显示隐藏 Function(tree) tree:结构树信息,通过信息中的objectId可以在模型加载前设置节点显示隐藏 -
measureChange 测量信息变动,如新增、删除或隐藏时触发,返回单条测量数据和操作类型 Function(info, cc) info:单条测量数据
info.type:add为新增,delete为删除,clear为删除当前配置数据,hideIdList为隐藏部分数据
info.data:测量数据内容,例如,
{
"measureId": "9d99cd57-6a0a-405a-871f-
f9c947051b30", "measureType": "measureEdges", // 参考
枚举值, "measureNumResult": "420.13015747", "defaultUnit": "mm", "configNum": 0, "configName": "默认", "measureContent":{...} }
cc:回调函数,执行后Viewer继续进行下一步操作
-
saveMeasureInfo 保存测量信息,在测量菜单进行返回时才触发此方法 Function(info,cc) info:测量信息集合
cc:回调函数,执行后通知Viewer测量信息已保存
-
animationFinished 动画播放完成回调 Function(type) type:2-往复,1-循环,0-正常 -
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:被编辑的节点信息 -
selectObjectEvent selectCallBack设置为true才生效。选中模型后回传节点信息,包含属性、物件id等信息 Function(info) info:模型节点信息集合,取消选中时返回空数组[ ]。包含uuid、物件objectid、零件名称name、配置信息configName、configNum、属性信息PropertyCategories -
pluginLoadedEvent 用来通知Viewer内部的一些重要加载事件,如插件加载完成等。部分接口异步执行,可以通过获取此接口对应事件后再执行,如AppNexttick function(type) type:事件类型。AppNextick代表界面元素渲染完成,AllExtension代表插件加载完成 -
compareInsertModel Viewer通知点击了模型对比-添加模型。配合nd_compareInsertModel使用插入模型 function() - -
exitModelCompare Viewer通知点击了退出模型 对比功能 function() - -
hideTagsChange 批注列表中点击隐藏批注时触发,返回隐藏批注的id集合 function(ids) ids:隐藏批注的uuid集合 -
settingsChange 一些设置项改变时触发,返回修改值 function(info) info:修改的设置信息
info.type:设置项,配置见settingsItem枚举值
info.data:设置值,字符串或数组类型都有可能,建议转json字符串存储
info.selfColor:设置自定义背景色时,返回的色值
-

3. 控制类接口说明

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

类型 方法名 说明 类型 参数 返回值
普通接口 nd_getCameraInfo 获取相机信息 Function - Object
普通接口 nd_resize 显示区域自适应 Function - void
普通接口 nd_render 刷新渲染 Function - void
高级接口 nd_setViewBoxDir 设置视图 Function(viewType) viewType:String类型视图参数枚举值 void
高级接口 nd_setBackGroundColor 设置背景颜色 Function(color) 十六进制颜色值或者RGB值,例如#F8F8FF或者248,248,255 void
高级接口 nd_setBackGroundImage 设置背景图片 Function(bgImg) 图片地址 void
高级接口 nd_getModelTreeBase 获取结构树基础数据,包含物件ID,节点名称,世界矩阵,节点类型,子节点,persistentId,额外uuid,已编辑名称,参考名称 等信息,例如:
{
"objectid": "_1_0",
"name": "zpt.sldasm",
"children": [],
"matrix": null,
"type": "Model",
persistentId: null,
externalRefUuid: "",
editName: "",
referencename: ""
}
Function - Object
高级接口 nd_getObjectidList 获取模型树物件ID集合 Function - Array
高级接口 nd_getSelectList 获取选中物件ID集合 Function - Array
高级接口 nd_getProperty 获取物件ID对应属性信息 Function(id, cc(a,b)) id:物件id,可传入字符串类型或集合类型,字符串类型例子:"_77_61";集合类型例子:
["_77_61","_300_228"]
cc(a, b):回调函数,a为常规属性,b为自定义属性。
调用示例:
nd_getProperty(["_77_61","_300_228"], (a, b) => {console.log('常规属性:', a, '自定义属性:', b)})
Object
高级接口 nd_setVisibleState 设置模型树物件勾选状态 Function(idList,isVisible) idList:Array类型,树节点id集合
isVisible:boolean类型,true表示勾选,false表示不勾选
void
高级接口 nd_setSelectState 选中/取消选中指定物件 Function(idList,isSelect) idList:Array类型,物件id集合
isSelect:boolean类型,true表示选中,false表示取消选中
void
高级接口 nd_setSelectVisibleState 设置选中物件的显示/隐藏状态 Function(isVisible) isVisible:boolean类型,true表示显示,false表示隐藏 void
高级接口 nd_setTransparentState 设置指定物件的透明渲染状态 Function(idList,isTransparent) idList:Array类型,物件id集合
isTransparent:boolean类型,true表示透明操作,false表示取消透明
void
高级接口 nd_setSelectColor 设置选中物件的颜色 Function(color) color:String类型,十六进制颜色值或者RGB值,例如#F8F8FF或者248,248,255 void
高级接口 nd_enhancedDisplay 增强显示模型树节点 Function(id) id:String类型,物件id void
高级接口 nd_createMeasurePointNote 导入单条测点数据,入参无属性值时填null,入参数据为对象,如:
{
"point":{"x":0,"y":0,"z":0},
"notePlace":{"x":1,"y":1,"z":1},
"url":"http://10.122.92.200:8088/assets/images/派大星.jpg",
"picSize":160,
"inflection":true
}
Function({point,notePlace,url,inflection...}) point: 测点起点信息,包含x,y,z属性;
notePlace:测点数据放置位置,包含x,y,z属性;
url: 图片地址;
text:文本信息;
inflection:是否有折线
picSize:图片大小
void
高级接口 nd_createMeasurePointList 导入多条测点数据,需要传入一个数组集合 Function([{point,notePlace,url,inflection...}]) 同单条测试数据,但是需要传入一个数组集合 void
高级接口 nd_getMeasurePointData 获取所有测点数据 Function - Array
高级接口 nd_screenCapture 生成模型预览截图,支持是否显示水印 Function(cc, showWater) cc:回调函数Function(imgbase64),用于接收返回结果。imgbase64是base64格式的图片数据。
showWater:截图是否显示水印
void
高级接口 nd_screenMainContent 屏幕截图 Function(cc) cc:回调函数Function(imgbase64),用于接收返回结果。imgbase64是base64格式的图片数据 void
高级接口 nd_getScreenCaptureByData 自定义模型截图 Function(cc, data) cc:回调函数Function(imgbase64),用于接收返回结果。imgbase64是base64格式的图片数据
data:传入一个对象参数,用于配置截图样式,包含宽度width、高度height,压缩比scale,如:{width: 1580, height:900, scale: 2}
void
高级接口 nd_getTreeByProperty 根据属性名,或属性值,或属性名+属性值搜索节点信息,匹配模式为模糊搜索,支持多条搜索 Function (type, key) type:搜索类型,1为属性名,2为属性值,3为属性名+属性值
key:搜索关键字,属性名或属性值搜索例子:[’材料‘, ’质量‘],属性名+属性值搜索例子:[{”材料“: '100'}, { "质量": "200"}]
控制台示例:
nd_getTreeByProperty(1, [’材料‘, ’质量‘]) 或nd_getTreeByProperty(3, [{”材料“: '100'}, { "质量": "200"}])
Array
高级接口 nd_getMeasureList 获取测量信息集合 Function() - Array
高级接口 nd_setPerspectiveCameraInfo 设置投影相机位置,设置后会调整相机视角 Function(info) info: object对象,相机信息 -
高级接口 nd_setOrthographicCameraInfo 设置正交相机位置,设置后会调整相机视角 Function(info) info: object对象,相机信息 -
高级接口 nd_getAllMatrixByIds 根据物件id获取,获取变换矩阵和世界矩阵信息 Function(idList) idList:Array类型,物件id的集合,例如['o_b1'],获取方式可以参考nd_getSelectList Object
高级接口 nd_setWorldMatrixById 根据物件id设置世界矩阵 Function(id, matrix) id:物件id,获取方式可以参考nd_getSelectList,
matrix:世界矩阵信息,获取方式可以参考nd_getAllMatrixByIds
-
高级接口 nd_setMatrixById 根据物件id设置变换矩阵 Function(id, matrix) id:物件id,获取方式可以参考nd_getSelectList,
matrix:变换矩阵信息,获取方式可以参考nd_getAllMatrixByIds
-
高级接口 nd_hasModelPersistId 判断模型是否有persistId Function() - Bool
高级接口 nd_setSelectByPersistId 根据persistId设置节点是否选中 Function(id, bool) id:persistId,获取方式参考nd_getModelTreeBase,
bool: true为选中,false为取消选中
-
高级接口 nd_setViewExplode 设置爆炸因子 Function(explode) explode:爆炸因子数值在-10到10之间,负数为向模型中心点爆炸,爆炸因子为0的时候不爆炸 (与底部工具栏批注、测量、剖切、爆炸互斥,使用上述功能时,调用该接口不生效) -
高级接口 nd_setViewScale 设置缩放值 Function(isScale,scale) isScale: true缩小 false放大 scale:放缩系数为大于0,小于1000的正数 (与底部工具栏批注、测量、剖切互斥,使用上述功能时,调用该接口不生效) -
高级接口 nd_setViewTranslate 设置平移 Function(x,y) [x,y] 数值支持任意实数,传值是相对位置,(与底部工具栏批注、测量、剖切互斥,使用上述功能时,调用该接口不生效) -
高级接口 nd_setViewRotate 设置旋转 Function(x,y,z) [x,y,z] 数值支持任意实数(超过正负360度取余数),传值是相对位置,(与底部工具栏批注、测量、剖切互斥,使用上述功能时,调用该接口不生效) -
高级接口 nd_getPmiInfo 获取pmi列表信息接口。返回值包含
bodyNodeID:pmi关联的部件id,
bodyNodeName:pmi关联的部件名称,
id:pmi的id,
name:pmi的名称,
type:pmi的类型。
semanticPMI:MPI语义信息,详见PMI语义化说明
返回值示例:
[{ 
"id": "1080", 
"name": "半径尺寸 (17)", 
"type": "Dimension", 
"bodyNodeName": "nist_ctc_02_asme1_rc_nx1200_rb11.prt", 
"bodyNodeID": "o_2_0", 
semanticPMI: "" 
}]
Function - Array
高级接口 nd_setOpacityRatio 设置部件不透明度 function(ids, ratio) ids:部件的objectIdratio:不透明度,取值范围0-1例子:
nd_setOpacityRatio (['o_1', 'o_2'], [[0.1, 0.3], [0.2, 0.2]])
传递数组,部件下标和透明度下标对应。如果透明度设置的数组下只有一个值,但是部件有多个mesh,那么都按照这一个值进行设置
-
高级接口 nd_getOpacityRatioById 根据部件id获取部件不透明度 function(ids) ids:部件的objectId Array:部件下到mesh节点的不透明度
高级接口 nd_getAllObjectColorById 根据部件id获取部件颜色 function(ids) ids:部件的objectId Array:部件下到mesh节点的颜色
高级接口 nd_setObjectColor 设置部件颜色 function(ids, color) ids:部件的objectId集合
color:部件颜色集合,
十六进制颜色例子:
nd_setObjectColor(['o_1', 'o_2'], [['000000', '000000', ['000000']]),
如果颜色设置的数组下只有一个值,但是部件有多个mesh,那么都按照这一个值进行设置
-
高级接口 nd_getCurAniInstance 获取当前模型动画实例 function() - Array:当前配置的动画实例列表
高级接口 nd_setAniParams 修改动画参数 function(params) params.multiple(倍数):0.5/1/1.5/2/5
params.mode(模式):2-往复、1-循环、0-正常
-
高级接口 nd_animationPlay 播放动画 function(id) id:实例id -
高级接口 nd_animationPause 暂停、取消暂停动画 function() - -
高级接口 nd_animationStop 停止动画 function() - -
高级接口 nd_animationExit 退出动画 function() - -
高级接口 nd_getHideObjectidList 获取隐藏部件objectId集合 function() - Array:objectId集合
高级接口 nd_getViewportList 获取视图列表信息 function() - Array:全部视图列表
高级接口 nd_updateViewportById 编辑视图 function(uuid, name) uuid:视图id(必填)
name:视图名称(必填)
-
高级接口 nd_createViewport 创建视图 function(name) name:视图名称(非必填) -
高级接口 nd_deleteViewport 删除视图 function(uuid) uuid:视图id(必填) -
高级接口 nd_previewViewport 预览视图 function(uuid) uuid:视图id(必填) -
高级接口 nd_editTreeNodeName 编辑结构树名称 function(nodeList = []) nodeList:编辑结构树接口返回内容组成的集合 -
高级接口 nd_cancelPicTag 退出图文批注功能,仅在新增或编辑时进行退出 function() - -
高级接口 nd_selectHighLightHole 高亮/取消高亮孔接口 function(idList, bool) idList:孔集合,传入数组
bool:是否高亮,true为高亮,调用示例:nd_selectHighLightHole([5059,5063], true)
-
高级接口 nd_getFaceColor 根据id获取面颜色 function(persistIds, callBack) persistIds:persistId集合,传入数组;
callBack:回调函数,回调获取到的颜色数据;
-
高级接口 nd_getLineColor 根据id获取线颜色 function(persistIds, callBack) persistIds:persistId集合,传入数组;
callBack:回调函数,回调获取到的颜色数据;
-
高级接口 nd_setFaceColor 根据id设置面颜色,透明度(多选) function(persistIds, faceColor, faceOpacity) persistIds:persistId集合,传入数组;
faceColor:颜色的object。格式为{r:255,g:255,b:255,hex:axffa0ff}。若rgb和hex都设置值,优先使用rgb;
faceOpacity:透明度的浮点数。取值为8-1。可以设为undefined,为undefined则不改变面的透明度;
-
高级接口 nd_removeFaceMaterial 根据id移除面颜色,透明度(多选) function(persistIds, removeColor,removeOpacity) persistIds:persistId集合,传入数组;
removeColor:true移除颜色,false不移除颜色;
removeOpacity:true移除透明度,false不移除透明度;
-
高级接口 nd_setLineColor 根据id设置线颜色,透明度(多选) function(persistIds, color) persistIds:persistId集合,传入数组;
faceColor:颜色的object。格式为{r:255,g:255,b:255,hex:axffa0ff}。若rgb和hex都设置值,优先使用rgb;
-
高级接口 nd_removeLineMaterial 根据id移除线线颜色,透明度(多选) function(persistIds, removeColor) persistIds:persistId集合,传入数组;
removeColor:true移除颜色,false不移除颜色;
-
高级接口 nd_removeAllPrimitiveMaterials 删除所有线面颜色 function() - -
高级接口 nd_compareInsertModel 模型对比-插入模型 function(path) path:模型地址,如,http://xx.xx.xx.xx/models/物流机器人/ -
高级接口 nd_cancleSelfMenu 取消自定义按钮选中状态 function(id) id:取消选中按钮id,传入字符串 -
高级接口 nd_cancleAllSelfMenu 取消所有自定义按钮选中状态 function() - -
高级接口 nd_addModel 插入模型,需要传入模型相关信息 function(config) 与srcList设置内容保持一致,config传入一个对象;
config.url:轻量化模型地址;
config.matrix:模型矩阵信息,不与postion同时设置;
config.postion:模型三维坐标信息,不与matrix同时设置;
config.visible:设置模型是否可见;
config.modelId:num类型,设置模型唯一id,不设置时自动递增;
-
高级接口 nd_deleteModel 删除插入的模型 function(modelId) modelId:num类型,模型唯一的id -
高级接口 nd_getModelListInfo 插入模型后,获取模型列表信息 function() - Array,模型列表信息,包含:
name:模型根节点名称;
id:num类型,模型唯一id;
matrix:模型矩阵信息;
postion:模型三维坐标信息;
modelUri:模型model.js地址;
高级接口 nd_getExtensionUtil 根据插件名称获取插件对象 function(name) name:插件名称,一般是插件文件名 object:插件对象
高级接口 nd_startCompareModel 模型加载后直接接入模型对比功能 function(path) path:轻量化模型路径 -

4. 枚举值说明

Table 1. defaultStandardView视图参数枚举值
枚举值 说明
front
back
left
right
top
bottom
rightUpFront 右上前
backUpRight 后上右
leftUpBack 左上后
frontUpLeft 前上左
bottomFrontLeft 下前左
bottomRightFront 下右前
bottomBackRight 下后右
bottomLeftBack 下左后
Table 2. 显示设置枚举值
枚举值 说明
shadedWithEdges 边线上色
shaded 上色
hiddenLineVisible 隐线可见
hiddenLineRemove 隐线消除
wireframe 线框模式
transparent 透明模式
Table 3. 鼠标右键枚举值
枚举值 说明
all 隐藏所有右键
preview-link 当前标签页打开
proper-link 属性
choose-reverse 反选
set-color 设置颜色
rename 重命名
display-resert 显示设置
show-hide-exchange 显隐交换
back-to-begin 回到初始
isolate-link 突出显示
alone-link 单独显示
hide-link 隐藏显示
transparent-link 透明显示
unTransparent-link 取消透明
hideline-hide 隐线消除
hideline-see 隐线可见
pc-mtxt-wireframe 线框模式
revert 还原
ico-facePmi pmi正视
showBody 查看实体

hideBtnCfg完整配置:

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

'#ico-line',	// 1显示设置,showBtnCfg的id对应为ico-showSetting
'#ico-Tagging', // 1批注
'#ico-measure', // 1测量
'#ico-pmi', // pmi
'#ico-cutout', // 1剖切
'#ico-viewports', // 1视图
'#ico-explode', // 1爆炸
'#ico-structure', // 1结构树
'#ico-facecheck', // 1干涉检查
'#ico-modelCompare', // 1模型对比
'#ico-property', // 1属性
'#ico-display', // 1显示隐藏
'#ico-addcolor', // 1上色
'#ico-drag', // 1拖动
'#ico-boxselect', // 1框选
'#ico-settings', // 1设置
'#ico-screen',	// 窗口

'#ico-shadedWithEdges',	// 2边线上色
'#ico-shaded', // 2上色
'#ico-hiddenLineVisible', // 2引线可见
'#ico-hiddenLineRemove', // 2引线消除
'#ico-wireframe', // 2线框模式
'#ico-transparent-type', // 2透明模式
'#ico-touyin', // 2正交透视
'#ico-home', // 2重置视角

'#ico-tagPicText', // 2图文批注
'#ico-tagLine', // 2引线批注
		
'#ico-coutUsually', // 2基础剖切,showBtnCfg中id对应为ico-coutUsually
'#ico-coutBox', // 2盒剖切

'#ico-proEntity',	// 2指定属性
'#ico-proTotal', // 2总属性

'#ico-highLight', // 2突出显示
'#ico-displayHideOther', // 2单独显示
'#ico-displayHide', // 2隐藏显示
'#ico-transparent', // 2透明显示
'#ico-displayResert', // 2全部还原

'#ico-dragMove', // 2单个拖动
'#ico-dragRestore', // 2单个复位
'#ico-dragRestoreAll', // 2全部复位
		
'#ico-plus', // 2框选放大
'#ico-highlight', // 2框选高亮
'#ico-lasso',	// 套索选取

'ico-coordinate',	// 2坐标
'#ico-distance', // 2距离
'#ico-length', // 2长度
'#ico-angle', // 2角度
'#ico-radius', // 2半径
'#ico-ellipse', // 2椭圆
'#ico-lineargauge', // 2线性测量
'#ico-wallThickness', // 2壁厚
'#ico-area', // 2面积
'#ico-volumweight', // 2体积重量
'#ico-boundingbox', // 2包围盒
'#ico-statisticalResult', // 2统计结果
'#ico-measureClear', // 2清空

'#ico-addcolor-key',	// 2一键上色
'#ico-addcolor-entity',	// 2实体
'#ico-addcolor-plane',	// 2面/线
  
'#ico-full',	// 2全屏
'#ico-vport',	// 2窗口

'#ico-smartdis', // 3距离-智能测量
'#ico-pt2pt', // 3距离-点到点
'#ico-pt2line', // 3距离-点到线
'#ico-pt2face', // 3距离-点到面
'#ico-line2line', // 3距离-线到线
'#ico-line2face', // 3距离-线到面
'#ico-face2face', // 3距离-面到面
'#ico-holeDist', // 3距离-圆心距
'#ico-axis2pt', // 3距离-孔轴到点
'#ico-axis2line', // 3距离-孔轴到线
'#ico-axis2face', // 3距离-孔轴到面

'#ico-smartlen', // 3长度-智能测量
'#ico-edges', // 3线测量
'#ico-perimeter', // 3周长

'#ico-smartang', // 3角度-智能测量
'#ico-lineAngel', // 3线夹角
'#ico-faceAngle', // 3面夹角
'#ico-linefaceAngle', // 3线面夹角

'#ico-lmPt2Pt', // 3线性测量-点到点
'#ico-lmPt2Line', // 3线性测量-点到线
'#ico-lmLine2Line', // 3线性测量-线到线
'#ico-lmHole2Hole', // 3线性测量-圆心距
'#ico-lmAxis2Pt', // 3线性测量-孔轴到点
'#ico-lmAxis2Line', // 3线性测量-孔轴到线

'#ico-areaFace', // 3面积-指定面
'#ico-areaEntity', // 3面积-指定实体
'#ico-areaTotal', // 3面积-总面积

'#ico-vol-boundingboxEntity', // 3体积重量-指定实体
'#ico-volumTotal', // 3体积重量-总体积重量

'#ico-boundingboxEntity', // 3包围盒-指定实体
'#ico-boundingTotal', // 3包围盒-总包围盒
  
'#ico-vportOne',	// 3单一视图
'#ico-vportTwoV',	// 3二视图-水平
'#ico-vportTwoL',	// 3二视图-垂直
'#ico-vportFour',	// 3四视图
'#ico-vportLink',	// 3连接视图

showBtnCfg配置:

说明:showBtnCfg是一个功能数组集合。每个功能按钮为一个对象,有3个属性:
  • id:功能菜单标识,参考hideBtnCfg并去掉"#"
  • list:子功能
  • imgUrl:功能图标
所有功能按钮见hideBtnCfg枚举配置。可调整数据下标位置来调整Viewer功能菜单位置。代码参考示例:
  showBtnCfg: [
    { 
		id: "ico-Tagging",
		imgUrl: 'https://img2.baidu.com/it/u=3378489420,685425476&fm=253&fmt=auto&app=120&f=JPEG?w=500&h=500'
              },
    { 
			id: "ico-showSetting", 
			list: [
				{
					id: 'ico-touyin',
				},
				{
					id: 'ico-wireframe',
				}
			] 
		},
    { 
			id: "ico-measure",
			list: [
				{
					id: 'ico-distance',
					list: [
						{
							id: 'ico-pt2pt',
						},
						{
							id: 'ico-axis2face',
						}
					]
				}
			]
		},
  ],

settingsItem配置:

说明:settingsChange方法会返回不同的type,用于区别不同设置项,集成方可存储后设置settingsItem进行回显。

Table 4. settingsItem枚举值
枚举值 说明
measureUnit 单位设置
measureDecimal 小数位设置
background 背景色设置
selfColor 背景色设置中的自定义背景色值

5. 开放PMI、属性翻译对照表

说明:提供了一个coreviewer\External\Translate.js外置文件,通过修改属性名或属性值创建新的翻译对照。

翻译规则:Viewer会将PMI或自定义属性显示的内容按照对照表进行翻译,如“Geomtol”翻译为"几何特征",允许新增一组新的翻译对照。

截图参考: