1.5.33 • Published 2 months ago

cbim-render-ui v1.5.33

Weekly downloads
-
License
ISC
Repository
-
Last release
2 months ago

CBIM 渲染引擎组件

引用方式

import './cbim_Render_UI/icons'
import CbimRenderUI from 'cbim-render-ui'
import 'cbim-render-ui/style'
// ...
createApp(App)
    .use(sth) // ... 引入store等
    .use(CbimRenderUI)
    // .use(CbimRenderUI, {innerNet: true, api: '//127.0.0.1'}) 内网环境配置
    .mount('#app')

组件使用

<template>
    <cbim-model-layer>
        <template #mainLayer>
            <cbim-model-viewer 
                ref="modelContainer"
                <!-- 模型id -->
                :model-id="$route.params.id"
                <!-- 使用的图形分支(不传为默认) -->
                :env="env"
                <!-- sdk 初始化连接 http请求头部 -->
                :headers="headers"
                <!-- 渲染端返回消息 -->
                @renderMessage="msgcallback"
                <!-- 模型加载中回调 -->
                @loading="loaded=false"
                <!-- 模型加载完成回调 -->
                @loaded="loaded=true"
                <!-- 引擎连接错误回调 -->
                @error="loaded=false"/>
        </template>
        <template #menuLayer v-if="loaded">
            <cbim-left-menu ref="leftToolbar"/>
        </template>
        <template #toolLayer v-if="loaded">
            <!-- 底部工具栏 -->
            <cbim-toolbar ref="bottomToolbar" @callback="cb"></cbim-toolbar>
            <!-- 右边工具栏边栏 -->
            <cbim-right-toolbar ref="rightToolbar"/>
        </template>
    </cbim-model-layer>
</template>

<script lang="ts">
import { defineComponent } from 'vue'

export default defineComponent({
    name: 'model',
    data() {
        return {
            loaded: false,
            env: '/data/autoDeploy/bin/Release/test'
        }
    }
})
</script>

组件说明

1、CbimModelLayer

整体布局组件

<cbim-model-layer>
    <template #mainLayer></template>
    <template #menuLayer></template>
    <template #toolLayer></template>
</cbim-model-layer>
  • 插槽

    名称说明
    mainLayer主视口,可以用来放置模型视图、二维图纸视图等
    menuLayer左侧菜单视口,可以用来放置左侧菜单
    toolLayer工具栏视口,用来放置底部及右侧工具栏

2、CbimModel

模型显示组件

<cbim-model :model-id="1234"></cbim-model>
  • 属性

    属性说明类型默认值
    modelId模型idNumber-
    env图形引擎分支String"/data/autoDeploy/bin/Release/test"
  • 事件

    事件名称说明
    loading加载中的回调函数
    loaded加载完成的回调函数
    error发生错误的回调函数

3、CbimToolbar

底部工具条组件

<cbim-toolbar></cbim-toolbar>
  • 属性

    属性说明类型默认值
    menuConfig菜单配置Array默认配置
    visible菜单显隐Booleantrue
    size底部菜单尺寸string"big"或"default"
    isShowFirstLevelTitle底部一级菜单是否显示中文booleanfalse
  • 事件

    事件名称说明返回结果
    callback菜单关闭/开启时回调MenuObject

4、CbimLeftMenu

左侧菜单栏组件

<cbim-left-menu></cbim-left-menu>
  • 属性

    属性说明类型默认值
    menuConfig菜单配置Object默认配置
  • 事件

    事件名称说明返回结果
    callback菜单关闭/开启时回调MenuObject

5、CbimRightToolbar

右侧工具条组件

<cbim-right-toolbar></cbim-right-toolbar>
  • 属性

    属性说明类型默认值
    menuConfig菜单配置Array默认配置
    visible菜单显隐Booleantrue
  • 事件

    事件名称说明返回结果
    callback菜单关闭/开启时回调MenuObject

6、CbimToolbarItemTeleport

工具条传送门组件,用于将组件传送到指定的工具按钮位置

<cbim-toolbar-item-teleport></cbim-toolbar-item-teleport>
  • 属性

    属性说明类型默认值
    id容器idstring''

7、CbimAnnotationColorPicker

批注颜色选择器

<cbim-annotation-color-picker v-model:color="color"></cbim-annotation-color-picker>
  • 属性

    属性说明类型默认值
    color颜色string'#ef875d'
  • 事件

    事件名称说明返回结果
    change颜色值改变时的事件16进制色值如:'#ef875d'
    update:color颜色值改变时的事件16进制色值如:'#ef875d'

8、CbimComponentAttributesPanel

构件属性面板

<cbim-component-attributes-panel></cbim-component-attributes-panel>
  • 属性

    属性说明类型默认值
    addable显示新增按钮booleanfalse
    extraData平台新增数据array[]
    cellClassName属性单元格的自定义classstring 或者 function (attr, colIndex, path /此节点及其所有父亲节点构成的数组 /) {...} 或者 Object""
    tablePropertyCellClassName表格类属性的单元格自定义classstring 或者 function (row, key, isTh / 是否表头 / ) {...} 或者 Object""
