您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页CAD图形文件关键字智能识别系统设计与实现

CAD图形文件关键字智能识别系统设计与实现

来源:意榕旅游网
测量与信息化

CAD图形文件关键字智能识别系统设计与实现王洁茹李紫凝李赫(长江航道测量中心武汉430010)【摘要】本文分析了航道图形文件资料的特点,研究AutoCAD的二次开发过程,发现可以通过VisualBasic集成开发环境设计出一套智能识别、提取图形文件关键信息的工具。描述了其设计流程及功能实现,并经过功能测试,取得了较好的使用效果。【关键词】数字航道;智能识别;VisualBasic【中图分类号】TP319文献标识码:A文章编号:1006-7973(2016)03-0047-041引言

在长江航道“十三五”期发展的总体目标中,深化改革创新、突出科技引领是重点。随着信息化建设的力度逐渐加大,大量的航道地形、水文记录、报告文档、影像录音等数字资料的规模日益增长,呈现“井喷”状态。每项数字资料都需要填写各种元数据信息,包括文件种类、制作时间、使用用途等几十项内容,还要对各元数据的相关信息进行综合审核,对系统内的数据进行整合、更新、维护等管理操作。人工识别录入过程十分繁琐,严重影响工作效率;元数据填写时主观因素较大,影响了数据准确性。因此,将这些海量的航道信息资源快速、准确地识别提取并录入到数字资料管理系统之中,为更进一步数字资源共享和应用集成服务提供数据支撑,是数据管理过程中面临的一个重要研究课题。

面临的种种问题,研发出一套可以智能识别、提取航道CAD图形文件关键信息并导出xls文件的工具。工作人员只需将CAD图形文件规范放置在软件所在文件目录,打开软件等待软件后台打开图形文件资料自动提取图幅名称、编号、比例尺等关键信息,最后形成导出文件,人工审核无关键信息缺失即可。通过提高数据提取操作中的智能化,加强对录入质量的控制,大幅提高工作效率。2.2

技术方案

设计CAD图形文件关键字智能识别与提取工具,首先要对航道测绘成果资料数据进行分析。鉴于待提取CAD文件来自长江沿线6个区域局及测量中心,图纸信息绘制方式具有多样性,无法利用图元类型、颜色或图层信息等进行元信息分类提取。但分析研究大量图纸后发现仍有特征规律可循。于是在充分研究《国家基本比例尺地图图式》系列标准中对地形图图廓及整饰内容的相关标准基础上,分析出航道测绘成果资料数据关键要素的特性,具体情况如表1所示。

2图形文件信息识别系统

2.1总体思路

根据航道测绘成果资料特点以及维护工作中

2016·347中国水运·航道科技

表1

序号12345678

图形关键信息内容

图幅名称图幅编号比例尺施测单位坐标系统、高程系统

绘图日期左下角X、Y坐标

图幅尺寸

航道测绘成果资料数据分析

信息所在图幅位置

图廓正上方

图廓右上方,且由“编号:”字符引出。

图廓正下方图廓左侧、下方图廓下方、左侧图廓下方、左侧图廓左下方点坐标图幅边框尺寸

信息提取研究

有可能是块信息,需要进行块分离。有可能是块信息,需要进行块分离。信息格式特殊,需要进行修正。字符单个独立排列,需要按顺序连接导出。

一般放置在图廓左下方第二、三行一般放置在图廓左下方第一行

图廓内框左下角坐标根据图廓纵横比进行判断

通过上表分析,知道了关键信息所在图幅的相对位置,软件对图纸包含的图形对象进行全部扫描,首先定位图幅边框位置,再通过精确判断的方

式,对图纸信息进行关键信息提取识别,软件基本流程如图1所示。

图1软件运行流程图

482016·3测量与信息化

3软件编码与实现

采用VisualBasic集成开发环境实现AutoCAD的二次开发,通过ActiveX技术获取AutoCAD提供的COM接口实现对AutoCAD图纸信息的读取及数据分析,从而达到图纸自动识别的功能。

软件主体代码为INFO类,用于获取相关图纸信息,关键代码为GetDWGRect及GetDWGInfo两个过程,定义及说明如下:

(1)GetDWGRect过程Mods=AcadObjectsEndIf

DimObjAsVariant(2)GetDWGInfo过程'AcadObject

PublicSubGetDWGInfo()

过程无参数,根据GetDWGRect过程所产生保存了图纸边框位置信息的DWGRect变量对ObjArr全局数组中保存疑似图纸信息数据,根据图纸信息位置特征,进行分析提取,从而得到图纸信息。部分源码如下:

PublicSubGetDWGInfo()ReDimDetail(0)ReDimTempObjs(0)ForI=0ToUBound(ObjArr)IfIsEmpty(ObjArr(I))ThenExitForIfObjArr(I).ObjectName=\"AcDbText\"

OrObjArr(I).ObjectName=\"AcDbBlockReference\"OrObjArr(I).ObjectName=\"AcDbMText\"Then

Pt=ObjArr(I).InsertionPointIfObjArr(I).ObjectName=\"AcDbText\"

OrObjArr(I).ObjectName=\"AcDbMText\"Then

TempStr=ObjArr(I).TextString

PrivateSubGetDWGRect(DocAsVariant,OptionalAcadObjectsAsVariant=Nothing)

其包含两个参数Doc为AcadDocument对象,AcadObjects用于扩展函数使用,默认值为Nothing。

GetDWGRect过程扫描图纸中全部图形对象,对图纸边框上、下、左、右进行定位并保存到全局变量DWGRect中,并将疑似图纸信息数据保存至全局数组变量ObjArr,扫描结束后调用GetDWGInfo过程实现对图纸信息的提取;针对于某类特定的图纸,其图纸信息被保存在AutoCAD属性块中,发现此类图纸,直接获取其图纸信息保存至Excel文档中,并继续分析下张图纸,不再调用GetDWGInfo过程。部分代码如下:

PrivateSubGetDWGRect(DocAsVariant,OptionalAcadObjectsAsVariant=Nothing)'AcadDocument'爆炸'图纸集合

DimModsAsVariant

'

AcadModelSpace

IfAcadObjectsIsNothingThenSetMods=Doc.ModelSpaceElse

4系统功能测试

运行此程序对电脑环境配置要求较低,只需安装有AutoCAD及excel即可,下面以一个批次的水道地形图为例,图2、3、4演示了整个批量录入过程。

(1)将需要读取的图形文件放置在信息提取程序所在文件夹内运行图形信息提取程序,用户交互界面显示如图2所示。

图2运行软件后交互界面显示

2016·349中国水运·航道科技

(2)点击扫描目录下图纸信息至excel兼容文件out.csv按键并用excel打开进行审核处理。运行软件提取数据结束后交互界面如图3所示,运行软件后导出信息表格如图4所示。

等待程序读取图形数据,最后得到out.csv文件

图3运行软件提取数据结束后交互界面显示

图4运行软件后导出信息表格效果图

实验结果显示,CAD图形文件关键字智能识别与提取软件可以后台自动打开图形文件并读取关键信息,导出每个图形文件时间控制在分秒级,减少一倍原有工作时间,达到了预期效果。

【参考文献】

[1]尤晶晶.工程软件中VB数据库编程技术的应用及选择思路解析[J].数据库与信息管理,2016,04.[2]曹俊.VisualBasic的数据库数据自动录入方法[J].应用科技,2001,12.[3]韩涛.计算机自动识别CAD图形文件技术的实现[J].铁道勘测与设计,2005(02):86-89.[4]夏胜松.CAD图纸管理系统的设计与实现[D].厦门:厦门大学,2012.[5]穆泉伶.图纸管理系统中CAD图形文件自动转换设计和实现[J].长春大学学报,2010,20(10):20-22.【收稿日期】2016-04-21

【作者简介】王洁茹(1989-),女,助理工程师,主要

5结论

CAD图形文件关键信息智能识别系统在设计完成后在长江航道测量中心得到全面推广,已经完全替代人工提取元信息的工作方法,取得了较为理想的效果。

本系统除了批量操作多项数据外,还可以有效检验图形文件信息完整性,提高了成果录入过程中的信息化和智能化水平,为海量航道信息资源管理下的信息快速录入提供了一个有效的解决思路。

从事数据库维护管理工作。

502016·3

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- yrrf.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务