vue 中使用 bimface详情

yizhihongxing

首先,需要明确的是,要在Vue中使用Bimface详情,需要引入BimFace的JavaScript SDK,并按照BimFace提供的文档设置好BimFace Viewer所需的DOM容器以及相关参数。接下来,我们将详细讲解该过程。

步骤一:引入BimFace SDK

由于BimFace SDK的体积较大,我们一般会将其放在CDN上,通过Vue的component中增加script的方式引入。以https://api.bimface.com/viewer/v3.0/bimface.js为例,可以在Vue中的component中添加如下代码:

<template>
  <div id="viewerContainer" style="height: 600px;"></div>
</template>

<script>
export default {
  mounted () {
    const script = document.createElement('script')
    script.type = 'text/javascript'
    script.src = 'https://api.bimface.com/viewer/v3.0/bimface.js'
    script.async = true
    script.onload = this.onLoad
    document.body.appendChild(script)
  },
  methods: {
    onLoad () {
      // 这里可以进行后续的 SDK 配置和 Bimface Viewer 的创建
      this.initViewer()
    },
    initViewer () {
      // 在这里设置 Bimface Viewer 的相关参数和 DOM 容器
      const viewerContainer = document.getElementById('viewerContainer')
      // ...
    }
  }
}
</script>

步骤二:配置BimFace Viewer

配置Viewer需要设置以下三个参数:

  1. DOM容器,即Viewer所在的元素。在示例中我们使用的是<div id="viewerContainer" style="height: 600px;"></div>
  2. Bimface 应用的appKey,即你注册Bimface开发者后会收到的appKey,这个key会在初始化Bimface SDK时使用。
  3. 文件的ViewToken,即跟该模型对应的运行Token。调用BimFace的 "文件转换接口" 后,会生成一个ViewToken,可以使用这个Token来加载模型。

以下是代码示例:

initViewer () {
  // 在这里设置 Bimface Viewer 的相关参数和 DOM 容器
  const viewerContainer = document.getElementById('viewerContainer')
  const config = {
    // 初始化Bimface viewer需要的appkey
    appKey: '你的appKey',
    // runtime需要的endpoint
    endpoint: 'https://api.bimface.com',
    domElement: viewerContainer,
    // BimFace 文件的View Token
    viewToken: '你的viewToken'
  }
  window.BimfaceSDKLoader.load(config, () => {
    this.viewer3D = new window.BimfaceSDK.Viewer3D(config.domElement)
    // 在这里设置Bimface Viewer的内置控件等
  })
}

示例一:加载模型

<template>
  <div id="viewerContainer" style="height: 600px;"></div>
</template>

<script>
export default {
  mounted () {
    const script = document.createElement('script')
    script.type = 'text/javascript'
    script.src = 'https://api.bimface.com/viewer/v3.0/bimface.js'
    script.async = true
    script.onload = this.onLoad
    document.body.appendChild(script)
  },
  methods: {
    onLoad () {
      this.initViewer()
    },
    initViewer () {
      const viewerContainer = document.getElementById('viewerContainer')
      const config = {
        appKey: '你的appKey',
        endpoint: 'https://api.bimface.com',
        domElement: viewerContainer,
        viewToken: '你的viewToken'
      }
      window.BimfaceSDKLoader.load(config, () => {
        this.viewer3D = new window.BimfaceSDK.Viewer3D(config.domElement)
        this.viewer3D.load(config.viewToken)
      })
    }
  }
}
</script>

在这个例子中,我们通过load方法加载了模型,Viewer会自动解析并渲染出我们的模型。

示例二:标记构件

<template>
  <div id="viewerContainer" style="height: 600px;"></div>
</template>

<script>
export default {
  mounted () {
    const script = document.createElement('script')
    script.type = 'text/javascript'
    script.src = 'https://api.bimface.com/viewer/v3.0/bimface.js'
    script.async = true
    script.onload = this.onLoad
    document.body.appendChild(script)
  },
  methods: {
    onLoad () {
      this.initViewer()
    },
    initViewer () {
      const viewerContainer = document.getElementById('viewerContainer')
      const config = {
        appKey: '你的appKey',
        endpoint: 'https://api.bimface.com',
        domElement: viewerContainer,
        viewToken: '你的viewToken'
      }
      window.BimfaceSDKLoader.load(config, () => {
        this.viewer3D = new window.BimfaceSDK.Viewer3D(config.domElement)
        this.viewer3D.load(config.viewToken)
        this.viewer3D.addEventListener(
          window.BimfaceSDK.Constants.BIMFACETOOLBAR_CLICK, () => {
            this.viewer3D.getSelection(result => {
              result.forEach(item => {
                this.viewer3D.markup(item, `<h1>你标记的是${item.name}</h1>`)
              })
            })
          }
        )
      })
    }
  }
}
</script>

在这个例子中,我们引入了window.BimfaceSDK.Constants.BIMFACETOOLBAR_CLICK用于监听Viewer中的操作,例如点击了一个构件。接着,在点击构件后,我们通过this.viewer3D.getSelection(result => {} )方法来获取到所选的构件,之后使用this.viewer3D.markup(item, label)来对所选的构件标记说明。标记内容在这里我们只是简单地放了一个字符串,实际使用过程中可以放置更具体的信息。

以上就是在Vue中使用Bimface详情的完整攻略,如果还有疑问可以参考Bimface的官方文档进行查阅。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue 中使用 bimface详情 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • Vue.js的高级面试题(附答案)

    下面我将详细讲解“Vue.js的高级面试题(附答案)”的完整攻略。 一、背景 在Vue.js开发中,面试官通常会问一些高级问题来考察开发者使用Vue.js的深度和广度,因此我们需要掌握一些高级面试题。 二、面试题目及答案 1. Vue.js如何实现组件的懒加载? 答:我们可以使用Vue.js中的异步组件(Syntax Async Components)来实现…

    Vue 2023年5月28日
    00
  • Pinia入门学习之实现简单的用户状态管理

    首先,我们需要了解什么是Pinia。Pinia是一款为Vue 3提供状态管理的插件,它是基于Vue 3 Reactivity API协议实现的,提供了强大的响应式状态管理功能,使得在Vue 3项目开发中可以更方便地进行状态管理。 下面,我们来详细讲解如何使用Pinia来实现简单的用户状态管理。步骤如下: 1. 安装Pinia 在Vue 3项目中,首先需要安装…

    Vue 2023年5月28日
    00
  • Vue的MVVM实现方法

    Vue的MVVM实现方法可以分为以下几步: 1.定义数据模型 首先,需要定义一个数据模型,该模型是我们在Vue中操作的数据源。可以通过Vue的data选项来定义这个模型。 <script> const vueModel = new Vue({ el: ‘#app’, data: { message: ‘Hello World’, items: […

    Vue 2023年5月28日
    00
  • antfu大佬的v-lazy-show教我学会了怎么编译模板指令

    下面是详细讲解“antfu大佬的v-lazy-show教我学会了怎么编译模板指令”的完整攻略。 什么是v-lazy-show指令? v-lazy-show是一个自定义指令,它可以让我们实现懒加载元素的显示。在元素位于可视区域附近时,该元素会被显示出来。这个指令是由antfu大佬开发的,它的主要思路就是通过Intersection Observer API实现…

    Vue 2023年5月28日
    00
  • Vue实现动态样式的多种方法汇总

    下面为您详细讲解“Vue实现动态样式的多种方法汇总”的完整攻略。 背景 在Vue的开发中,我们常常需要实现动态样式,使标签在不同的状态下展示不同的颜色、背景等等。本篇攻略将为您介绍Vue实现动态样式的多种方法。 方法一:通过计算属性绑定class 通过计算属性绑定class是Vue实现动态样式的一种常规方法,通过在计算属性中根据数据的不同来动态绑定class…

    Vue 2023年5月28日
    00
  • 基于vue实现多引擎搜索及关键字提示

    实现基于Vue的多引擎搜索及关键字提示主要包括以下步骤: 构建基础页面结构 在HTML文件中,构造基础的页面结构,包括搜索框和搜索按钮等必要的组件。同时,引入Vue.js库和相关依赖。 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> …

    Vue 2023年5月27日
    00
  • 浅谈vue项目利用Hbuilder打包成APP流程,以及遇到的坑

    下面是针对“浅谈vue项目利用Hbuilder打包成APP流程,以及遇到的坑”的完整攻略。 标题 第一步:Hbuilder安装与使用 在Hbuilder官网中下载对应系统的Hbuilder软件 去Hbuilder的官方文档中找打包流程并根据官方文档进行打包操作 打包完成之后,在运行的手机或者模拟器上测试APP的效果,确保APP在打包过程中没有出现问题 第二步…

    Vue 2023年5月27日
    00
  • web前端vue实现插值文本和输出原始html

    要实现通过Vue进行插值文本和输出原始HTML,我们需要掌握以下几个核心概念: 插值表达式:Vue使用双括号{{}}进行插值,将绑定的数据渲染到模板中。 v-html指令:Vue中的v-html指令可用于输出被渲染为HTML的数据,但要注意防止XSS攻击。 以下是详细步骤: 1. 插值表达式 在Vue中,我们可以使用插值表达式来动态地将数据展示到模板中。插值…

    Vue 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部