本发明涉及建筑BIM技术领域,特别涉及一种BIM模型数据的数据库存储格式。

背景技术:

在Revit文件的数据格式中,有的遗漏数据,如FBX;有的封闭不够开放,如IFC;有的涉及操作比较复杂的数据库,如ODBC Database,还有一些格式数据庞大,如gbXML等;给一些需要使用其数据的用户带来不方便和效率低下。

现有的Revit数据涉及大量重复模型,而模型信息数据量通常非常庞大,如何获取在保证信息完整下,数据量尽可能小的文档格式,是经常困扰用户的问题。

技术实现要素:

本发明的目的在于克服现有BIM模型格式存在的不足,提出一种数据库的数据存储格式。本发明结合Revit的数据标准,将模型信息中的数据提取转为数据库存储,用户可根据存储规则依次提取数据。

为实现上述目的,本发明的具体技术方案如下:

一种BIM模型数据的数据库存储格式,包含数据库、构件数据表、材质数据表、共享Mesh数据表;

其中,所述数据库指一个模型对应一个数据库(例如,命名为:模型名.db),其包含三张数据表分别命名为构件、材质、共享Mesh;其中构件数据表表示存储的是所有构件的基础参数及使用的共享模型ID;材质数据表表示存储的是模型构件使用的共享材质;共享Mesh数据表表示存储的是模型构件的共享Mesh。

优选地,所述构件数据表指存储模型的构件数据,包含以下字段:ID,ShareMeshID,Parameter,Name,GUID,Level,SystemType,Category,Family,Symbol,Room,Position,Rotation,Scale;数据类型分别为Int,Int,String,String,String,String,String,String,String,String,String,String,String,String;其中ID表示构件的EID;ShareMeshID表示构件在共享Mesh数据表里使用的Mesh的ID;Parameter表示构件的参数,它以Json格式转String存储,Json格式表示为[组名1:[{参数名1:参数值1},{参数名2:参数值2}..],组名2:[{参数名1:参数值1},{参数名2:参数值2}..]..];Name表示构件名字;GUID表示构件唯一GUID编号;Level表示构件所在的楼层;SystemType表示构件的专业;Category表示构件的类别;Family表示构件的族名;Symbol表示构件的族类型;Room表示构件所属的房间号;Position表示构件的三维空间坐标,是一个Json数组转String,表现为[{X轴的位置坐标}{Y轴的位置坐标}{Z轴的位置坐标}];Rotation表示构件的三维空间旋转角度,是一个Json数组转String,表现为[{X轴的旋转角度}{Y轴的旋转角度}{Z轴的旋转角度}];Scale表示构件的三维空间缩放值,是一个Json数组转String,表现为[{X轴缩放值}{Y轴缩放值}{Z轴缩放值}]。

优选地,所述材质数据表指存储模型的共享材质库;包含以下字段:ID,Type,Name,Glossiness,Smoothness,Diffuse,Bump,Normal,Transparent,Emission,CutoutMap;数据类型分别为Int,String,String,Float,Float,String,String,String,String,String,String;其中ID表示材质的ID;Type表示材质的类型;Name表示材质的名字;Glossiness表示材质的光泽度;Smoothness表示材质的光滑度;Diffuse表示材质的Diffuse节点,是一个Json数组转String,表现为[强度,[主颜色R通道,主颜色G通道,主颜色B通道,主颜色A通道],[贴图路径,X方向偏移值,Y方向偏移值,X方向缩放值,Y方向缩放值,旋转值]];Bump表示材质的Bump节点,是一个Json数组转String,表现为[强度,[贴图路径,X方向偏移值,Y方向偏移值,X方向缩放值,Y方向缩放值,旋转值]];Normal表示材质的Normal节点,是一个Json数组转String,表现为[强度,[贴图路径,X方向偏移值,Y方向偏移值,X方向缩放值,Y方向缩放值,旋转值]];Transparent表示材质的Transparent节点,是一个Json数组转String,表现为[强度,[主颜色R通道,主颜色G通道,主颜色B通道,主颜色A通道],[贴图路径,X方向偏移值,Y方向偏移值,X方向缩放值,Y方向缩放值,旋转值]];Emission表示材质的Emission节点,是一个Json数组转String,表现为[强度,[颜色R通道,颜色G通道,颜色B通道],[贴图路径,X方向偏移值,Y方向偏移值,X方向缩放值,Y方向缩放值,旋转值]];CutoutMap表示材质的CutoutMap节点,是一个Json数组转String,表现为[强度,[贴图路径,X方向偏移值,Y方向偏移值,X方向缩放值,Y方向缩放值,旋转值]];以上强度为0表示该节点无参数,大于0表示该节点的强度,贴图路径为空,表示该节点无贴图。

优选地,所述共享Mesh数据表表示模型构件的共享Mesh;包含以下字段:ID,Mesh;数据类型分别为Int,String;其中ID表示Mesh的唯一ID;Mesh表示一个构件的Mesh数据,它是一个Json格式,在一个数组里,包含若干SubMesh,每个SubMesh包含材质ID,Vertex数组,Face数组,UV数组,Normal数组,数据类型依次为Int,Float,Int,Float,Float。

本发明与现有数据格式相比,具有以下特点:

(1)、本发明的数据格式公开,易懂;使用者不需要阅读大量SDK或协议标准,能通过数据库快速管理数据;

(2)、本发明把相同Mesh数据以共享方式应用,并以二进制存储,节省空间;

(3)、本发明包含的Revit的完整属性,精简化材质使材质数据规范,减少冗余的无效内容,同时保证数据使用简单有效,提升效率;

(4)、本发明的库表内容绝大部分以Json格式存储,方便用户快速转换。

附图说明

图1采用本发明数据库存储数据格式形成的Mesh模型。

具体实施方式

为了便于本领域的普通技术人员能够理解并实施本发明,下面将结合附图对本发明实施例作进一步说明。

参考表1,其为本发明具体数据构成展示。本发明提供一种BIM模型数据的数据库存储格式,包含数据库、构件数据表、材质数据表、共享Mesh数据表;

其中,所述数据库指一个模型对应一个数据库(例如,命名为:模型名.db),其包含三张数据表分别命名为构件、材质、共享Mesh;其中构件数据表表示存储的是所有构件的基础参数及使用的共享模型ID;材质数据表表示存储的是模型构件使用的共享材质;共享Mesh数据表表示存储的是模型构件的共享Mesh。

作为本发明一优选技术方案,所述构件数据表指存储模型的构件数据,包含以下字段:ID,ShareMeshID,Parameter,Name,GUID,Level,SystemType,Category,Family,Symbol,Room,Position,Rotation,Scale;数据类型分别为Int,Int,String,String,String,String,String,String,String,String,String,String,String,String;其中ID表示构件的EID;ShareMeshID表示构件在共享Mesh数据表里使用的Mesh的ID;Parameter表示构件的参数,它以Json格式转String存储,Json格式表示为[组名1:[{参数名1:参数值1},{参数名2:参数值2}..],组名2:[{参数名1:参数值1},{参数名2:参数值2}..]..];Name表示构件名字;GUID表示构件唯一GUID编号;Level表示构件所在的楼层;SystemType表示构件的专业;Category表示构件的类别;Family表示构件的族名;Symbol表示构件的族类型;Room表示构件所属的房间号;Position表示构件的三维空间坐标,是一个Json数组转String,表现为[{X轴的位置坐标}{Y轴的位置坐标}{Z轴的位置坐标}];Rotation表示构件的三维空间旋转角度,是一个Json数组转String,表现为[{X轴的旋转角度}{Y轴的旋转角度}{Z轴的旋转角度}];Scale表示构件的三维空间缩放值,是一个Json数组转String,表现为[{X轴缩放值}{Y轴缩放值}{Z轴缩放值}]。