extraData数据需要带id,格式如下:
const extraData = [
    {
        "name": "几何",
        "children": [
            {
		"id": 1,
                "name": "新增属性",
                "value": "sss"
            }
        ]
    },
    {
        "name": "新增类型",
	"id": 2
        "children": [
            {
		"id": 3
                "name": "新增属性",
                "value": "222"
            }
        ]
  • 事件

    事件名称说明参数返回结果
    add新增属性事件uuid: 构件的UUID Array0-
    edit编辑属性data: 属性数据 ObjectparentType: 类型uuid: 构件uuid Array0
    delete删除属性data: 属性数据 ObjectparentType: 类型uuid: 构件uuid Array0
    callback回调(返回属性type列表)type: 返回类型data: 返回的数据
    close关闭事件-
<cbim-component-attributes-panel @add="handleAdd" @callback="handleCallback"></cbim-component-attributes-panel>
<script>
// ...
export default {
  setup() {
    // ...
    const handleAdd = (uuid) => {
      // 弹出新增属性窗口etc.
    }
    const typeList = ref([])
    const handleCallback = (data, type) => {
      if (type == 'attrTypeList') {
        typeList.value = data
      } else if (type == 'dataLoaded') {
        // 构件数据加载事件
      }
    }
    // ...
  }
}
</script>

9、CbimFloorSelect

楼层选择器

<cbim-floor-select @floor_change="handleFloorChange"/>
  • 事件

    事件名称说明返回结果
    floor_change楼层选择时的事件{buildNo: "A1", height: "12.3", label: "5F"}

10、CbimModelNavigationMap

3维模型小地图

<cbim-model-navigation-map :width="300" :height="300"/>
  • 属性

    属性说明类型默认值
    widthnumber-
    heightnumber-

11、CbimSettingPanel

设置面板

<cbim-setting-panel :tabList="tabList"/>
  • 属性

    属性说明类型默认值
    tabList设置面板子页面配置array
 tabList 是设置面板的子页面配置,里面每一项格式为: {
    name: string // 页签名称
    type: string // 页签对应的子组件名称
 } 
 原生提供这几种子组件:
 [{
    name: '基础设置',
    type: 'BaseSetting'
 }, {
     name: '显示设置',
     type: 'ShowSetting'
}, {
    name: '视角设置',
    type: 'ViewSetting'
}, {
    name: '相机参数',
    type: 'CameraSetting'
}, {
    name: '光线追踪',
    type: 'RayTracingSetting'
}, {
    name: '边缘滤波',
    type: 'EdgeFilterSetting'
}]

12、CbimAnnotationMark

批注图钉

<cbim-annotatioon-mark :params="{position: {left: 200, top: 200}, code: 10, color: '#f00',onClick: function (e) {}, style: {cursor: 'pointer'}}"/>
  • 属性

    属性说明类型默认值
    params配置Object
 params 是批注图钉的设置,里面每一项格式为: {
    position: {left: number; top: number;} // 图钉的绝对定位位置
    color: string // 图钉的填充色
    code?: string // 图钉的编号,可选
    onClick?: function // 图钉的点击事件,可选
    style?: object // 图钉的样式,可选
 } 

13、CbimComponentTreePanel

构件树/资源树面板

<cbim-component-tree-panel @callback="handleCallback" />
  • 事件

    事件名称说明返回结果
    callback回调事件type: 返回类型data: 返回的数据
  • 插槽

    插槽名称说明
    treeNodeTitle构件树节点名称后缀
    tabSuffix面板tab区域后缀
<template>
    <cbim-component-tree-panel @callback="handleCallback" />
</template>
<script>
export default {
    setup() {
        const handleCallback = (type, data) => {
            if (type == 'componentTreeTabChange') {
                // 构件树tab切换
            } else if (type == 'componentTreeNodeLoaded') {
                // 构件树节点加载完成
            }
        }
        return {
            handleCallback
        }
    }
}
</script>
1.5.33

2 months ago

1.5.32

3 months ago

1.5.31

3 months ago

1.5.30

4 months ago

1.5.29

5 months ago

1.5.23-patch2

6 months ago

1.0.22

9 months ago

1.5.23-patch

7 months ago

1.0.24

8 months ago

1.0.23

8 months ago

1.5.28-test

5 months ago

1.5.25

7 months ago

1.5.27

6 months ago

1.5.26

6 months ago

1.5.28

5 months ago

1.0.21

10 months ago

1.0.18-patch

11 months ago

1.0.20

11 months ago

1.0.19-patch

11 months ago

1.0.19

11 months ago

1.0.18

12 months ago

1.0.17

12 months ago

1.0.15-patch3

12 months ago

1.0.15-patch2

12 months ago

1.0.16

1 year ago

1.0.15-patch

1 year ago

1.0.15

1 year ago

1.0.14

1 year ago

1.0.13

1 year ago

1.0.12

1 year ago

1.0.11

1 year ago

1.0.10

1 year ago

1.0.9

1 year ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago