《从CAD图形中获取工艺信息的方法.docx》由会员分享,可在线阅读,更多相关《从CAD图形中获取工艺信息的方法.docx(48页珍藏版)》请在三一办公上搜索。
1、从CAD图形中提取工艺信息的方法摘 要本文将针对当前各个生产单位的工程CAD图纸的不同模式及其现有系统单一功能的缺点,提出支持多模式CAD信息智能提取算法。以DPM技术为基础,进而提出构筑CAD/CAM/CAPP集成系统的模型。在此将主要讨论CAD模板的定义,信息的提取算法,CAD数据与PDM数据交换,以及集成系统的模型和实现等问题。关键词 : 信息提取 PDM CAD/CAM/CAPP 集成系统AbstractThis paper will aim at different model engineering CAD of every unit of produetion and the d
2、efect of singleness function in existence system,present the algorithm of supporting multi- model extracting information from CAD intelligenly, further present constructing the model of CAD/CAPP/CAM integrated system on the basis of PDM technology. In here we mainly discuss the definition of model a
3、nd the algorithm of data extraction and the data exchange between CAD and PDM,finally discuss the instance about above,then present a model about system integration.Keywords:Information Extraction, Porduct Data Mnagaement,CAD/CAM/CAPP,lntegration System 目 录第一章 绪论51.1 引言51.2 工程CAD图信息智能提取的研究综述61.3 本文研
4、究的主要内容7第二章 表格文档的逻辑结构与数据提取算法82.1 文档表格的基本结构82.2 标题栏数据栏间的依赖关系102.3 基本表格和数据栏区域构成的矩形模型102.4 逻辑结构提取方法112.5 逻辑结构提取算法改进一数据栏矩形区域投影算法14第三章 多模式CAD图纸信息智能提取与回写技术173.1 典型CAD图纸模板及表结构的定义173.2 CAD图纸表格的语义关联约束193.3 CAD图纸自由表格的矩阵表示223.4 CAD图纸子表提取方法24第四章 CAD智能提取系统与信息共享应用实例模型294.1 支持多模式CAD智能提取系统实例294.2 基于PMD为核心的系统整合模型38第五
5、章 结论43参考文献44致 谢47第一章 绪论1.1 引言随着计算机技术的飞速发展,在国民生产过程应用CAD技术的手段也逐渐成熟起来了。很多企事业单位都在这个成长阶段发掘CAD技术的用武之地,因此出现了各式各样的CAD软件和处理技术。可见,CAD技术在各个领域发挥着重要的作用。传统制造业的生产过程正发生着深刻的变革,先进制造技术正在显著地提高企业的产品质量、经济效益和市场竞争力。越来越多的企业将先进制造技术作为企业适应迅速多变的市场需求和提高竞争力的主要手段。先进制造技术还在大幅度改善企业产品结构、生产过程和经营管理模式上发挥重要的作用。越来越多的企业把能够高质量、快响应、灵活、敏捷地满足客户
6、需求的先进制造技术作为企业继续生存并保持发展的有效途径。先进制造技术强调过程集成和过程重组,明显区别于传统制造技术单纯从技术角度提高设计水平、制造手段与生产率的做法。先进制造技术更强调管理技术、制造技术与信息技术的结合。而且,先进制造技术的出现,使得企业的组织结构也从在从传统的功能组织结构向过程组织结构变化。制造业的信息化经过十几年的发展,取得了长足的发展,特别是最近5年的发展尤为迅速,新的概念不断出现,新的软件产品不断开始在企业得到应用。制造业企业信息化是一个大的系统工程,包括CAD技术、CAPP技术、PDM技术、ERP技术。既有纯技术的,也有管理的,我们结合多年上百家企业信息化的工作实践经
7、验,对照信息化工作的各个阶段,可知制造业信息化的几个关键环节和需要重点考虑清楚的问题。从CAD到ERP整个系统的数据信息流动方式,PDM管理CAD产生的产品图纸,并从CAD图纸中提取标题栏、明细栏信息,并产生产品的结构树,整理后导入到PDM系统中去,对于三维CAD则通过读取图纸文件中记录结构的数据来产生产品结构树。通过PDM系统来维护企业的产品结构信息、版本信息、进行数据版本的更管理、产品数据的工作流程的管理、图文档的查询管理等,这里PDM充当了品开发的一个管理平台。工艺部门组织产品的生产工艺编制以及生产准备需要设计部门的PDM提供产品结构信息和产品图纸信息。通过工艺管理系统,工艺部门组织工艺
8、的编制,工艺路线的组织,并且汇总产生生产一线需要的各种报表,例如:产品明细及工艺路线表材料定额明细表工时定额表,并且对工艺信息实现有效的权限管理,工艺数据更改管理等。ERP即是生产管理的平台,它的技术数据来源于前端的技术部门,它从工艺管理系统读取PBOM和各种汇总报表,来进行企业的车间管理、生产管理等。从以上信息化过程可以看出,所需的数据关键还是来源于CAD图纸。因此从CAD图纸正确提取数据信息的过程是重要的一步,否则整个CAD/CAM/CAPP集成系统的精确率将受到影响。由于目前各企业所使用的图纸模式各异,为了实现系统的通用性,因此,实现多模式CAD图纸信息的智能提取技术就显得越来越重要了。
9、1.2 工程CAD图信息智能提取的研究综述1工程CAD的应用和发展计算机辅助设计(CAD)技术作为电子信息技术的一个重要组成部分,是促进科研成果的开发和转化、促进传统产业和学科的更新和改造、实现设计自动化,增强企业及其产品在市场上竞争能力,加速国民经济发展和国防现代化的一项关键性高技术,也是进一步向计算机集成制造(CIMS)发展的重要技术基础。从广义上说,CAD技术包括二维工程绘图三维几何设计有限元分析数控加工仿真模拟,产品数据管理网络数据库以及上述技术(CAD/CAE/CAM)的集成技术等。CAD应用工程是与CAD技术研究开发推广应用相关的高新技术密集的大型系统工程。CAD应用工程的实施,标
10、志着我国在企业信息化信息企业化的大道上取得了长足的发展。CAD技术的使用使产品和工程设计制造的工作内容和方式发生了根本性变革,这一技术成为工业发达国家制造业保持竞争优势开拓市场的重要手段。1990年美国国家工程科学院将CAD技术评为当代十项最杰出的工程技术成就之一。目前,CAD技术日趋成熟,应用日益广泛,有力地促进了全球高新技术的发展和新产品的迅速更新换代。不采用CAD技术就不可能做到波音777大型客机的无纸设计和无纸制造,使其设计制造成本下降30%以上。不采用CAD技术也不可能想象30多人在十天内完成一幢18层高层建筑的方案设计和施工图输出。列举不尽的这些优秀产品和工程,无一不是采用CAD技
11、术的结晶。我国作为发展中国家,虽然CAD技术的开发应用与发达国家有差距,但也取得了许多辉煌成就。CAD作为关键性的应用技术,己经在我国机械制造建筑工程轻工化纺船舶汽车航空航天影视广告等领域起到催化加速倍增器的作用。CAD技术在我国建筑工程业的应用深度和广度,与发达国家的差距并不显著,其使用效果比发达国家还好。有我国自主版权的CAD支撑软件及其应用软件,已能满足我国企业甩掉图板的要求,并己形成了一定的产业规模。目前,CAD作为关键的共性技术,其广泛应用必将促进人们思想观念工作模式、生产方式的转变。工程CAD图纸的设计及其在制造业的广泛应用,促成了现代先进制造系统的诞生,CAD/CAM/CAPP/
12、PDM等集成应用系统的发展就是CAD应用的典范。2CAD图纸信息智能提取的研究现状目前对工程图信息识别的方法主要有两类:前处理法和后处理法。前处理法是在工程图纸中预定义信息承载对象,再将信息附加到对象上,信息识别时可以通过查询对象的附加属性来实现。该方法的识别效率和准确程度都较高,但其前提条件是图中存在预定义对象,这就限制了它在未预置指定对象工程图中的应用。后处理法通过分析工程图上信息的几何、语义等相关特征,获取所需数据。该方法克服了前处理法对工程图的限制,适用范围广,可以处理不同格式的信息,但对不规则程度较高的实体的识别准确度及效率都有待进一步提高。从图形中提取信息的方法国内外相关研究内容主
13、要是:(1)基于约定的语义或者简图实现的工程图信息提取。一种是分析工程图样中的标题栏、明细表及产品/部件汇总表的形式和内容,归纳了工程图中表格数据的特点,提出了用自由表格的矩阵表示法有效的解决工程图中自由表格的结构提取问题,和从表格获取零部件信息的方法,如目前比较前沿的GGL算法等。另一种是提出了基于装配简图与装配语义的轴类零件信息提取方法,以支持自顶向下的设计过程,如基于零部件的特征提取法等。(2)对于特定CAD的图形,通过将其转换成己知的中性文件格式IGES或者STEP,然后通过对转换后的文件实现信息提取。(3)针对特定CAD系统生成的图形,采用其提供的开发工具或者针对其特定的格式进行信息
14、提取。例如针对AUTOCAD的图形,利用AUTODESK公司提供的二次开发接口ObjectARX或者通过AUTOLISP语言操纵,或者通过DXF(Data Exchange Format)交换文件格式读取,或者通过ActiveX Automation进行信息的获取。1.3 本文研究的主要内容1研究的目的和意义从计算机辅助设计技术的发展可以看出,在不同产品的模块化系列设计过程中,将尽量满足同一产品在设计过程中的资料共享,避免重复输入各零件设备的参数。因此,基于产品数据管理DPM为核心的一体化集成系统的数据信息共享,将最大限度地被后续的各生产阶段所利用。这些数据信息的入库保存与管理是实现产品一体化
15、集成的关键。本文针对不同企业都有自己不同的CAD软件和图纸模板,更好地管理这些CAD图纸和可再利用的资源,提高生产产品的效率,因此致力于研究如何获取不同模式结构的CAD图纸数据信息,并把这些信息保存到系统相应的数据结构中和创建产品零部件和产品结构树,是至关重要的;同时也可为零部件的工艺生产提供可靠的数据,实现生产的一体化。为实现制造业先进生产管理奠定了一定的基础。2研究的内容论文的工作在于研究多模式CAD图纸数据智能提取与数据共享等技术的应用。因此文章首先通过对CAD工程图纸模板如何定义,研究快速进行模型特征匹配与数据提取的算法,输出多种数据格式及表格数据,构建一个支持多模式CAD图纸智能数据
16、提取的集成应用平台。在此,图纸模式定义、快速数据提取匹配算法、及构建智能系统平台是需要解决的主要问题。从而提出系统体系平台结构并对系统中的关键技术进行阐述和介绍。最后通过实例对多模式及改进的快速提取算法等进行验证。第二章 表格文档的逻辑结构与数据提取算法一般来说,一张表格能比较准确明了地表达人们所要说明的信息。讨论如何获取表格中的内容体现出越来越重要了,在信息时代,就必须更加快速传递与处理这些有用的信息。因此自动获取表格文档的信息的相关研究成为一个重要的课题。类似一般表格的图档,需要关注的是表格的几何结构(又称分布结构)和逻辑结构。表格的几何结构通常指的是一种物理性质,如表格的位置、字符的大小
17、以及其比例关系等;而逻辑结构指的是表格内部固有的一种关联关系。所以,表格文档的分析也就包含这两方面的分析,即分布结构的分析和逻辑结构的分析。CAD数据提取算法的研究是建立在一般表格文档数据提取方法之上,其中的很多理论与算法都可以效仿和采纳。因此,充分认识和了解表格文档在逻辑结构与数据提取方面的理论是至关重要的。以前对表格文档的分析己经提出了很多方法,在逻辑结构方面的提取技术一般涉及较少,下面我们将详细介绍一种表格文档逻辑结构提取的算法。这个算法(简称GLG算法)包括三部分:整个文档全局划分;具备逻辑结构的分析;整个文档的全局再划分。这种算法的关键点是逻辑结构的划分,具有较高的精确率,它有利于逻
18、辑结构树的生成。同时,它的健壮性还体现在使用额外的直接相邻关系处理两个不相关表格。最后将在GLG算法的基础上进一步介绍一种逻辑结构提取的改进算法数据栏矩形区域线段投影法,该算法从线段投影长度反映区域面积大小,合理地划分区域所体现逻辑结构,依据区域划分的最大化原则,同样有利于逻辑结构树的生成。2.1 文档表格的基本结构工程CAD图纸的技术数据通常以表格的形式存在,其存储形式及构成方式均不同于普通的图形或文本信息。表的存储形式取决于承载它的图形文件,并随文件格式的不同而变化;表的构成方式则取决于图纸绘制所采用的标准并随之变化,因为表的存储和构成具有分散性、独立性以及多样性等特点。表格栏是由一些水平
19、和垂直线段围成的矩形区域组成的。然而这种表格文档的布局结构能够通过对线段分析获得,在表格文档中存在两种字段,分别是数据段和标题段。数据段是为用户填写的区域,标题段用来指出它从属的数据信息。表格文档包含有两种结构,分布(几何)结构和逻辑结构。分布结构是指表格文档的位置、大小和各字段的比例关系等;而逻辑结构是指字段间的逻辑关系。表格文档的分析由两个阶段组成:分布结构分析和逻辑结构分析。一般来说,一个完整的表格文档是通过两组水平和垂直的边缘线形成的矩形区域。它还能分成几个相对独立的矩形的表格。这里我们称这些独立表格为规范化表格。从结构的复杂性考虑,我们把规范化表格分为基本表格和复合表格。基本表格也可
20、以分为一维表格和二维表格。表格文档的结构和规范化表格的分类如下图2.1示:图2.1 文档结构图一维表格的定义是递归的,最简单的一维表格是由一个标题栏和它附属的数据栏组成的,而一个标题栏和几个附属的一维表格标题栏将形成另外一个一维表格。这个标题栏称为相应一维表格标题拦的总标题;有时这个一维表格仅仅是由几个没有总标题的附属一维表格标题栏构成。如图2.2所示:图2.2 一个没有总标题的单向一维表格示例在一个最简单的一维表格标题栏是第一层标题,对应的表格称为第一层一维表格。层的增长伴随着表格也复杂起来。标题的层如图2.3所示。而且,在一维表格中,标题栏基本上都在数据栏的一边,称为单向一维表格,如图2.
21、2所示。总标题 上标题第一层标题 第二层标题 第三层标题 左标题图2.3 一维表格示例 图2.4 二维表格示例一个二维表格是由一个总标题栏、几个左标题栏、几个上标题栏和数据栏组成的。如图2.4所示。实际上,它可以被看作是一个总标题栏和两个单向一维子表格组成的。一个是由上标题和数据栏组成,另一个是由左标题和数据栏组成。它们的数据栏相同,只是每一个数据栏依赖于两个方向的标题栏。这两个表格各自称为二维表格的D1子表和D2子表。复合表格的定义也是递归的。一个复合表格是由一个总标题栏和几个子表构成的,并且子表可以是一维、二维和其它复合表格组成。可以看出,这个复合表格可以视为一维表格的拓展,它们的不同在于
22、子表类型的不同。而且,数据栏和表格间不是直接相邻形成一个矩形,从而把它归类到一个复合表格。尽管它的子表是一维的,如图2.5所示的两个复合表格。 图2.5 复合表格示例图以上给出了3种规范表格类型的递归定义。可以看出这些定义的基础是从一维表格开始的,又根据一维表格的层次关系,可以得出栏目间的逻辑关系。数据栏依赖于第一层标题栏,第一层标题栏依赖于更高层的标题栏,依次类推。如图2.3所示,数据栏Dl、DZ、D3分别依赖于T2、T3、T4,T3、T4依赖于T5,T5和T2依赖于Tl。2.2 标题栏数据栏间的依赖关系从布局结构的观点分析,watanabe将标题栏和它附属数据栏的依赖关系划分为四类型。分别
23、如图2.6(a)-(d)所示。Liubing等将这四种依赖关系延伸为两种关系类型。一种是标题栏和它的附属数据栏,另一种是标题栏和它的子表的关系。而且另外一种关系类型,nxn的水平依赖,如图2.6(e)所示,也被应用。这种nxn的水平依赖也常用在表格文档,这种关系的类型也仅仅使用在标题栏及其带有横向一维子表之中。六个规范化表格和它们的依赖类型如图2.6所示。 (a) 1-垂直依赖 (b) 1-水平依赖 (c) n-垂直依赖 (d) n-水平依赖 (e) n x n-水平依赖图2.6 标题栏和数据栏或子表依赖关系的分类2.3 基本表格和数据栏区域构成的矩形模型一个由标题栏和数据栏组成的规范化表格,
24、总是可以形成一个矩形。对于一个基本表格,直接相邻的数据栏间也可以形成一个矩形区域。如图2.7所示表格。这个特征称为基本表格的矩形化。数据栏组成的矩形被称为数据栏矩形,典型的数据栏矩形如图2.8所示。栏间直接相邻的关系指的是相邻的两种类型,如图2.9所示。 (a) (b) (c)图2.7 基本表格和数据栏区域构成的矩形 (a)横向邻接 (b)纵向邻接图2.8 典型数据栏形成的矩形 图2.9 栏间直接相邻关系的两种类型根据以上对表格文档结构的分析,可以得出基本表格的三种标题栏和数据栏位置关系的表格模型,如图2.10所示。对复合表格,数据栏总是可以构成不同的矩形,如图2.11所示。每一个数据栏的矩形
25、对应基本表格的子表或复合表格子表的一部分。在复合表格中总标题显得比较重要了,因为它可以视为几个基本表格和几个总标题栏组成的。 (a) (b) (c)图2.10 基本表格标题栏数据栏形成的矩形模型(标题栏、数据栏) (a) (b) (c)图2.11 复合表格标题栏数据栏形成的矩形模型2.4 逻辑结构提取方法在了解了表格文档的基本结构后,就必须更进一步研究表格的逻辑结构的提取方法。因为逻辑结构选取的正确与准确性事关表格的语义理解,从而才能正确地提取想要得到的数据。逻辑结构提取的方法可以采用全局一局部一全局划分方法(GLG算法)和数据栏矩形区域投影算法的改进。以下两节内容将详细描述两种算法:GLG算
26、法通过对文档结构的布局分析,该方法主要是针对以上所介绍的两种结构布局特征。其步骤为:表格文档的全局划分,局部逻辑结构分析和全局文档的再划分。分别描述如下:1整个表格的全局划分根据基本表格矩形的特性,首先找到预选的数据栏矩形,然后提取相应来自整个表格的基本表格。具体步骤有:第一步建立候选数据栏矩形列表在整个表格中,将数据栏区域划分成候选数据矩形并且把它们插入到候选数据矩形列表中。使用最大化原则,由直接相邻的数据栏构成面积相对大的矩形,作为一个候选数据栏矩形。例如,在表格中能获得7个候选数据栏矩形,如图2.11所示。有时,根据水平和垂直两不同的方向,可以将直接相邻的数据栏分为数据栏矩形,如图2.1
27、2将分成两个不同数据栏区域。在通常情况下,将选择水平线划分区域而形成矩形,其划分结果如图2.12所示。图2.12 数据栏区域结构划分图第二步对候选数据栏矩形列表排序首先在数据栏矩形列表中对这些矩形从顶端到底端进行排序,并且对于横向相关的矩形,从左到右进行排序。如图2.13所示表格,在表格中数据栏矩形D1和D2是横向相关,D3和D4也是横向相关的。这样候选数据栏矩形列表为Dl,D2,D3,D4。图2.13 数据栏矩形排序情况(标题栏区域、数据栏矩形)图2.14 不相关数据栏分组到同一数据栏矩形情况第三步对数据栏矩形提取基本表格矩形(1)对整个表格文档的矩形,初始化没有处理的区域;(2)在候选数据
28、栏列表中取得第一个数据栏矩形;(3)让数据栏矩形的底线和右线作为参考线,在没有处理过的文档区域里,往上方和左方的方向扩展得到最大的矩形,这样所得的矩形被认为是基本表格矩形;(4)从当前未处理区域提取出基本表格矩形;(5)如果数据栏矩形列表不空,在候选数据栏矩形列表中取得下一个数据栏矩形并且继续回到第(2)步。有时在第(3)步对于数据栏矩形不能找到基本表格矩形,因为在某些特殊情况,两个数据栏分属于两个不同的基本表格,而且这两个基本表格相互直接相邻,并且已经分组到一个数据栏矩形中。例如,在图2.14中的表格,数据栏D2和D4,分别依赖于标题栏T2和T4,在第(1)步可能被分组到同样的候选数据栏矩形
29、中。这样的数据栏矩形将按如下算法进行处理:如果在数据栏矩形中有N行数据栏;划分数据栏矩形为两个矩形,其中上面一个矩形为(n=N-1)行数据栏,则剩下一行(m=l)为另一矩形;按照上面介绍的第(3)步在上面那个矩形找到对应基本表格矩形;如果基本表格被找到,跳到;如果n=l,上面的矩形没有特别的意义,被认为是在文档中的一条分界线,跳到;取出上方数据栏矩形的最后一行,然后把这行放入下面的矩形,这样n=n-l,且m=m+1。跳到;根据列表的顺序,将下面那个矩形插入到数据栏矩形列表。正如上面所描述的一样,一个表格文档能被分成几个规范化表格,即基本表格和复合表格。而一个复合表格又可以进一步划分成更多的基本
30、表格和标题栏。因此,经过全局划分阶段后,整个表格文档将划分为几个基本表格和几个单标题栏,这些单标题栏没有被分组到基本表格矩形。2在每一个基本表格矩形中进行逻辑结构分析根据标题栏和子表及数据栏的前四种依赖关系类型,可以通过分析每一个基本表格相邻关系判断栏间逻辑关系。对于每一个基本表格矩形,将执行如下步骤:第一步 找数据栏的每一行每一列的第一层标题栏从标题栏和它的子表的依赖关系的前四种类型可以看出,第一层标题栏应该直接相邻其右侧或下侧一个或几个数据栏。这样通过分析它们的邻接关系,标题栏的数据栏可以被找到。数据栏的每一行都有同样的左标题,每一列也有相同的上标题。建立它们的依赖关系后,每一个矩形都由标
31、题栏和它的附属数据栏组成,构成一个子表。第二步找更高一层的标题栏与第一步相同,根据标题栏和子表的依赖关系,通过子表递归地合并成另一子表,可以找到更高一层的标题栏。对总标题栏和在其中的子表设置依赖关系。第三步重复第二步的处理过程直到在基本表格矩形中没有未处理的标题栏在二维表格中有一个总标题的例外,有一个标题栏经过第一步和第二步不能被处理。它位于基本表格矩形的左上角,与基本表格的数据栏矩形相反位置。当处理上面几步后,设置这样一个标题栏作为二维表格的总标题栏。3重划分整个表格文档获得复合表格根据标题栏层次关系的特点,对候选总标题栏通过搜索其子表便可识别出复合表格。第一步获取候选总标题栏存在两种情况标
32、题栏可以被认为是候选标题栏。一种情况就是单标题,它没有分组到任何基本表格矩形中;另一情况就是总标题在单向一维表格中。理由是被考虑的在基本表格的总标题是复合表格存在的基础。如图2.10(c)所示。第二步对候选标题栏从右下方到左上方排序首先在纵向从下向上对矩形排序,然后在水平方向从右向左排序。第三步为标题栏找对应的子表由上面讨论的五种依赖关系的描述,收集总标题栏右下方的子表,并把它们组合成复合表格。在第二步候选标题栏被排序的理由是其右下方复合表格能被识别,对于更多复杂的复合表格可能成为候选子表。根据以上介绍的方法,表格文档的处理过程如图2.15所示。 (a)原表格文档 (b)D1-D7为已排序数据
33、栏矩形 (c)B1-B7为基本表格矩形(整个表格的全局划分) (d)C0是整个表格再划分得到的复合表格图2.15 表格文档的全局划分过程:( c)为经过处理的结果;(d)为经过处理的结果2.5 逻辑结构提取算法改进一数据栏矩形区域投影算法由上一节我们知道,矩形是通过水平和垂直两方向的线段构成的规则区域。表格正是矩形的一种实例化表示。矩形区域也存在水平和垂直方向上的投影,而且其最终将形成一条线段。如图2.16所示,规则矩形区域数据栏在水平和垂直两方向上的投影均为一线段,可以从两个方向考虑,包括水平方向和垂直方向。(这里假设标题栏在数据栏的上方)图2.16 水平和垂直方向上数据栏矩形区域的投影数据
34、栏矩形区域投影法对数据栏区域划分的步骤基本同GLG算法,只是在第一步建立候选数据栏矩形列表进行了简单的改进,建立候选数据栏矩形列表方法简单描述如下:对图2.16的数据栏区域划分,依据面积最大化原则,由直接相邻的数据栏构成面积相对大的矩形,作为一个候选数据栏矩形。在工程CAD图纸中,由于图纸相对规范,数据栏高度一般也为定值,面积计算方法的比较取决于两方面因素:水平方向考虑,面积是投影所得线段的长度和数据栏在垂直方向上的行数。加入一点人为规定的划分规则,分两步:确定投影方向;从数据栏整体结构看,如果水平方向上的独立数据栏多于垂直方向,考虑水平方向上的投影,如图2.16(左);如果垂直方向上的独立数
35、据栏多于水平方向,则考虑垂直方向上的投影,如图2.16(右)所示;如果水平方向与垂直方向的独立数据栏个数相等,则整个数据栏形成一个数据矩形区域,可以任意投影,如图2.8所示,否则进入步骤。划分基本数据栏;i)如果投影在水平方向,这样垂直方向上存在如下情况:当第一行的最后没有独立数据栏,则划分将与使它完成水平相连的数据栏一起构成基本数据栏;依次类推;ii)同样,如果投影在垂直方向,这样水平方向上存在如下情况:当左边有空缺的独立单元格,则单独划分为一个基本数据栏,如图2.16(右)。当有两个数据单元格存在时,必须考虑面积最大化原则。使用上述规则的基本步骤,很容易判断划分的数据栏区域,从而得到基本数
36、据栏,待插入到侯选基本数据栏列表。划分结果见图2.12所示。为了更加清楚理解上述规则,图2.17所示为两个数据拦表格的一般划分情况。数据栏矩形区域投影法划分数据栏很直观,准确率也相对高。可以省略判断不相关数据栏分组到同一数据栏矩形的情况(如图2.14所示情况),可以直接进入对基本表格进行逻辑结构的分析阶段,这样效率也相对地提高。通过划分规则的多次测试比较,发现该改进算法在整体数据提取效率方面有显著改善。图2.17 数据栏表格划分示例图第三章 多模式CAD图纸信息智能提取与回写技术CAD技术的推广应用明显地提高了设计能力和图纸质量,产生了大量频繁使用的CAD图纸;当前以D系统对图纸等资料的管理,
37、产品的配置管理等功能却没有支持。为了使用户可以更好的管理大量的CAD图纸,比如根据图号、项目、设计人、工作阶段、审批情况、日期、类型以及预先定义的各类参数(如材料、重量等)作为条件进行查询,必须收集许多图纸内容数据。而这些图纸内容数据通常都是图纸标题栏和明细表中的信息,如果通过逐个将旧图纸标题栏输入数据库中,将是一个量大又繁杂的重复工作任务。由于CAD图纸表格与一般图表文档在结构方面的一致性,在标题栏语义结构分析时,可以对照一般图表文件的独立单元格的结构,对其逻辑语义和结构进行分析;而明细栏刚好与图表文件结构相同,先对其进行逻辑结构的划分,然后进行逻辑语义的约束。考虑实现高效、准确地自动提取图
38、纸标题栏信息,实现大量现存电子工程图档的自动入库。具体的,我们当前将先实现AntoDesk公司的dwg图像中特定文字信息提取,以下技术方案也主要是针对dwg格式考虑,以后可以考虑实现支持其他CAD文件的信息提取。我们希望在AutCoda平台上开发这样的功能模块:i)定义标题栏,明细栏模板。ii)劝按照模板对DWG格式电子图档的标题栏、明细栏等信息的无损失提取和自动入库。iii)对于非定义模板,也应该根据一定的提取算法能够实现标题栏、明细栏等信息的提取。iv)对AutoCAD应该支持版本R12,R14和R2000。v)提取过程中不能显式地启动AutoCAD。有了这些基本的功能模块后,就能实现对多
39、模式CAD图纸的智能提取技术。所谓多模式,就是指以D图、标题栏与明细栏在CAD图纸中位置不同形成的不同模板。由于每个企业都有自己的设计风格,自然模板格式也不同,但同一企业的设计模板一般相同。要实现对多模式CAD图纸的智能提取,就必须使软件具有通用性,因此定义好图纸的不同模板格式是至关重要的。本文将从CAD图纸模板结构定义出发,逐步深入探讨模板内部元素的结构与语义关联约束,从而最终实现CAD图纸信息的智能提取技术。3.1 典型CAD图纸模板及表结构的定义1概述在绘制工程图时,不同的企业可能依据不同的标准,如国标、部标、厂标等,标题栏和明细表的样式并不一致。但在一个企业内部,所使用的标题栏格式和明
40、细表格式却是比较统一的。解决这个问题最好的方法是定义模板:对这些不同样式的标题栏和明细表定义相应的标题栏模板和明细表模板,而在一个企业内部,因为样式相同的标题栏和明细表只需定义一次模板即可,这种定义只需一次或几次而己。如果不定义模板,直接提取图中所有字符串,然后按各字符串的位置关系来识别字符串间的语义关系,这时虽然也可以找到部分字符串间的语义关系,但在大量的复杂工程图纸中,不可能将所有相关字符串都匹配上,而且匹配算法设计难度极大,匹配准确度低,运行效率也很低。所以这种方法不可取。通过人工定义模板,可以直接将具有一定位置关系的单元格定义为互相之间有某种语义关系,剩下的工作就仅仅是搜索哪些字符串落
41、在单元格中,这就极大地简化了算法的复杂度,并可将提取准确度提高到近乎百分之百,同时运行效率也有明显提高。2单元格的分类模板定义工具应具有通用性,为此应对其中的单元格进行了分类,见图3.1。图3.1 标题栏单元格分类如图3.2所示,图纸信息分为标题栏和各个可增长的字表(包括明细表),在标题栏中又有两类信息单元:成对单元格和独立单元。成对单元格成对出现,如“描图”单元格与“FFLin”单元格对应,这里称“描图” 单元格为名称单元(项目名称单元格),“FFLine”单元格为数值单元(项目值单元格);独立单元格仅有项目值,而无与之对应的项目名单元格,如“国家标准机械制图”或“装配件”单元格。对于子表,
42、通常其单元行数目不定,但每个表的增长方向都向上或向下,有的表有表头,有的表无表头。3模板的定义方式模板的定义可以采用两种方式:1)块模板:利用AUTUCAD中“图块”的属性功能直接定义。这种方法是将图纸中的标题栏和明细表做成相应的图块。对标题栏块,将标题栏的每一种图元信息都做成一个属性,直接根据属性的名称和数值从图纸中提取出图纸信息。对明细表或其它子表,则是在表格的数据块上定义好表头信息,读取时根据表头信息将数据区分开来。2)专用模板:使用专门的模板定义工具,直接在图纸上定义各种信息提取格式。这种方式主要利用单元格的位置信息和字符串对模板和图纸进行匹配。这两种方式各有利弊。第一种方式适合新绘的
43、图纸。一个企业只需做好一个或多个模板,在绘制新图纸时插入定义好的图块即可。这种方式的优点是利用图块的属性可以做到信息的精确定位和读取,并且可以利用图块的特性方便标题栏的编辑。最大的缺点是不适合己经绘制好大批图纸的企业(需要对每一张图纸进行人工处理)。这种方法最适用于那些标题栏和明细表形式很不统一的单位和企业。第二种方式比较灵活,适应性极强。但是要求一个企业内部的模板格式较为统一。在使用第二种方式定义模板时应包括以下信息:(1)整个标题栏的基点和包围盒。通常取标题栏右下角为基点,整个标题栏中的坐标值都是对基点的相对坐标。(2)所有单元格的定位信息及匹配关系。包括单元格名称、包围盒坐标。与数值单元
44、格相对应的信息项。(3)所有子表的表头信息,包括子表的基点,表头各列的宽度和相对应信息项,数据行的高度,各信息行的包围盒。综上所述,第二种方式更加适应于企业的状况,因此我们采用第二种方案开发信息智能提取系统。7GB8769-96螺母32A36GB8769-96M20螺栓32A35M-PART-05缸盖1A1044M-PART-04缸体1HT2053M-PART-03连杆8QT600808002M-PART-02活塞2ZG20208001M-PART-01曲抽2QT60060800主传动序号代号名称数量材料单重重量备注装配件国家标准机械制图标记处数更改文件号签字日期设计FFLin标准化QA-01
45、图样标记数量重量比例发动机总装绘图FFLin校对HIT-01审核E0-0118001:1M-ASM-00审核Master日期4-12-99共12页第1页图3.2 CAD图纸装配图样例表3.2 CAD图纸表格的语义关联约束表信息虽然在表现形式上是相对独立的,但在逻辑上却是相互依赖和关联的,而且信息之间存在着数据重叠的现象。为了保证数据的一致性、唯一性和关联性,在表信息提取入库时,应进行关联重建处理,使其达到逻辑上的有机结合。1基于单元的表内部关联约束CAD图纸中的表格中的单元格是由图形表格和文本内容共同构成。其中,就单元格结构来看,它是由水平和垂直线、文本字符串一起构成的。而对于一个整体表格而言
46、,可以将表格描述为三个集合的一个共同体。具体如下:ljh, ljv, sk,其中ljh表示水平直线集,ljv为垂直方向的直线集,sk为字符集。就单元格而言,它由矩形格r及其框内的字符串s共同组成,具有图形和文本两种属性。其可表示为:u(r(Pbl,Ptr),s(Pb,t),其中r(Pbl,Ptr)为单元格的边界,由构成单元格的矩形区的两对角点(Pbl,Ptr)的坐标确定; s(Pb,t)是单元的内容参数,由构成单元格的字符串的基点Pb和文本t确定。如图3.3所描述单元格的各参数关系,其矩形区域和字符串存在约束关系,其基本约束条件为:Pb(Pbl,Ptr)。图3.3 单元格逻辑基本结构图如图2.15有关标题栏、明细栏表结构表中,标题栏是由独立单元和成对单元组成的,而成对单元是由名称单元和数据单元组成。因此对标题栏主要关注名称单元及数据单元的逻辑语义与结构关系;另外对明细表,可以把标题栏视为类似的情况。名称单元记为uf;数据单元记为