美文网首页
BIMFACE添加引线标签(二)

BIMFACE添加引线标签(二)

作者: 硅谷干货 | 来源:发表于2021-12-31 23:15 被阅读0次
前言

在做BIM项目的时候,客户提了个为BIM标签添加引线的需求,开始只想着自定义,发现实现起来都差点意思,鼠标控制旋转的时候总有瑕疵,接着翻看BIMFACE官方文档,终有收获。

实现效果如图
image.png
官方示例代码如下
<!DOCTYPE html>
<html lang="en">

<!-- 自定义标签提供了强大的自定义能力,用户可自行构造标签,并将图表等内容放入其中 -->

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>自定义引线标签</title>
  <style type="text/css">
    * {
      margin: 0;
      padding: 0;
    }

    html,
    body {
      height: 100%;
    }

    .main {
      display: flex;
      flex-direction: column;
      overflow: hidden;
      height: 100%;
    }

    #domId {
      flex: 1;
    }

    .leadTips {
      display: flex;
      justify-content: start;
      width: auto;
      transform: translateY(-40px)
    }

    .leadTips img {
      display: inline-block;
      width: 49px;
      height: 40px
    }

    .leadText {
      display: block;
      background: #4a90e2;
      color: #fff;
      padding: 10px
    }
  </style>
  <script src="https://static.bimface.com/api/BimfaceSDKLoader/BimfaceSDKLoader@latest-release.js"></script>
  <script src="https://static.bimface.com/attach/24802b119f1c4740b120ad598ffcfd7e_ichart.1.2.js"></script>
  <script src="https://static.bimface.com/attach/b83e2d8a649b4155a121be7bafe41018_ichart.js"></script>
</head>

<body>
  <div class='main'>
    <!-- 定义DOM元素,用于在该DOM元素中显示模型或图纸 -->
    <div id="domId"></div>
  </div>
  <script type="text/javascript">

    let viewToken = '5f8a839785e54088aaf178b038c01a13';
    // 声明Viewer及App
    let viewer3D;
    let app;

    // 配置JSSDK加载项
    window.onload = function () {
      let loaderConfig = new BimfaceSDKLoaderConfig();
      loaderConfig.viewToken = viewToken;
      BimfaceSDKLoader.load(loaderConfig, successCallback, failureCallback);
    }

    // 加载成功回调函数
    function successCallback(viewMetaData) {
      let dom4Show = document.getElementById('domId');
      // 设置WebApplication3D的配置项
      let webAppConfig = new Glodon.Bimface.Application.WebApplication3DConfig();
      webAppConfig.domElement = dom4Show;
      // 创建WebApplication3D,用以显示模型
      app = new Glodon.Bimface.Application.WebApplication3D(webAppConfig);
      app.addView(viewToken);
      viewer3D = app.getViewer();

      // 增加加载完成监听事件
      viewer3D.addEventListener(Glodon.Bimface.Viewer.Viewer3DEvent.ViewAdded, function () {
        // 渲染场景
        viewer3D.render();

        //自适应屏幕大小
        window.onresize = function () {
          viewer3D.resize(document.documentElement.clientWidth, document.documentElement.clientHeight - 40)
        }

        //引线标签的顶点
        let position = new Object();
        position = { "x": 33894.07796927153, "y": 41552.17955049469, "z": -2279.999944983153 };

        // 初始化DrawableContainer
        let drawableConfig = new Glodon.Bimface.Plugins.Drawable.DrawableContainerConfig();
        drawableConfig.viewer = viewer3D;
        let drawableContainer = new Glodon.Bimface.Plugins.Drawable.DrawableContainer(drawableConfig);

        // 创建自定义元素,可以是一个dom element,也可以是个字符串
        let config = new Glodon.Bimface.Plugins.Drawable.CustomItemConfig();
        let content = document.createElement('div');
        content.innerHTML = '<div class="leadTips"><div style="width:49px;height:35px;"><img src="https://static.bimface.com/attach/24ce9654e88a4218908f46279e5c4b04_line.png" height="35" width="49"/></div><div class="leadText" id="canvasDiv"></div></div>'
        config.content = content;
        config.viewer = viewer3D;
        config.worldPosition = position;
        //生成customItem实例
        let customItem = new Glodon.Bimface.Plugins.Drawable.CustomItem(config);
        // 添加自定义标签
        drawableContainer.addItem(customItem);
        //用icharts画出图标
        drawchart();
        //设置背景颜色
        viewer3D.setBackgroundColor(new Glodon.Web.Graphics.Color(105, 105, 105, 1));
      });
    }

    // 加载失败回调函数
    function failureCallback(error) {
      console.log(error);
    }

  </script>
</body>

</html>

官网资料: BIMFACE引线标签

点赞加关注,永远不迷路

相关文章

  • BIMFACE添加引线标签(二)

    前言 在做BIM项目的时候,客户提了个为BIM标签添加引线的需求,开始只想着自定义,发现实现起来都差点意思,鼠标控...

  • BIMFACE添加引线标签(一)

    前言 在做BIM项目的时候,客户提了个为BIM标签添加引线的需求,开始只想着自定义,发现实现起来都差点意思,鼠标控...

  • 小功能总结

    一,数组去重 二,添加标签与标签之间添加竖直的分割线(伪类添加)

  • Vue中div和img标签添加图片路径

    Vue中div和img标签添加图片路径 div 标签的添加方式 第一种方式:html 模板添加 第二种方式:sty...

  • Git(四)——Tag标签/里程碑

    添加轻量级(lightweight)标签 添加含附注(annotated)标签 查看标签 删除本地标签 连同标签一...

  • 屏蔽工作朋友圈

    方式一:(推荐) 通讯录-标签-新建标签-添加成员-添加完毕后(可增加和删减)-完成 方式二: 点开屏蔽人员个人资...

  • C4Dxpresso标签做表情控制器

    (一)表情制作前期准备 坐标调整方法: (二)利用姿态变形标签 首先对标签命名: 来到姿态变形【标签】这一栏;添加...

  • 章节三、认识标签(二)

    标签添加列表(无先后顺序) (有先后顺序)认识 标签的作用 标签 添加表格

  • matplotlib 数据可视化 - 图表属性

    为图表添加文本 title() 添加标题 xlabel() 为x轴添加标签 ylabel() 为y轴添加标签 修改...

  • maven 项目添加spring mvc 支持

    1.先打开pom.xml文件 在project根标签下添加如下标签 再在dependencies标签下添加如下标签...

网友评论

      本文标题:BIMFACE添加引线标签(二)

      本文链接:https://www.haomeiwen.com/subject/jygnqrtx.html