一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基础C#的GIM格式与XDB格式无损转换方法与流程

2021-11-05 22:42:00 来源:中国专利 TAG:

一种基础c#的gim格式与xdb格式无损转换方法
技术领域
1.本发明涉及计算机图形转换技术领域,特别涉及一种基础c#的gim格式与xdb格式无损转换方法。


背景技术:

2.在河北省雄安新区,发布了“雄安新区规划建设bim管理平台”,要求新区内各行业开工建设项目必须通过bim平台审批和监管才能开工建设。
3.在雄安新区智慧城市的发展的背景下,雄安新区电网规划有必要综合雄安新区规划建设bim管理平台数据及电网现状运维信息,打造智慧城市电网规划bim平台,与城市同步规划,提出最佳电网规划方案,形成高质量城市电网规划系统,推广示范应用。在这样的背景下,需要一种模型的无损转换方法,实现电网模型与雄安城市模型的无损对接,打通底层数据制约。
4.在现有技术中,还未开展国网通用格式gim模型与雄安新区xdb模型的转换研究工作,传统的电力规划、设计模型无法与城市有效衔接,不足以达到新区打造全球领先的数字城市的理念。
5.因此,如何构建了基于c#的*.gim格式与*.xdb格式无损转换的方法,打通底层数据格式,支撑电网规划与新区城市规划同步发展成为本领域技术人员急需解决的技术问题。


技术实现要素:

6.有鉴于现有技术的上述缺陷,本发明提供基础c#的gim格式与xdb格式无损转换方法,实现的目的是打通国网与雄安新区城市模型底层格式,通过可与城市模型互通、互融、互生的电力模型,实现电网与城市发展同步的目标。
7.为实现上述目的,本发明公开了基础c#的gim格式与xdb格式无损转换方法,转换步骤如下:
8.步骤1、解析gim模型;
9.步骤2、根据映射规则,用c#编程语言编写的接口软件实现所述gim模型的信息文本的转换,形成国际标准化模型的表达,并存储到节点结构体数组形式写入.xml或.dat命令流文件中;
10.所述国际标准化模型的表达包括实体模型,实体模型包含平面、曲面或三角面片与空间几何点、属性与材质;
11.步骤3、将所述gim模型中所有贴源数据均通过guid与gim模型中实体模型进行关联,在gim模型中实体模型以*.dev表示;
12.步骤4、基于步骤2和步骤3中形成的实体模型元素xml文件,构建符合xdb规范的实体模型与属性信息。
13.优选的,在所述步骤2中,用c#编程语言编写的接口软件的编写方法如下:
14.a1、通过研究国网gim数据格式规范与雄安bim规划管理平台xdb数据格式要求的模型构成与属性需求,分析差异点并形成*.xdb与*.gim的模型差异对照表与属性归属对照表,将属性归属对照表以数据表的方式入库;
15.a2、依据所述模型差异对照表与所述属性归属对照表,探索模型重构方法,通过revit2018软件解析*.gim格式模型与输出*.xdb格式模型;
16.a3、以国家电网发布的《输变电工程三维设计模型交互规范》与《雄安新区平台数据xdb交付标准》中所分别定义的实体模型层次关系,将层级关系通过程序设计进行层级转换;
17.a4、以上述步骤为基础,通过以.net编程语言在revit2018环境中,实现模型转换,通过模型导入、模型转换、模型编译三个步骤实现xdb实体模型与gim实体模型的无损互转。
18.优选的,在所述步骤2中,用c#编程语言编写的接口软件,具体如下:
19.b1、选择待解析的gim模型;
20.b2、几何模型定义;
21.b3、gim几何信息抽取;
22.b4、坐标转换;
23.b5、几何点在*.xdb标准下的重构,几何点根据xdb几何层级结构进行从新组织,通过构建elementgeometry实体类用于保存顶点序列、顶点坐标、顶点法相、三角面片uv以及材质。
24.更优选的,在所述步骤b1中,在计算机设备安装revit2018及其以上版本,在没有sqlserver数据库的情况下,首先选择相应的*.gim文件,其次确定工程类型,再次添加或更新构件几何数据属性数据与实体模型与属性信息的关联关系,最后保存数据库,生成*.xdb文件,在生成xdb文件的同时,配套输出.log日志文件用于描述转换过程中发生的错误情况。
25.更优选的,在所述步骤b2中,将*.gim格式的模型对象转换为计算机图像表达中的基本元素;
26.所述基本元素包括点、线和面;
27.其中,最小单位均为点;
28.自一个点而上通过两个点构成一条线,记为:line1={point1,point2};
29.三个点构成一个三角面记为:meshtriangle1={point1,point2,point3};
30.两个三角面构成一个平行四边形面,记为:
31.planarface={meshtriangle1,meshtriangle2};
32.多个四边形面构成一个实体模型,记为:
33.solid={planarface1,planarface2,planarface3.......planarface
n
};
34.多个实体模型对应gim中一个mod文件,记为:
35.mod={solid1,solid2,solid3.......solid
n
}。
36.更优选的,在所述步骤b3中,*.gim模型中的几何模型均包含在*.mod几何模型单元中,*.mod采用对象附加参数的方式进行描述;
37.其中,对象用对应的英文,首字母大写;
38.所述参数之间采用1个空格分开;
39.所述对象和所述参数之间采用1个空格分开。
40.更优选的,所有模型原点坐标都为{0,0,0}。
41.更优选的,所述几何模型包括球形,多边体、圆锥体或圆柱体,所述多边体包括长方体、正方体,所述长方体的几何表达方式如下:
42.定义:cuboid l=""w=""h="";其中,l表示长、w表示宽、h表示高;
43.其顶点抽取方式为,先借助revit工具用公制常规模型构件一个长方体实体,其拉伸截面为四条直线边,具体如下:
44.line1={(0,0,0),(l,0,0)}
45.line2={(l,0,0),(l,w,0)}
46.line2={(l,w,0),(0,w,0)}
47.line2={(0,w,0),(0,0,0)}
48.依据四条所述直线边创建拉伸体,拉伸高度为h;
49.根据所述拉伸体按revit几何模型组织方式依次从planarface、mesh、riangles和points依次抽取信息;
50.最终的points为8个顶点坐标,triangles为三角面索引序号及三角面片法向量,mesh为triangles组织索引,planarface即为构成长方体的6个平面。
51.更优选的,在所述步骤b4中,在以项目基点为原点的坐标系统作为整个模型文件的基准坐标系统中,将*.gim文件向*.xdb文件输出,将相对坐标向绝对坐标转换;
52.其中,*.gim文格式下各个坐标点均基于相对坐标系统;*.xdb的坐标系均采用真实坐标系且没有上下层级关系;
53.将*.gim文件下各几何点的坐标根据参考坐标系转换为绝对坐标,此过程通过坐标迭代方式完成,公式如下:
[0054][0055][0056]
其中,x、y、z为构件位于本地直角坐标系下的坐标,m为以下标n=1,2

m,m为构件的迭代次数;根据不同构件而定,列如*.gim文件下phm次数为1,dev相对phm为2次,以此类推,当下标n=m时,表示构件位于转换后统一以项目基点为原点的直角坐标系下的坐标;
[0057]
a、b、c为坐标变换时的点,即平移量;
[0058]
α、β、γ分别为坐标系变换时绕x轴、y轴以及z轴旋转的角度,以逆时针方向为正。
[0059]
更优选的,在步骤b5中存在2个流程,其中一个流程为电网点状工程转换过程,然后转换过程中错误日志生成过程;
[0060]
另一个流程为电网线性工程转换过程,然后转换过程中错误日志生成过程。
[0061]
本发明的有益效果:
[0062]
本发明的应用打通城市模型底层格式,通过可与城市模型互通、互融、互生的电力
模型,实现电网与城市发展同步的目标。
[0063]
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
[0064]
图1示出本发明一实施例中*.xdb与*.gim模型转换过程流程图。
[0065]
图2示出本发明一实施例中b2步骤,*.xdb与*.gim模型转换详细运行步骤流程图。
[0066]
图3示出本发明一实施例b5步骤中,点状工程转换过程流程图。
[0067]
图4示出本发明一实施例b5步骤中,线性工程转换过程流程图。
[0068]
图5示出本发明一实施例b5步骤中,转换过程错误日志生成过程流程图。
具体实施方式
[0069]
实施例一
[0070]
如图1所示,基础c#的gim格式与xdb格式无损转换方法;步骤如下:
[0071]
步骤1、解析gim模型;
[0072]
步骤2、根据映射规则,用c#编程语言编写的接口软件实现gim模型的信息文本的转换,形成国际标准化模型的表达,并存储到节点结构体数组形式写入.xml或.dat命令流文件中;
[0073]
所述国际标准化模型的表达包括实体模型,实体模型包含平面、曲面、三角面片与空间几何点、属性与材质;
[0074]
步骤3、将所述gim模型中所有贴源数据均通过guid与gim模型中实体模型进行关联,在gim模型中实体模型以*.dev表示;
[0075]
步骤4、基于步骤2和步骤3中形成的实体模型元素xml文件,构建符合xdb规范的实体模型与属性信息。
[0076]
本发明以以国家电网数字化设计通用格式gim为基础,以雄安新区城市信息通用模型xdb为目标数据,以visual studio c#为开发平台,综合考虑几何模型转换、空间位置转换、材质转换、属性转换等方面,形成一种模型的转换方法,得到可与城市模型无损交互的电力模型。
[0077]
在步骤2中,用c#编程语言编写的接口软件的编写方法如下:
[0078]
a1、通过研究国网gim数据格式规范与雄安bim规划管理平台xdb数据格式要求的模型构成与属性需求,分析差异点并形成*.xdb与*.gim的模型差异对照表与属性归属对照表,将属性归属对照表以数据表的方式入库;
[0079]
a2、依据所述模型差异对照表与所述属性归属对照表,探索模型重构方法,通过revit2018软件解析*.gim格式模型与输出*.xdb格式模型;
[0080]
a3、以国家电网发布的《输变电工程三维设计模型交互规范》与《雄安新区平台数据xdb交付标准》中所分别定义的实体模型层次关系,将层级关系通过程序设计进行层级转换;
[0081]
a4、以上述步骤为基础,通过以.net编程语言在revit2018环境中,实现模型转换,通过模型导入、模型转换、模型编译三个步骤实现xdb实体模型与gim实体模型的无损互转。
[0082]
在步骤2中,用c#编程语言编写的接口软件,具体如下:
[0083]
b1、选择待解析的gim模型,步骤b1过程如图2所示;
[0084]
b2、几何模型定义;
[0085]
b3、gim几何信息抽取;
[0086]
b4、坐标转换;
[0087]
b5、几何点在*.xdb标准下的重构,几何点根据xdb几何层级结构进行从新组织,通过构建elementgeometry实体类用于保存顶点序列、顶点坐标、顶点法相、三角面片uv以及材质。
[0088]
某些实在步骤b1中,在计算机设备安装revit2018及其以上版本,在没有数据库的情况下,用户要先根据项目需求,选择相应的*.gim文件,通过xdb服务组件打开数据库、确定工程类型、添加或更新构件几何数据、属性数据和关联关系,最后保存数据库,生成*.xdb文件,在生成xdb文件时配套输出.log日志文件用于描述转换过程中发生的错误情况。
[0089]
在步骤b2中,将*.gim格式的模型对象转换为计算机图像表达中的基本元素;
[0090]
基本元素包括点、线和面;
[0091]
其中,最小单位均为点;
[0092]
自一个点而上通过两个点构成一条线,记为:line1={point1,point2};
[0093]
三个点构成一个三角面记为:meshtriangle1={point1,point2,point3};
[0094]
两个三角面构成一个平行四边形面,记为:
[0095]
planarface={meshtriangle1,meshtriangle2};
[0096]
多个四边形面构成一个实体模型,记为:
[0097]
solid={planarface1,planarface2,planarface3.......planarface
n
};
[0098]
多个实体模型对应gim中一个mod文件,记为:
[0099]
mod={solid1,solid2,solid3.......solid
n
}。
[0100]
在步骤b3中,*.gim格式的几何模型均包含在*.mod几何模型单元中,*.mod采用对象附加参数的方式进行描述;
[0101]
其中,对象用对应的英文,首字母大写;
[0102]
参数之间采用1个空格分开;
[0103]
对象和参数之间采用1个空格分开。
[0104]
所有模型原点坐标都为0,0,0。
[0105]
长方体的几何表达方式如下:
[0106]
定义:cuboid l=""w=""h="";其中,l表示长、w表示宽、h表示高;
[0107]
其顶点抽取方式为,先借助revit工具用公制常规模型构件一个长方体实体,其拉伸截面为四条直线边,具体如下:
[0108]
line1={(0,0,0),(l,0,0)}
[0109]
line2={(l,0,0),(l,w,0)}
[0110]
line2={(l,w,0),(0,w,0)}
[0111]
line2={(0,w,0),(0,0,0)}
[0112]
依据四条直线边创建拉伸体,拉伸高度为h;
[0113]
根据拉伸体按revit几何模型组织方式依次从planarface、mesh、riangles和
points依次抽取信息;
[0114]
最终的points为8个顶点坐标,triangles为三角面索引序号及三角面片法向量,mesh为triangles组织索引,planarface即为构成长方体的6个平面。
[0115]
在步骤b4中,在以项目基点为原点的坐标系统作为整个模型文件的基准坐标系统中,将*.gim文件向*.xdb文件输出,将相对坐标向绝对坐标转换;
[0116]
其中,*.gim文格式下各个坐标点均基于相对坐标系统;*.xdb的坐标系均采用真实坐标系且没有上下层级关系;
[0117]
将*.gim文件下各几何点的坐标根据参考坐标系转换为绝对坐标,此过程通过坐标迭代方式完成,公式如下:
[0118][0119][0120]
其中,x、y、z为构件位于本地直角坐标系下的坐标,下标n=1,2

m,m为构件的迭代次数;
[0121]
a、b、c为坐标变换时的点,即平移量;
[0122]
α、β、γ分别为坐标系变换时绕x轴、y轴以及z轴旋转的角度,以逆时针方向为正。
[0123]
在实际应用中,以*.gim中项目基点坐标为准;
[0124]
根据不同构件而定,列如*.gim文件中cbm次数为1,dev相对cbm为2次,mod相对dev为3次,以此类推,当下标n=m时,表示构件位于转换后统一以项目基点为原点的直角坐标系下的坐标。
[0125]
如图3

5所示,在步骤b5中存在2个流程,其中一个流程为电网点状工程转换过程,然后转换过程中错误日志生成过程;
[0126]
点状工程第一步导入点状工程如变电站、升压站、开关站的*.gim文件,第二步通过revit核心api解析*.gim文件,将其中模型信息还原为几何体、几何面、几何点及其索引信息,第三步通过xdb数据核心类,将解析后的几何信息按xdb模型数据层级进行封装,第四步输出*.xdb的电网点状工程模型。
[0127]
如在导出过程中在上述四步中任意一步出现失败,则自动调用图4错误日志生生成过程流程图中错误记录生成流程,第一步在转换过程中进行信息匹配正确性记录,如有错误操作记录则自动向错误池中新增一条记录,如没有则错误池数量为零,第二步待整个转换过程结束后,查询错误池数量是否为零,如过为零则不输出错误日志,如结果不为零,则根据错误日志记录情况输出错误日志。
[0128]
另一个流程为电网线性工程转换过程,然后转换过程中记录信息过程。
[0129]
线状工程第一步导入线状工程如电缆工程的*.gim文件,第二步通过revit核心api解析*.gim文件,将其中模型信息还原为几何体、几何中心线、中心线控制点及其索引信息,第三步通过xdb数据核心类,将解析后的几何信息按xdb模型数据层级进行封装,第四步
输出*.xdb的电网线状工程模型。
[0130]
如在导出过程中在上述四步中任意一步出现失败,则自动调用图4错误日志生生成过程流程图中错误记录生成流程,第一步在转换过程中进行信息匹配正确性记录,如有错误操作记录则自动向错误池中新增一条记录,如没有则错误池数量为零,第二步待整个转换过程结束后,查询错误池数量是否为零,如过为零则不输出错误日志,如结果不为零,则根据错误日志记录情况输出错误日志。
[0131]
本发明的应用打通国网与雄安新区城市模型底层格式,通过可与城市模型互通、互融、互生的电力模型,实现电网与城市发展同步的目标。
[0132]
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献