快速接入

  1. 将viewer资源包存放到业务端项⽬中,资源包截图如下。
  2. 创建网页集成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>
  3. 加载模型。

    在window.onload事件中调用控制类方法 nd_viewCtrl.init 即可进行模型加载 。

  4. 控制类方法和对外方法详细说明。
    Table 1. 控制类方法详细解:
    属性 类型 说明 回调参数
    src String 初始化模型地址。不 赋值时为独入口 -
    init(opt) Function 初始化模型 opt:业务端可传入自定义的参数用于修改控制类属性
    hidebtnCfg Arrary 配置隐藏功能按钮,

    打开:#ico-import

    保存:#ico-publish

    -
    fingerHttp String 设置云api地址 -
    initLoad() Function 模型加载完成后的通 知 -
    loadFaild() Function 模型资源加载错误 -
    initAloneModel(cc) Function 独立入口时点击了导入文件时触发 cc:回调函数,传值模型地址并执行,即可在独立入口初始化模型
    insertAddModel() Function 动画工具点击"插 入"按钮时触发,可配合nd_insertAddModel接口插入模型 -
    insertModelFail() Function 动画工具“插入”模型失败 -
    insertModel() Function 动画工具点击了“打开”按钮时触发,可配 合替换模型的接口 nd _insertModel 使用 -
    initAddModelLoad() Function 通过按钮"打开"模型加载成功 -
    initAddModelFaild Function 通过按钮"打开"模型加载失败 -
    publishAniModel({name, jsBlob, path}) Function 动画工具点击’保存’模型时触发。业务端会 收到回调信息,将文件流jsBlob解压到保存地址path,轻量化文件的动画即制作完成。通过调用 nd_pub lishAniSuccess或nd_ publishAniFaild接口通知viewer保存成功/ 失败 jsBlob: 动画发布的文件

    path:动画发布文件 的保存路径

    Table 2. Viewer对外方法详解:
    属性 类型 说明 入参 返回值
    nd_insertModel (url) Function 替 换 / 打 开 模 型。点击打开按 钮后,业务端调 ⽤此接⼝替换当 前主模型 url: 模型地址 -
    nd_publishAniS uccess() Function 通知动画⼯具发 布成功 - -
    nd_publishAniFaild() Function 通知动画⼯具发 布失败 - -
    nd_publishAniClear() Function 清除动画⼯具发 布状态 - -
    nd_insertAddModel Function(url) 根据模型地址插入模型, 在insertAddModel 方法触发后调用,鼠标会跟 随显示模型包围 盒,单击后模型插入到指定位置 url:模型地址 -
    nd_insertModel ByPosition function(url, par ams) 按位置插入模型,可以通过世 界矩阵 matrix 设置模型位置 url:模型地址 params:{matrix: [1,0,0,0,0,1,0,0,0, 0,1,0,100,0,0,1]} 模型世界矩阵信息 -
  5. 动画工具与业务端交互流程图。