基于C#的DWG格式文件在线浏览及热点关联系统的设计与实现
2018-11-15梁光瑞高尚建石宝山王学仁
魏 国, 梁光瑞, 吴 巍, 高尚建, 石宝山, 王学仁
(中海油能源发展装备技术有限公司, 天津 300452)
引言
目前施工图纸等信息的查看依然无法摆脱计算机硬件水平与专业应用软件的束缚,图纸等相关信息的管理依然停留在人工阶段。随着智能建筑和互联网+的发展,给现场施工人员及管理人员造成了很大的不便,为此本文通过对DWG格式文件的探索研究[1],结合DWG格式文件在线浏览技术,提出基于.NET,利用可视化的编程语言C#对DWG格式文件进行解析,设计并开发DWG格式文件在线浏览与热点关联系统,不仅具有DWG格式文件在网页中的在线浏览、DWG格式文件中热点与宿主系统、热点关联信息树目录的互相链接导航,还具有DWG格式文件文字热点的自动识别、热点规则定义及热点的增加、删除、修改,热点树目录和热点关联信息树目录的管理,日志记录、展示及日志的输出等多种功能。
1 开发工具
本系统主要采用B/S(Browser/Server,浏览器/服务器)架构、利用Microsoft Visual Studio 2012开发平台、C#编程语言进行开发。B/S构架结合浏览器的多种脚本语言和Active X技术,减轻服务器负担、增加交互性,利用通用浏览器实现原本需要专用软件才能实现的强大功能,并且可以实现局部实时刷新;C号控制数据处理、存储与输出以及系统界面的设计。
2 系统功能与实现
根据DWG格式文件在线浏览与热点关联系统要实现的功能,将其划分为前端展示与后台管理两大模块,前端主要实现DWG格式文件网页浏览及热点展示与交互,而后台管理系统主要实现DWG热点信息的具体管理,其具体系统结构如下图1所示。
图1 DWG格式文件在线浏览与热点关联系统功能模块
2.1 前端展示部分
DWG格式文件作为一种Auto CAD的专属文件,其数据结构主要包括头部、块实体部、实体部、非实体部以及其他信息五大部分构成。系统前端主要分为DWG格式文件网页在线浏览、DWG格式文件热点展示及交互两大模块。关于DWG格式文件网页在线浏览,主要通过对DWG格式文件数据结构类型的分析,利用C#编程语言对此进行编码,实现DWG格式文件的在线浏览。
DWG格式文件热点展示及交互,主要通过程序设计自动识别DWG格式文件中可能的热点信息,根据正则表达式进行判断,确定热点并与目录树进行关联。其中热点信息的确定作为DWG格式文件热点展示及交互功能实现的关键,主要通过以下步骤实现:
1)获取DWG格式文件中所有文字信息,将其以字符串的形式存储;
2)从数据库获取热点规则,例如图纸类型的正则表达式、管线类型的正则表达式、设备类型的正则表达式;
3)将文字信息与热点规则进行匹配计算,实现文字热点识别规则;
每一个设备或图纸的热点名称都具有特别的含义,例如一张图纸中一根管线的热点名称为KLA-2-CEPA,对应热点识别的正则表达式为^[A-Z]{3}[-][0-9]{1}[-][A-Z]{4}$,其中字符“^”与字符“$”分别表示正则表达式的开始与结尾,“[A-Z]{3}”表示该字段由英文字母大写A至Z中的任意三个字符构成,“[-]”为连字符,“[0-9]{1}”表示该字段由阿拉伯数字0至9中的任意一个字符构成。
4)通过for循环语句进行正则表达式具体类型的步判断,具体程序如下:
for(int i=0;i SonZhenze=zhenze.Split("$");//每个类型的正则表达式 foreach(string item3 in SonZhenze){//循环i类型下的第j个正则表达式 if(Regexs(s,item3)){//正则表达式判断是否满足list.Add(s);}}}//将热点保存到集合中 后台管理部分主要分为DWG热点信息管理、系统管理以及日志管理三大模块,每一模块均具有不同的功能,均可完成不同的任务,但相互之间紧密联系。 DWG热点信息管理模块主要将系统中热点信息、图纸信息、热点识别规则、热点关联信息树目录的主要内容通过系统设置及自动识别,为便于信息的查询与管理,将具体信息填入预先设置的表格中[8],其中主要包括DWG格式文件编码、热点具体信息、设施类型与单元、操作具体信息、关联目录树规则名称等内容。每一份DWG格式文件均对应唯一的DWG格式文件编码,其DWG格式文件中的每一个热点对应唯一的热点编码,热点编码的信息来源于宿主系统和DWG格式文件提取的热点信息,当两条数据的热点编码相同时,合并为一条记录,并建立DWG热点与宿主系统的热点信息链接关系。 系统管理模块主要包括识别规则管理、关联树目录规则管理、数据同步、系统接口四大部分。其中识别规则管理将系统中现有的所有热点识别规则进行汇总,包括热点类型与识别规则、应用范围等内容,或通过对系统中的现有热点识别规则进行搜索查找查看其具体信息。系统也可通过“添加”选项进行设置新的热点识别规则,通过在规则名称、热点类型、识别规则、规则说明填写相应的内容,选择应用范围即可实现增添新的热点识别规则。程序设计原理主要通过获取每一个输入框的ID值、输入内容后获取其value值、选择不同适用范围对应的标签值,点击“保存”按钮后将其获取到的所有value值存入数据库,完成新增热点识别规则。对于新添加的热点识别规则,系统会根据应用范围进行实时更新,如关联目录树规则管理中的相关数据及时更新保存至数据库中。 关于关联树目录规则管理,系统编码将所有关联树目录规则的名称、描述、设施单元等具体详细信息进行汇总,在此通过添加设置新的关联树目录规则,即可对系统中的相关热点建立关联树信息目录;对于系统中相关数据信息的增加、删减、修改,系统中的数据同步模块均会实现相关的数据同步,其主要是通过记录其修改的热点及关联信息,系统经过定时不间断的更新,实现相关数据的同步。例如在关联树目录规则管理页面点击“新增”按钮,在名称及规则描述输入框中填写具体内容,不同的输入框对应不同ID值,输入具体内容后将其分别赋值给对应value值,选择作业公司及设施类型,不同的作业公司与设施单元对应不同的编号,设置完成后点击“新增”按钮,将所有数据存入数据库中,并对相关不同作业公司、不同设施类型的关联树目录进行更新,将其所有数据更新保存至数据库中[1]。 日志管理模块主要包括操作日志与系统日志两部分。操作日志记录所有操作的具体信息,包括ID、类型、操作内容、用户名、客户端IP及操作时间等详细信息,通过查询操作日志即可了解系统被操作的具体信息;系统日志记录系统中信息自动更新的具体信息,包括平台、类型、图纸、状态、处理情况等详细信息,可根据状态或操作日期进行范围限定,搜索查询其相关系统自动操作的具体信息。关于操作日志及系统日志的具体获取过程分别如下: 操作日志具体获取过程: 1)系统启动获取ID号、记录ID类型; 2)系统登录获取用户名、客户端IP; 3)系统发生变动时记录其具体内容、时间。 系统日志具体获取过程: 4)获取系统自动更新的平台信息; 5)获取系统自动更新的具体类型、图纸信息; 6)记录系统自动更新后的状态及处理情况。 DWG格式文件在线浏览与热点关联系统实现了DWG格式文件在网页中的在线浏览、DWG格式文件中热点与宿主系统,热点关联信息树目录的互相链接导航,DWG格式文件文字热点的自动识别、热点规则定义及热点的增加、删除、修改,热点树目录和热点关联信息树目录的管理,日志记录、展示及日志的输出等多种功能,是针对中国大型工程设计、施工及管理一体化团队定制研发的专用系统软件,系统不仅摆脱Auto CAD专用设计软件的束缚,还大大提高了项目施工及管理效率。当然系统目前还存在热点识别规则不够简单、交互界面不美观等缺陷与不足,在后续系统的研发过程中将进一步完善,使其达到良好的效果。2.2 后台管理部分
3 结语