作为本发明一优选技术方案,所述材质数据表指存储模型的共享材质库;包含以下字段:ID,Type,Name,Glossiness,Smoothness,Diffuse,Bump,Normal,Transparent,Emission,CutoutMap;数据类型分别为Int,String,String,Float,Float,String,String,String,String,String,String;其中ID表示材质的ID;Type表示材质的类型;Name表示材质的名字;Glossiness表示材质的光泽度;Smoothness表示材质的光滑度;Diffuse表示材质的Diffuse节点,是一个Json数组转String,表现为[强度,[主颜色R通道,主颜色G通道,主颜色B通道,主颜色A通道],[贴图路径,X方向偏移值,Y方向偏移值,X方向缩放值,Y方向缩放值,旋转值]];Bump表示材质的Bump节点,是一个Json数组转String,表现为[强度,[贴图路径,X方向偏移值,Y方向偏移值,X方向缩放值,Y方向缩放值,旋转值]];Normal表示材质的Normal节点,是一个Json数组转String,表现为[强度,[贴图路径,X方向偏移值,Y方向偏移值,X方向缩放值,Y方向缩放值,旋转值]];Transparent表示材质的Transparent节点,是一个Json数组转String,表现为[强度,[主颜色R通道,主颜色G通道,主颜色B通道,主颜色A通道],[贴图路径,X方向偏移值,Y方向偏移值,X方向缩放值,Y方向缩放值,旋转值]];Emission表示材质的Emission节点,是一个Json数组转String,表现为[强度,[颜色R通道,颜色G通道,颜色B通道],[贴图路径,X方向偏移值,Y方向偏移值,X方向缩放值,Y方向缩放值,旋转值]];CutoutMap表示材质的CutoutMap节点,是一个Json数组转String,表现为[强度,[贴图路径,X方向偏移值,Y方向偏移值,X方向缩放值,Y方向缩放值,旋转值]];以上强度为0表示该节点无参数,大于0表示该节点的强度,贴图路径为空,表示该节点无贴图。

作为本发明一优选技术方案,所述共享Mesh数据表表示模型构件的共享Mesh;包含以下字段:ID,Mesh;数据类型分别为Int,String;其中ID表示Mesh的唯一ID;Mesh表示一个构件的Mesh数据,它是一个Json格式,在一个数组里,包含若干SubMesh,每个SubMesh包含材质ID,Vertex数组,Face数组,UV数组,Normal数组,数据类型依次为Int,Float,Int,Float,Float。

表1

表2

参考表2和图1,其为采用本发明数据库数据格式形成的Mesh模型,由此可见,本发明的数据库数据格式涉及的数据存储量少,能高效的传输并生成所需的模型。本发明的数据格式公开,易懂;使用者不需要阅读大量SDK或协议标准,能通过数据库快速管理数据;把相同Mesh数据以共享方式应用,并以二进制存储,节省空间;包含的Revit的完整属性,精简化材质使材质数据规范,减少冗余的无效内容,同时保证数据使用简单有效,提升效率;数据库表内容绝大部分以Json格式存储,方便用户快速转换。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

mysql的存储模型_一种BIM模型数据的数据库存储格式的制作方法相关推荐

  1. 交流充电桩电路图_一种新能源汽车交流充电桩控制电路的制作方法

    一种新能源汽车交流充电桩控制电路的制作方法 [技术领域] [0001]本实用新型属于新能源汽车技术领域,特别涉及一种新能源汽车交流充电粧控制电路. [背景技术] [0002]随着新能源汽车不断发展,新 ...

  2. 抛投侦察机器人_一种抛投式两轮侦察机器人的制作方法

    一种抛投式两轮侦察机器人的制作方法 [专利摘要]一种抛投式两轮侦察机器人,所述抛投式两轮侦察机器人采用分体式结构,重心偏移在一侧,所述抛投式两轮侦察机器人包括:弹性轮.壳体组件.下封盖.平衡尾.红外灯 ...

  3. java io 模型_五种 IO 模型

    IO即为Input.Output,对计算机来说,我们使用键盘鼠标给计算机指令就是一种输入,计算机将我们键盘输入的文字显示到显示器即是一种输出.或者写博客时将计算机从键盘接收到的文字信息发送到平台上即为 ...

  4. pcb成型板aoi检测_一种PCB板的AOI检测控制系统的制作方法

    本实用新型属于SMT贴片加工工艺技术领域,具体涉及一种PCB板的AOI检测控制系统. 背景技术: 随着表面贴装元件的广泛应用,电子产品的体积变得越来越小,其焊接质量直接影响到产品的稳定性,目前电子元件 ...

  5. java native 原理_一种Java+Native应用的系统架构的制作方法

    本发明涉及智能卡技术领域,特别是要求支持Java功能的智能卡领域. 背景技术: Java卡是Sun微系统为智能卡开发平台而制定的一个开放的标准.使用Java卡平台创建的智能卡上存有Java apple ...

  6. python 水位_一种适用于利用图像识别水位的水位尺的制作方法

    本实用新型涉及水利信息化领域,特别涉及一种适用于利用图像识别水位的水位尺. 背景技术: 水位是反映江河.水库等水体涨落的重要指标.掌握水位变化情况对做好涉水工程规划建设与管理.防汛抗旱,群众避险转移等 ...

  7. rust投递箱连接箱子_一种用于防盗的牛奶投递箱的制作方法

    本发明涉及一种防盗装置,特别是涉及一种用于防盗的牛奶投递箱. 背景技术: 牛奶是一种营养价值很高,且矿物质种类也非常丰富的最古老的天然饮料之一.牛奶是人体钙的最佳来源,随着人们生活水平的提高,人们越来 ...

  8. 自动钉木箱机器人_一种木箱生产用自动钉装设备的制作方法

    本实用新型属于木箱钉装设备技术领域,特别是涉及一种木箱生产用自动钉装设备. 背景技术: 木箱,用木材.竹材或木质混合材料制成的胶质直方体包装容器.是木箱是最古老的包装容器也是一种重要的运输包装容器之一 ...

  9. 场效应管调光电路图_一种LED驱动场效应管调光控制电路的制作方法

    本发明涉及一种LED驱动场效应管调光控制电路,特别是一种LED驱动场效应管调光控制电路. 背景技术: 现有的LED驱动的调光电路中,专利申请号为201610033462.2 LED驱动调光的控制电路的 ...

最新文章

  1. 神经网络相关名词解释
  2. NYOJ 6 喷水装置(一) 贪心算法 之 区间覆盖问题
  3. android在屏幕最下方,如何将view固定在屏幕底部?
  4. 一篇带你搞透回溯算法
  5. 微软推出 VS Code 新特性,为 TypeScript 和 JavaScript 用户提供 AI 辅助开发功能
  6. Java scirpt简介
  7. hive血缘关系之输入表与目标表的解析
  8. 在vue中后台返回的文本包含标签时候解析为html代码
  9. python windows ui自动化_pywinauto处理UI自动化
  10. Java实现俄罗斯方块小游戏。(附完整源代码)
  11. python必背100源代码-python 100例 (持续更新)
  12. InstallShield 教程
  13. 如何将MySQL卸载干净?
  14. Android Kotlin关于新增本地数据库对象表字段问题
  15. PS亮度蒙版插件TKActions V5 Mac版
  16. (端到端多尺度去雾算法)FAMED-Net: A Fast and Accurate Multi-scale End-to-end Dehazing Network
  17. 去银行当程序员是一种什么体验
  18. 日期类超详解(c++入门)
  19. Android 天气APP(九)细节优化、必应每日一图
  20. 什么是3C认证?3C认证的介绍

热门文章

  1. 启智平台git使用指引
  2. 2020-08-14 理解 javascript 函数中的 curry
  3. 虚拟机如何使用共享文件夹传文件
  4. C++:取整操作ceil()、floor()、round()
  5. 厦门大学计算机学院李平,信息学院计算机科学系研究生师生座谈会顺利举办
  6. E-puck机器人-小白学习笔记(一)准备工作
  7. 2021年中国奶油行业上市企业对比分析:海融科技VS 立高食品[图]
  8. 计算机软件工程大学排名(2015)
  9. matlab中的diag
  10. 洗地机充电底座语音芯片选型?NV040DS语音芯片