快速接入
1. 快速接入流程
- 将 viewer 资源包存放到业务端项目中,资源包截图如下:
- 创建网页集成 viewer
资源,代码参考如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport"> <title></title> </head> <body> <!-- 用于放模型展示的iframe,id不能修改 --> <div id="iframeDiv"> </div> </body> <!-- 引入公共控制类,用于控制模型外部数据传递--> <script src="viewer.js"></script> <script> window.onload = function () { nd_viewCtrl.init({ src:"models/bim" //轻量化文件所在文件夹路径 }); } </script> </html>
- 加载模型。
在
window.onload
事件中调用控制类方法 nd_viewCtrl.init 即可进行模型加载。
2. 控制类方法nd_viewCtrl.init介绍
控制类方法 nd_viewCtrl.init 相关属性参数介绍见下表:
属性 | 类型 | 说明 | 回调参数 |
---|---|---|---|
src | String | 初始化模型地址,独立入口不用赋值。 | --- |
allTags | Arrary | 用于在初始化时渲染批注数据。请参考4.1 tag参数。 | --- |
hidebtnCfg | Arrary | 用于配置功能按钮隐藏。 | --- |
meterialHttp | String | 材质库公共材质域名,当viewer域名和业务端域名不一致时使用,指向viewer资源包根目录。 | --- |
limitInsertModel | Boolean | 设置为true 时限制插入功能。 |
--- |
init(opt) | Function | 初始化模型。 | opt:业务端可传入自定义的参数用于修改控制类属性。 |
initLoad() | Function | 模型加载完成后的通知。 | --- |
loadFaild() | Function | 模型资源加载错误。 | --- |
initAloneModel(cc) | Function | 加载独立入口模型。 | cc:回调函数。 |
insertModel(cc) | Function | 单击插入模型后触发。 | cc:回调函数。 |
initAddModelLoad() | Function | 插入模型成功后触发。 | --- |
initAddModelFaild() | Function | 插入模型失败后触发。 | --- |
initDelModelLoad() | Function | 删除模型成功后触发。 | --- |
initDelModelFaild() | Function | 删除模型失败后触发。 | --- |
publishModel(cc) | Function | 单击发布模型后触发。 | cc:回调函数,第一个参数可传入发布模型名称,第二个参数为回调函数接受文件流。 |
getTempPicFile(i, cc) | Function | 用于将图片资源置换成可访问地址。 | i:图片base64资源。 cc:回调函数,需要将地址作为第一个参数。 |
getTempVideoFile(i, v, cc) | Function | 用于将视频资源置换成可访问地址。 | i:图片base64资源。 v:视频文件流资源。 cc:回调函数,需要将图片地址作为第一个参数,视频地址作为第二个参数。 |
publishMeterial(blob, name, cc) | Function | 单击导出材质后触发。 | blob:材质文件流。 name:材质文件名。 cc:回调函数。 |
3. viewer对外调用方法介绍
viewer对外调用方法相关属性参数介绍见下表:
属性 | 类型 | 说明 | 入参 | 返回值 |
---|---|---|---|---|
nd_insertModel(url) | Function | 插⼊模型,需要传入模型地址。 | url:轻量化文件模型地址 | --- |
nd_getPublishModel(name) | Function |
发布模型,传入模型根节点名称,调⽤接⼝后会返回一个promise,接受到发布文件流blob,文件流下载解压后是场景工具编辑后的轻量化文件。代码参考:nd_getPublishM
odel(name).then(blob => console.log(blob))
|
name:设置模型根节点名称 | 返回promise,接收blob⽂件流 |
nd_publishSuccess() | Function | 通知模型发布成功。 | --- | --- |
nd_publishFaild() | Function | 通知模型发布失败。 | --- | --- |
nd_initAlltag([tag, tag, ...]) | Function | 主动调用场景渲染工具批注。 | 批注数据集合。请参考4.1 tag参数。 | --- |
nd_getSenceAllTag() | Function | 获取场景渲染工具批注集合。 | --- | 批注数据集合。请参考4.2 returnTags参数。 |
nd_clearTagStaus() | Function | 可用于获取临时文件失败时调用,清理内部批注状态。 | --- | --- |
nd_renderMyMeterial(urlList) | Function | 获取场景渲染工具材质集合。 | urlList:材质文件列表。 | 材质文件链接地址的一个数组。 |