从CAD图形中获取工艺信息的方法

更新时间:2024-05-16 01:41:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

从CAD图形中提取工艺信息的方法

摘 要

本文将针对当前各个生产单位的工程CAD图纸的不同模式及其现有系统单一功能的缺点,提出支持多模式CAD信息智能提取算法。以DPM技术为基础,进而提出构筑CAD/CAM/CAPP集成系统的模型。在此将主要讨论CAD模板的定义,信息的提取算法,CAD数据与PDM数据交换,以及集成系统的模型和实现等问题。

关键词 : 信息提取 PDM CAD/CAM/CAPP 集成系统

Abstract

This paper will aim at different model engineering CAD of every unit of produetion and the defect 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 and 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

目 录

第一章 绪论 ............................................................................................................................ 5 1.1 引言 ................................................................................................................................... 5 1.2 工程CAD图信息智能提取的研究综述 ......................................................................... 6 1.3 本文研究的主要内容 ....................................................................................................... 7 第二章 表格文档的逻辑结构与数据提取算法 .................................................................... 8 2.1 文档表格的基本结构 ....................................................................................................... 8 2.2 标题栏数据栏间的依赖关系 ......................................................................................... 10 2.3 基本表格和数据栏区域构成的矩形模型 ..................................................................... 10 2.4 逻辑结构提取方法 ......................................................................................................... 11 2.5 逻辑结构提取算法改进一数据栏矩形区域投影算法 ................................................. 14 第三章 多模式CAD图纸信息智能提取与回写技术 ....................................................... 17 3.1 典型CAD图纸模板及表结构的定义 ........................................................................... 17 3.2 CAD图纸表格的语义关联约束 ..................................................................................... 19 3.3 CAD图纸自由表格的矩阵表示 ..................................................................................... 22 3.4 CAD图纸子表提取方法 ................................................................................................. 24 第四章 CAD智能提取系统与信息共享应用实例模型 .................................................... 29 4.1 支持多模式CAD智能提取系统实例 ........................................................................... 29 4.2 基于PMD为核心的系统整合模型 .............................................................................. 38 第五章 结论 .......................................................................................................................... 43 参考文献 ................................................................................................................................ 44 致 谢 ................................................................................................................................ 47

第一章 绪论

1.1 引言

随着计算机技术的飞速发展,在国民生产过程应用CAD技术的手段也逐渐成熟起来了。很多企事业单位都在这个成长阶段发掘CAD技术的用武之地,因此出现了各式各样的CAD软件和处理技术。可见,CAD技术在各个领域发挥着重要的作用。传统制造业的生产过程正发生着深刻的变革,先进制造技术正在显著地提高企业的产品质量、经济效益和市场竞争力。越来越多的企业将先进制造技术作为企业适应迅速多变的市场需求和提高竞争力的主要手段。先进制造技术还在大幅度改善企业产品结构、生产过程和经营管理模式上发挥重要的作用。越来越多的企业把能够高质量、快响应、灵活、敏捷地满足客户需求的先进制造技术作为企业继续生存并保持发展的有效途径。

先进制造技术强调过程集成和过程重组,明显区别于传统制造技术单纯从技术角度提高设计水平、制造手段与生产率的做法。先进制造技术更强调管理技术、制造技术与信息技术的结合。而且,先进制造技术的出现,使得企业的组织结构也从在从传统的功能组织结构向过程组织结构变化。制造业的信息化经过十几年的发展,取得了长足的发展,特别是最近5年的发展尤为迅速,新的概念不断出现,新的软件产品不断开始在企业得到应用。制造业企业信息化是一个大的系统工程,包括CAD技术、CAPP技术、PDM技术、ERP技术。既有纯技术的,也有管理的,我们结合多年上百家企业信息化的工作实践经验,对照信息化工作的各个阶段,可知制造业信息化的几个关键环节和需要重点考虑清楚的问题。从CAD到ERP整个系统的数据信息流动方式,PDM管理CAD产生的产品图纸,并从CAD图纸中提取标题栏、明细栏信息,并产生产品的结构树,整理后导入到PDM系统中去,对于三维CAD则通过读取图纸文件中记录结构的数据来产生产品结构树。

通过PDM系统来维护企业的产品结构信息、版本信息、进行数据版本的更管理、产品数据的工作流程的管理、图文档的查询管理等,这里PDM充当了品开发的一个管理平台。

工艺部门组织产品的生产工艺编制以及生产准备需要设计部门的PDM提供产品结构信息和产品图纸信息。通过工艺管理系统,工艺部门组织工艺的编制,工艺路线的组织,并且汇总产生生产一线需要的各种报表,例如:《产品明细及工艺路线表》《材料定额明细表》《工时定额表》,并且对工艺信息实现有效的权限管理,工艺数据更改管理等。ERP即是生产管理的平台,它的技术数据来源于前端的技术部门,它从工艺管理系统读取PBOM和各种汇总报表,来进行企业的车间管理、生产管理等。

从以上信息化过程可以看出,所需的数据关键还是来源于CAD图纸。因此从CAD图纸正确提取数据信息的过程是重要的一步,否则整个CAD/CAM/CAPP集成系统的精确率将受到影响。由于目前各企业所使用的图纸模式各异,为了实现系统的通用性,

因此,实现多模式CAD图纸信息的智能提取技术就显得越来越重要了。

1.2 工程CAD图信息智能提取的研究综述

1.工程CAD的应用和发展

计算机辅助设计(CAD)技术作为电子信息技术的一个重要组成部分,是促进科研成果的开发和转化、促进传统产业和学科的更新和改造、实现设计自动化,增强企业及其产品在市场上竞争能力,加速国民经济发展和国防现代化的一项关键性高技术,也是进一步向计算机集成制造(CIMS)发展的重要技术基础。从广义上说,CAD技术包括二维工程绘图三维几何设计有限元分析数控加工仿真模拟,产品数据管理网络数据库以及上述技术(CAD/CAE/CAM)的集成技术等。

CAD应用工程是与CAD技术研究开发推广应用相关的高新技术密集的大型系统工程。CAD应用工程的实施,标志着我国在企业信息化信息企业化的大道上取得了长足的发展。CAD技术的使用使产品和工程设计制造的工作内容和方式发生了根本性变革,这一技术成为工业发达国家制造业保持竞争优势开拓市场的重要手段。1990年美国国家工程科学院将CAD技术评为当代十项最杰出的工程技术成就之一。目前,CAD技术日趋成熟,应用日益广泛,有力地促进了全球高新技术的发展和新产品的迅速更新换代。不采用CAD技术就不可能做到波音777大型客机的无纸设计和无纸制造,使其设计制造成本下降30%以上。不采用CAD技术也不可能想象30多人在十天内完成一幢18层高层建筑的方案设计和施工图输出。列举不尽的这些优秀产品和工程,无一不是采用CAD技术的结晶。

我国作为发展中国家,虽然CAD技术的开发应用与发达国家有差距,但也取得了许多辉煌成就。CAD作为关键性的应用技术,己经在我国机械制造建筑工程轻工化纺船舶汽车航空航天影视广告等领域起到催化加速倍增器的作用。CAD技术在我国建筑工程业的应用深度和广度,与发达国家的差距并不显著,其使用效果比发达国家还好。有我国自主版权的CAD支撑软件及其应用软件,已能满足我国企业甩掉图板的要求,并己形成了一定的产业规模。目前,CAD作为关键的共性技术,其广泛应用必将促进人们思想观念工作模式、生产方式的转变。工程CAD图纸的设计及其在制造业的广泛应用,促成了现代先进制造系统的诞生,CAD/CAM/CAPP/PDM等集成应用系统的发展就是CAD应用的典范。

2.CAD图纸信息智能提取的研究现状

目前对工程图信息识别的方法主要有两类:前处理法和后处理法。前处理法是在工程图纸中预定义信息承载对象,再将信息附加到对象上,信息识别时可以通过查询对象的附加属性来实现。该方法的识别效率和准确程度都较高,但其前提条件是图中存在预定义对象,这就限制了它在未预置指定对象工程图中的应用。后处理法通过分析工程图上信息的几何、语义等相关特征,获取所需数据。该方法克服了前处理法对工程图的限制,适用范围广,可以处理不同格式的信息,但对不规则程度较高的实体的

识别准确度及效率都有待进一步提高。从图形中提取信息的方法国内外相关研究内容主要是:

(1)基于约定的语义或者简图实现的工程图信息提取。一种是分析工程图样中的标题栏、明细表及产品/部件汇总表的形式和内容,归纳了工程图中表格数据的特点,提出了用自由表格的矩阵表示法有效的解决工程图中自由表格的结构提取问题,和从表格获取零部件信息的方法,如目前比较前沿的GGL算法等。另一种是提出了基于装配简图与装配语义的轴类零件信息提取方法,以支持自顶向下的设计过程,如基于零部件的特征提取法等。

(2)对于特定CAD的图形,通过将其转换成己知的中性文件格式IGES或者STEP,然后通过对转换后的文件实现信息提取。

(3)针对特定CAD系统生成的图形,采用其提供的开发工具或者针对其特定的格式进行信息提取。例如针对AUTOCAD的图形,利用AUTODESK公司提供的二次开发接口ObjectARX或者通过AUTOLISP语言操纵,或者通过DXF(Data Exchange Format)交换文件格式读取,或者通过ActiveX Automation进行信息的获取。

1.3 本文研究的主要内容

1.研究的目的和意义

从计算机辅助设计技术的发展可以看出,在不同产品的模块化系列设计过程中,将尽量满足同一产品在设计过程中的资料共享,避免重复输入各零件设备的参数。因此,基于产品数据管理DPM为核心的一体化集成系统的数据信息共享,将最大限度地被后续的各生产阶段所利用。这些数据信息的入库保存与管理是实现产品一体化集成的关键。

本文针对不同企业都有自己不同的CAD软件和图纸模板,更好地管理这些CAD图纸和可再利用的资源,提高生产产品的效率,因此致力于研究如何获取不同模式结构的CAD图纸数据信息,并把这些信息保存到系统相应的数据结构中和创建产品零部件和产品结构树,是至关重要的;同时也可为零部件的工艺生产提供可靠的数据,实现生产的一体化。为实现制造业先进生产管理奠定了一定的基础。

2.研究的内容

论文的工作在于研究多模式CAD图纸数据智能提取与数据共享等技术的应用。因此文章首先通过对CAD工程图纸模板如何定义,研究快速进行模型特征匹配与数据提取的算法,输出多种数据格式及表格数据,构建一个支持多模式CAD图纸智能数据提取的集成应用平台。在此,图纸模式定义、快速数据提取匹配算法、及构建智能系统平台是需要解决的主要问题。从而提出系统体系平台结构并对系统中的关键技术进行阐述和介绍。最后通过实例对多模式及改进的快速提取算法等进行验证。

第二章 表格文档的逻辑结构与数据提取算法

一般来说,一张表格能比较准确明了地表达人们所要说明的信息。讨论如何获取表格中的内容体现出越来越重要了,在信息时代,就必须更加快速传递与处理这些有用的信息。因此自动获取表格文档的信息的相关研究成为一个重要的课题。类似一般表格的图档,需要关注的是表格的几何结构(又称分布结构)和逻辑结构。表格的几何结构通常指的是一种物理性质,如表格的位置、字符的大小以及其比例关系等;而逻辑结构指的是表格内部固有的一种关联关系。所以,表格文档的分析也就包含这两方面的分析,即分布结构的分析和逻辑结构的分析。

CAD数据提取算法的研究是建立在一般表格文档数据提取方法之上,其中的很多理论与算法都可以效仿和采纳。因此,充分认识和了解表格文档在逻辑结构与数据提取方面的理论是至关重要的。以前对表格文档的分析己经提出了很多方法,在逻辑结构方面的提取技术一般涉及较少,下面我们将详细介绍一种表格文档逻辑结构提取的算法。这个算法(简称GLG算法)包括三部分:整个文档全局划分;具备逻辑结构的分析;整个文档的全局再划分。这种算法的关键点是逻辑结构的划分,具有较高的精确率,它有利于逻辑结构树的生成。同时,它的健壮性还体现在使用额外的直接相邻关系处理两个不相关表格。最后将在GLG算法的基础上进一步介绍一种逻辑结构提取的改进算法—数据栏矩形区域线段投影法,该算法从线段投影长度反映区域面积大小,合理地划分区域所体现逻辑结构,依据区域划分的最大化原则,同样有利于逻辑结构树的生成。

2.1 文档表格的基本结构

工程CAD图纸的技术数据通常以表格的形式存在,其存储形式及构成方式均不同于普通的图形或文本信息。表的存储形式取决于承载它的图形文件,并随文件格式的不同而变化;表的构成方式则取决于图纸绘制所采用的标准并随之变化,因为表的存储和构成具有分散性、独立性以及多样性等特点。

表格栏是由一些水平和垂直线段围成的矩形区域组成的。然而这种表格文档的布局结构能够通过对线段分析获得,在表格文档中存在两种字段,分别是数据段和标题段。数据段是为用户填写的区域,标题段用来指出它从属的数据信息。表格文档包含有两种结构,分布(几何)结构和逻辑结构。分布结构是指表格文档的位置、大小和各字段的比例关系等;而逻辑结构是指字段间的逻辑关系。表格文档的分析由两个阶段组成:分布结构分析和逻辑结构分析。

一般来说,一个完整的表格文档是通过两组水平和垂直的边缘线形成的矩形区域。它还能分成几个相对独立的矩形的表格。这里我们称这些独立表格为规范化表格。从结构的复杂性考虑,我们把规范化表格分为基本表格和复合表格。基本表格也可以分为一维表格和二维表格。表格文档的结构和规范化表格的分类如下图2.1示:

表格文档 规范化表格 组成 基本表格 复合表格 分类 一维表格 二维表格

图2.1 文档结构图

一维表格的定义是递归的,最简单的一维表格是由一个标题栏和它附属的数据栏组成的,而一个标题栏和几个附属的一维表格标题栏将形成另外一个一维表格。这个标题栏称为相应一维表格标题拦的总标题;有时这个一维表格仅仅是由几个没有总标题的附属一维表格标题栏构成。如图2.2所示:

图2.2 一个没有总标题的单向一维表格示例

在一个最简单的一维表格标题栏是第一层标题,对应的表格称为第一层一维表格。层的增长伴随着表格也复杂起来。标题的层如图2.3所示。而且,在一维表格中,标题栏基本上都在数据栏的一边,称为单向一维表格,如图2.2所示。

总标题 上标题

第一层标题 第二层标题 第三层标题

左标题

图2.3 一维表格示例 图2.4 二维表格示例

一个二维表格是由一个总标题栏、几个左标题栏、几个上标题栏和数据栏组成的。如图2.4所示。实际上,它可以被看作是一个总标题栏和两个单向一维子表格组成的。一个是由上标题和数据栏组成,另一个是由左标题和数据栏组成。它们的数据栏相同,只是每一个数据栏依赖于两个方向的标题栏。这两个表格各自称为二维表格的D1子表和D2子表。

复合表格的定义也是递归的。一个复合表格是由一个总标题栏和几个子表构成的,并且子表可以是一维、二维和其它复合表格组成。可以看出,这个复合表格可以视为

一维表格的拓展,它们的不同在于子表类型的不同。而且,数据栏和表格间不是直接相邻形成一个矩形,从而把它归类到一个复合表格。尽管它的子表是一维的,如图2.5所示的两个复合表格。

图2.5 复合表格示例图

以上给出了3种规范表格类型的递归定义。可以看出这些定义的基础是从一维表格开始的,又根据一维表格的层次关系,可以得出栏目间的逻辑关系。数据栏依赖于第一层标题栏,第一层标题栏依赖于更高层的标题栏,依次类推。如图2.3所示,数据栏Dl、DZ、D3分别依赖于T2、T3、T4,T3、T4依赖于T5,T5和T2依赖于Tl。

2.2 标题栏数据栏间的依赖关系

从布局结构的观点分析,watanabe将标题栏和它附属数据栏的依赖关系划分为四类型。分别如图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 基本表格和数据栏区域构成的矩形模型

一个由标题栏和数据栏组成的规范化表格,总是可以形成一个矩形。对于一个基本表格,直接相邻的数据栏间也可以形成一个矩形区域。如图2.7所示表格。这个特征称为基本表格的矩形化。数据栏组成的矩形被称为数据栏矩形,典型的数据栏矩形如图2.8所示。栏间直接相邻的关系指的是相邻的两种类型,如图2.9所示。

(a) (b) (c)

图2.7 基本表格和数据栏区域构成的矩形

(a)横向邻接 (b)纵向邻接

图2.8 典型数据栏形成的矩形 图2.9 栏间直接相邻关系的两种类型

根据以上对表格文档结构的分析,可以得出基本表格的三种标题栏和数据栏位置关系的表格模型,如图2.10所示。对复合表格,数据栏总是可以构成不同的矩形,如图2.11所示。每一个数据栏的矩形对应基本表格的子表或复合表格子表的一部分。在复合表格中总标题显得比较重要了,因为它可以视为几个基本表格和几个总标题栏组成的。

标题栏、

数据栏)

(a) (b) (c)

图2.10 基本表格标题栏数据栏形成的矩形模型(

(a) (b) (c)

图2.11 复合表格标题栏数据栏形成的矩形模型

2.4 逻辑结构提取方法

在了解了表格文档的基本结构后,就必须更进一步研究表格的逻辑结构的提取方法。因为逻辑结构选取的正确与准确性事关表格的语义理解,从而才能正确地提取想要得到的数据。逻辑结构提取的方法可以采用全局一局部一全局划分方法(GLG算法)和数据栏矩形区域投影算法的改进。以下两节内容将详细描述两种算法:

GLG算法通过对文档结构的布局分析,该方法主要是针对以上所介绍的两种结构布局特征。其步骤为:表格文档的全局划分,局部逻辑结构分析和全局文档的再划分。分别描述如下:

1.整个表格的全局划分

根据基本表格矩形的特性,首先找到预选的数据栏矩形,然后提取相应来自整个表格的基本表格。具体步骤有:

第一步建立候选数据栏矩形列表

在整个表格中,将数据栏区域划分成候选数据矩形并且把它们插入到候选数据矩形列表中。使用最大化原则,由直接相邻的数据栏构成面积相对大的矩形,作为一个候选数据栏矩形。例如,在表格中能获得7个候选数据栏矩形,如图2.11所示。

有时,根据水平和垂直两不同的方向,可以将直接相邻的数据栏分为数据栏矩形,如图2.12将分成两个不同数据栏区域。在通常情况下,将选择水平线划分区域而形成矩形,其划分结果如图2.12所示。

图2.12 数据栏区域结构划分图

第二步对候选数据栏矩形列表排序

首先在数据栏矩形列表中对这些矩形从顶端到底端进行排序,并且对于横向相关的矩形,从左到右进行排序。如图2.13所示表格,在表格中数据栏矩形D1和D2是横向相关,D3和D4也是横向相关的。这样候选数据栏矩形列表为{Dl,D2,D3,D4}。

图2.13 数据栏矩形排序情况(

标题栏区域、

数据栏矩形)

图2.14 不相关数据栏分组到同一数据栏矩形情况

第三步对数据栏矩形提取基本表格矩形

(1)对整个表格文档的矩形,初始化没有处理的区域; (2)在候选数据栏列表中取得第一个数据栏矩形;

(3)让数据栏矩形的底线和右线作为参考线,在没有处理过的文档区域里,往上方和左方的方向扩展得到最大的矩形,这样所得的矩形被认为是基本表格矩形;

(4)从当前未处理区域提取出基本表格矩形;

(5)如果数据栏矩形列表不空,在候选数据栏矩形列表中取得下一个数据栏矩形并且继续回到第(2)步。

有时在第(3)步对于数据栏矩形不能找到基本表格矩形,因为在某些特殊情况,两个数据栏分属于两个不同的基本表格,而且这两个基本表格相互直接相邻,并且已经

分组到一个数据栏矩形中。例如,在图2.14中的表格,数据栏D2和D4,分别依赖于标题栏T2和T4,在第(1)步可能被分组到同样的候选数据栏矩形中。这样的数据栏矩形将按如下算法进行处理:

①如果在数据栏矩形中有N行数据栏;

②划分数据栏矩形为两个矩形,其中上面一个矩形为(n=N-1)行数据栏,则剩下一行(m=l)为另一矩形;

③按照上面介绍的第(3)步在上面那个矩形找到对应基本表格矩形; ④如果基本表格被找到,跳到⑦;

⑤如果n=l,上面的矩形没有特别的意义,被认为是在文档中的一条分界线,跳到⑦;

⑥取出上方数据栏矩形的最后一行,然后把这行放入下面的矩形,这样n=n-l,且m=m+1。跳到③;

⑦根据列表的顺序,将下面那个矩形插入到数据栏矩形列表。

正如上面所描述的一样,一个表格文档能被分成几个规范化表格,即基本表格和复合表格。而一个复合表格又可以进一步划分成更多的基本表格和标题栏。因此,经过全局划分阶段后,整个表格文档将划分为几个基本表格和几个单标题栏,这些单标题栏没有被分组到基本表格矩形。

2.在每一个基本表格矩形中进行逻辑结构分析

根据标题栏和子表及数据栏的前四种依赖关系类型,可以通过分析每一个基本表格相邻关系判断栏间逻辑关系。对于每一个基本表格矩形,将执行如下步骤:

第一步 找数据栏的每一行每一列的第一层标题栏

从标题栏和它的子表的依赖关系的前四种类型可以看出,第一层标题栏应该直接相邻其右侧或下侧一个或几个数据栏。这样通过分析它们的邻接关系,标题栏的数据栏可以被找到。数据栏的每一行都有同样的左标题,每一列也有相同的上标题。建立它们的依赖关系后,每一个矩形都由标题栏和它的附属数据栏组成,构成一个子表。

第二步找更高一层的标题栏

与第一步相同,根据标题栏和子表的依赖关系,通过子表递归地合并成另一子表,可以找到更高一层的标题栏。对总标题栏和在其中的子表设置依赖关系。

第三步重复第二步的处理过程直到在基本表格矩形中没有未处理的标题栏在二维表格中有一个总标题的例外,有一个标题栏经过第一步和第二步不能被处理。它位于基本表格矩形的左上角,与基本表格的数据栏矩形相反位置。当处理上面几步后,设置这样一个标题栏作为二维表格的总标题栏。

3.重划分整个表格文档获得复合表格

根据标题栏层次关系的特点,对候选总标题栏通过搜索其子表便可识别出复合表格。

第一步获取候选总标题栏

存在两种情况标题栏可以被认为是候选标题栏。一种情况就是单标题,它没有分组到任何基本表格矩形中;另一情况就是总标题在单向一维表格中。理由是被考虑的在基本表格的总标题是复合表格存在的基础。如图2.10(c)所示。

第二步对候选标题栏从右下方到左上方排序

首先在纵向从下向上对矩形排序,然后在水平方向从右向左排序。 第三步为标题栏找对应的子表

由上面讨论的五种依赖关系的描述,收集总标题栏右下方的子表,并把它们组合成复合表格。

在第二步候选标题栏被排序的理由是其右下方复合表格能被识别,对于更多复杂的复合表格可能成为候选子表。

根据以上介绍的方法,表格文档的处理过程如图2.15所示。

(a)原表格文档 (b)D1-D7为已排序数据栏矩形

图2.15 表格文档的全局划分过程:( c)为经过Ⅰ处理的结果;(d)为经过Ⅱ处理的结果

(c)B1-B7为基本表格矩形(整个表格的全局划分) (d)C0是整个表格再划分得到的复合表格

2.5 逻辑结构提取算法改进一数据栏矩形区域投影算法

由上一节我们知道,矩形是通过水平和垂直两方向的线段构成的规则区域。表格正是矩形的一种实例化表示。矩形区域也存在水平和垂直方向上的投影,而且其最终将形成一条线段。如图2.16所示,规则矩形区域数据栏在水平和垂直两方向上的投影

均为一线段,可以从两个方向考虑,包括水平方向和垂直方向。(这里假设标题栏在数据栏的上方)

图2.16 水平和垂直方向上数据栏矩形区域的投影

数据栏矩形区域投影法对数据栏区域划分的步骤基本同GLG算法,只是在第一步建立候选数据栏矩形列表进行了简单的改进,建立候选数据栏矩形列表方法简单描述如下:

对图2.16的数据栏区域划分,依据面积最大化原则,由直接相邻的数据栏构成面积相对大的矩形,作为一个候选数据栏矩形。在工程CAD图纸中,由于图纸相对规范,数据栏高度一般也为定值,面积计算方法的比较取决于两方面因素:水平方向考虑,面积是投影所得线段的长度和数据栏在垂直方向上的行数。加入一点人为规定的划分规则,分两步:

①确定投影方向;

从数据栏整体结构看,如果水平方向上的独立数据栏多于垂直方向,考虑水平方向上的投影,如图2.16(左);如果垂直方向上的独立数据栏多于水平方向,则考虑垂直方向上的投影,如图2.16(右)所示;如果水平方向与垂直方向的独立数据栏个数相等,则整个数据栏形成一个数据矩形区域,可以任意投影,如图2.8所示,否则进入步骤②。

②划分基本数据栏;

i)如果投影在水平方向,这样垂直方向上存在如下情况:

当第一行的最后没有独立数据栏,则划分将与使它完成水平相连的数据栏一起构成基本数据栏;依次类推;

ii)同样,如果投影在垂直方向,这样水平方向上存在如下情况:

当左边有空缺的独立单元格,则单独划分为一个基本数据栏,如图2.16(右)。当有两个数据单元格存在时,必须考虑面积最大化原则。

使用上述规则的基本步骤,很容易判断划分的数据栏区域,从而得到基本数据栏,待插入到侯选基本数据栏列表。划分结果见图2.12所示。为了更加清楚理解上述规则,图2.17所示为两个数据拦表格的一般划分情况。

数据栏矩形区域投影法划分数据栏很直观,准确率也相对高。可以省略判断不相关数据栏分组到同一数据栏矩形的情况(如图2.14所示情况),可以直接进入对基本表格进行逻辑结构的分析阶段,这样效率也相对地提高。通过划分规则的多次测试比较,发现该改进算法在整体数据提取效率方面有显著改善。

图2.17 数据栏表格划分示例图

第三章 多模式CAD图纸信息智能提取与回写技术

CAD技术的推广应用明显地提高了设计能力和图纸质量,产生了大量频繁使用的CAD图纸;当前以D系统对图纸等资料的管理,产品的配置管理等功能却没有支持。为了使用户可以更好的管理大量的CAD图纸,比如根据图号、项目、设计人、工作阶段、审批情况、日期、类型以及预先定义的各类参数(如材料、重量等)作为条件进行查询,必须收集许多图纸内容数据。而这些图纸内容数据通常都是图纸标题栏和明细表中的信息,如果通过逐个将旧图纸标题栏输入数据库中,将是一个量大又繁杂的重复工作任务。

由于CAD图纸表格与一般图表文档在结构方面的一致性,在标题栏语义结构分析时,可以对照一般图表文件的独立单元格的结构,对其逻辑语义和结构进行分析;而明细栏刚好与图表文件结构相同,先对其进行逻辑结构的划分,然后进行逻辑语义的约束。

考虑实现高效、准确地自动提取图纸标题栏信息,实现大量现存电子工程图档的自动入库。具体的,我们当前将先实现AntoDesk公司的dwg图像中特定文字信息提取,以下技术方案也主要是针对dwg格式考虑,以后可以考虑实现支持其他CAD文件的信息提取。我们希望在AutCoda平台上开发这样的功能模块:i)定义标题栏,明细栏模板。ii)劝按照模板对DWG格式电子图档的标题栏、明细栏等信息的无损失提取和自动入库。iii)对于非定义模板,也应该根据一定的提取算法能够实现标题栏、明细栏等信息的提取。iv)对AutoCAD应该支持版本R12,R14和R2000。v)提取过程中不能显式地启动AutoCAD。有了这些基本的功能模块后,就能实现对多模式CAD图纸的智能提取技术。

所谓多模式,就是指以D图、标题栏与明细栏在CAD图纸中位置不同形成的不同模板。由于每个企业都有自己的设计风格,自然模板格式也不同,但同一企业的设计模板一般相同。要实现对多模式CAD图纸的智能提取,就必须使软件具有通用性,因此定义好图纸的不同模板格式是至关重要的。

本文将从CAD图纸模板结构定义出发,逐步深入探讨模板内部元素的结构与语义关联约束,从而最终实现CAD图纸信息的智能提取技术。

3.1 典型CAD图纸模板及表结构的定义

1.概述

在绘制工程图时,不同的企业可能依据不同的标准,如国标、部标、厂标等,标题栏和明细表的样式并不一致。但在一个企业内部,所使用的标题栏格式和明细表格式却是比较统一的。解决这个问题最好的方法是定义模板:对这些不同样式的标题栏和明细表定义相应的标题栏模板和明细表模板,而在一个企业内部,因为样式相同的标题栏和明细表只需定义一次模板即可,这种定义只需一次或几次而己。

如果不定义模板,直接提取图中所有字符串,然后按各字符串的位置关系来识别字符串间的语义关系,这时虽然也可以找到部分字符串间的语义关系,但在大量的复杂工程图纸中,不可能将所有相关字符串都匹配上,而且匹配算法设计难度极大,匹配准确度低,运行效率也很低。所以这种方法不可取。通过人工定义模板,可以直接将具有一定位置关系的单元格定义为互相之间有某种语义关系,剩下的工作就仅仅是搜索哪些字符串落在单元格中,这就极大地简化了算法的复杂度,并可将提取准确度提高到近乎百分之百,同时运行效率也有明显提高。

2.单元格的分类

模板定义工具应具有通用性,为此应对其中的单元格进行了分类,见图3.1。

标题栏 子表(明细表) 成对单元 独立单元格 子表头 子表单元 名称单元 数据单元 数据单元

图3.1 标题栏单元格分类

如图3.2所示,图纸信息分为标题栏和各个可增长的字表(包括明细表),在标题栏中又有两类信息单元:成对单元格和独立单元。成对单元格成对出现,如“描图”单元格与“FFLin”单元格对应,这里称“描图” 单元格为名称单元(项目名称单元格),“FFLine”单元格为数值单元(项目值单元格);独立单元格仅有项目值,而无与之对应的项目名单元格,如“国家标准机械制图”或“装配件”单元格。对于子表,通常其单元行数目不定,但每个表的增长方向都向上或向下,有的表有表头,有的表无表头。

3.模板的定义方式

模板的定义可以采用两种方式:

1)块模板:利用AUTUCAD中“图块”的属性功能直接定义。这种方法是将图纸中的标题栏和明细表做成相应的图块。对标题栏块,将标题栏的每一种图元信息都做成一个属性,直接根据属性的名称和数值从图纸中提取出图纸信息。对明细表或其它子表,则是在表格的数据块上定义好表头信息,读取时根据表头信息将数据区分开来。

2)专用模板:使用专门的模板定义工具,直接在图纸上定义各种信息提取格式。这种方式主要利用单元格的位置信息和字符串对模板和图纸进行匹配。

这两种方式各有利弊。第一种方式适合新绘的图纸。一个企业只需做好一个或多个模板,在绘制新图纸时插入定义好的图块即可。这种方式的优点是利用图块的属性可以做到信息的精确定位和读取,并且可以利用图块的特性方便标题栏的编辑。最大的缺点是不适合己经绘制好大批图纸的企业(需要对每一张图纸进行人工处理)。这种方法最适用于那些标题栏和明细表形式很不统一的单位和企业。

第二种方式比较灵活,适应性极强。但是要求一个企业内部的模板格式较为统一。 在使用第二种方式定义模板时应包括以下信息:

(1)整个标题栏的基点和包围盒。通常取标题栏右下角为基点,整个标题栏中的坐标值都是对基点的相对坐标。

(2)所有单元格的定位信息及匹配关系。包括单元格名称、包围盒坐标。与数值单元格相对应的信息项。

(3)所有子表的表头信息,包括子表的基点,表头各列的宽度和相对应信息项,数据行的高度,各信息行的包围盒。

综上所述,第二种方式更加适应于企业的状况,因此我们采用第二种方案开发信息智能提取系统。

7 6 5 4 3 2 1 序号 标记 设计 绘图 校对 审核 处数 FFLin FFLin HIT-01 Master GB8769-96 GB8769-96 M-PART-05 M-PART-04 M-PART-03 M-PART-02 M-PART-01 代号 更改文件号 标准化 审核 日期 螺母 M20螺栓 缸盖 缸体 连杆 活塞 曲抽 名称 签字 32 32 1 1 8 2 2 数量 日期 QA-01 E0-01 1 800 第1页 1:1 M-ASM-00 图样标记 数量 重量 比例 发动机总装 A3 A3 A104 HT205 QT600 ZG20 QT600 材料 装配件 80 20 60 单重 800 800 800 重量 主传动 备注 国家标准机械制图 4-12-99 共12页 图3.2 CAD图纸装配图样例表

3.2 CAD图纸表格的语义关联约束

表信息虽然在表现形式上是相对独立的,但在逻辑上却是相互依赖和关联的,而且信息之间存在着数据重叠的现象。为了保证数据的一致性、唯一性和关联性,在表信息提取入库时,应进行关联重建处理,使其达到逻辑上的有机结合。

1.基于单元的表内部关联约束

CAD图纸中的表格中的单元格是由图形表格和文本内容共同构成。其中,就单元格结构来看,它是由水平和垂直线、文本字符串一起构成的。而对于一个整体表格而

言,可以将表格描述为三个集合的一个共同体。具体如下:{{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;数据单元记为ur。在CAD图纸的表格中,名称单元通常是固定不变的常量,而数据单元将随着不同的表格变化。以图2.15所示图纸为例,名称单元的“重量”在同格式的表中是相同的,而与之对应的数据单元的值可能是800或不同的值。

从上一章中对文档表格的分析知道,表格单元间的关系可以分为几何位置(分布结构)关系和逻辑语义关系。CAD图纸中表格的单元也包含这两类关系。逻辑语义关系c是指一组型、值单元在语义上相互依存,共同表达一条完整的信息内容,如型单元“比例”和值单元“1:1”共同表达了图纸绘制比例信息,图3.2中的关系。表达了uf和ur之间的逻辑语义关系。同时,属于同一行或列的单元之间存在着前驱p与后继s的关联关系,图3.4中的p与s分别表达了各uf和ur间的前驱与后继关系。

图3.4 单元格间的逻辑语义关系图

分布结构关系是指具有逻辑语义关联的单元在表中的相对位置,主要有以下几种:同行或同列且不相邻(没交点)、同行或同列且相邻(有2交点)、重合(共4交点),如图3.5所示。

( a)单元格原始坐标图 (b)同行位置分布情况1 (c)同列位置分布情况2, 3

(d)相交2点的三种位置关系图4, 5, 6 (e)相交4点重合情况7

(假设U、表示的是单元名称栏,U:表示的是所对应的数据栏,且U,和Uz属于成对单元格)

‘?x?x11?y1?y‘?x1?x‘?x1?x‘?y1?y‘?x1?x‘?x1?x‘?111111'???????x2?x2??????‘‘‘‘‘‘ ?y1?y2 ?x2?x2 ?x2?x2 ?y2?y2 ?x2?x2 ?x2?x2 ?'???????y1?y1''''''y?yy?yx?xy?yy?yx?x??????211211?'?1?2?2?1?2?2y?y2?2(1) (2) (3) (4) (5) (6) (7)

图3.5 单元格位置分布关系图

2.基于CAD工程图纸标题栏明细栏外表关联约束

工程图中的表主要有两类:标题栏表和明细栏表。标题栏表存在于所有零部件图中,主要由名称代号信息、签字信息、修改信息及其它信息组成,用于表达产品零部件及其工程图的基本属性信息;明细栏则只存在于部件图中,主要由名称代号信息、隶属信息、数量信息及其它信息组成,用于表达产品部信息、数量信息及其它信息组成,用于表达产品部件及其工程图的逻辑构成信息,所以明细栏又可称为原材料清单BOM (Bill Of Material)。

一般来说,简单表格都可以用矩阵表示的,还可以更形象地用记录集的方式来描述。因此可以将二维表格和记录集视为等同。对标题栏,虽然有的单元就只有一个数据栏,但是也可以给它一个ID号,同样的,对明细栏表格给定一个关键ID列,用以区分同一表格的不同行信息,记录的其它数据视为属性ATR。则一个简单表可以看作是一个或多个ID号为索引形成的记录集。根据功索引数量,可以将标题栏、明细栏视为单记录和多记录的表。因此记录、标题栏、明细栏可以表示为:

记录:R=ID+ATR=P(ID) 标题栏表:TB=P’(R)=D(ID) 明细栏表:BOM={P’’(Rk)}=A(IDk)

在CAD图纸中,存在于部件图中明细栏表,通常认为是该部件的BOM,由这些部件构成的产品为一树状结构。零部件分别是树的各级节点。现设节点级i的部件图

ID号为IDi,对应的标题栏表为TBi=D(IDi),明细栏表为BOMi={Aj(IDi+1)},包括部件下层(i+1层)子部件和零件的索引信息。位于同一节点层的标题栏和明细栏表间存在隶属关系SUB,位于上下层的明细栏和标题栏之间存在参考关系REF,具体描述如下。

设i和j为表所在的节点层,TBi和BOMj分别为标题栏表、明细栏表所对应的节点层。如果i=j,则TBi与BOMj之间存在隶属关系:

TBi=SUB(BOMj)或BOMj=SUB(TBi)

如果i=j+1且TBi.DI=BOMj. IDk,则TBi与BOMj之间存在参考关系: TBi =REF(BOMj)或BOMj= REF’ (TBi)

由上述隶属关系和参考关系,可以得出标题栏和明细栏表的约束表达式为: 当TBi∈装配图时,TBi=SUB(BOMi)+REF(BOMi-1) 当TBi∈零件图时,TBi=REF(BOMi-1); BOMi=SUB’(TBi)+REF’ (TBi+1)

图3.6为各层节点的标题栏表和明细栏表根据关联关系所形成的表关联结构树。

TBiSUB BOMiSUB SUB i?1Level i TB1TBki?1SUB SUB BOMi?1BOMi?1

图3.6 标题栏表与明细栏表的关联关系

3.3 CAD图纸自由表格的矩阵表示

在第二章已经讲述了一般图档表格的获取的基本理论,通过分布结构和逻辑语义的分析可以方便地获取简单表格的结构。借鉴这个基本理论,结合CAD图纸本身的特点,以及明细表和汇总表所隐含的产品装配关系,现提出一种有效的表格结构的矩阵表示方式,可分离出CAD图纸中表格的结构。

为了叙述上的方便,在此将给子表的各边都标识不同的字母。如图3.7所示,子表F的边a,b,c,d按顺时钟方向分别表示子表的上、右、下、左4条边界。

边a 边d 子表F 边c 边b

图3.7 子表边的标识图

在一个自由表格中,其所包含的内部子表的个数和大小是任意的。由子表与其相邻的子表的位置关系,可以构筑一个与该表格对应的一个虚表类型。假定表格中最多有N层子表,各层子表在水平方向上与邻接子表的交点的总数的最大值为M。那么这个表格对应一个N×(M-1)个子表构成的虚表模型。如图3.8所示。

如图 3.8

有了虚表的定义后,任何表格的框架结构都可以由与其对应的虚表衍变而成。此时可以使用两个矩阵A=(aij)N×(M-1)和B=bij(M-1)×N来共同表示表格的内部结构。对虚表中第i行、第j列子表的边b(见图3.7的定义)对应位置上的实际表格线存在,则矩阵A对应的元素aij为l,否则为0;虚表中第i行、第j列子表的边c对应位置上的实际表格线存在,则矩阵B对应的元素bji为1,否则为0。如图3.7(a)所示标题栏表格的一部分,N=4,M-1=6,它对应的虚表如图3.7(b),因此可以得到表格结构如图3.7(c)。该表除了子表[4,3]、[4,5]对应的边b不存在,其它子表的边b都存在。故矩阵A相应的元素a43、a45为0,其余均为l;此外,除了子表[1,3],[l,4],[l,5],[l,6]对应的边C不存在外,其余子表的边c都存在。故矩阵B相应的元素b31,b41,b51;,b61为0,其余

?1111??1111??111111????111111??0111?? B=?均为1,由此可得图3.9(a)所对应的表结构矩阵为:A=??

?111111??0111????0111??110101???0111????标准化 审核 日期 QA-01 E0-01 4-12-99 共12页 (a)样题栏样例表

1 800 第1页 1:1 图样标记 数量 重量 比例

(b)标题栏对应的虚表 (c)标题栏表格结构的提取

图3.9 标题栏表格虚表结构的提取

3.4 CAD图纸子表提取方法

1.子表的提取

在一个二维的坐标系中,如果知道某矩形区域一个角的坐标,还有该矩形的长宽,这个矩形就基本确定了。子表就是矩形的一种。

定义3.5.1子表是一个五元组F=(X,Y,l,w,ATTR),其中 X,Y ∈R是子表所在平面坐标系x,y的值的集合; l,w ∈R是子表的矩形区域的长度和宽度的值的集合; ATTR∈TEXT, 为字符串文本集。

定义中所描述的每一个五元组F确定一个子表。它的位置由[X,Y]的坐标确定;子表的区域由l,w所表示的一组数据的长、宽数值确定;子表内的属性值由ATTR的字符文本集确定。

子表的提取方法是建立在CAD图纸关于表格栏针对子表划分的算法基础之上,划分的原则在上一章已有讨论。本小节将重点讨论单个子表数据提取的方法。关键问题就是确定子表F所表示的各参变元的值。因此,子表位置信息、所在区域及其包含的属性是确定一个子表所要获得的主要数据。

确定子表位置信息,就是确定子表的一个交点坐标的过程。然后依据对角理论,便可确定子表所在的区域。首先由垂直线和水平线计算交点,得到子表左下角点A的坐标,同时可以得到子表右上角交点B的坐标。由交点坐标,可以判断它们所围的区域是否为一合法的子表,如果是,可以再计算该子表的长和宽。依据CAD图纸的文件格式,找到该区域内对应的属性值。这样,定义子表的五元组就确定了。图3.10所示为子表提取过程示意图。

(a)子表左下角区域 (b)子表右上角区域 (c)匹配的子表区域

图3.10子表提取过程示意图

2.CAD图纸零部件信息提取

目前使用CAD技术设计图纸的企事业单位很多,尽管如此,但是每个单位制作图纸时的标题栏、明细栏及产品/部件汇总表都有自己的规范的。因此为了保证灵活的提取技术,定义好一套CAD图纸的模板是非常关键的。就使用的不同模板的图纸而言,零部件提取的技术都是一样的。

从DWG图纸(*.dwg)中直接读取图纸中的标题栏、明细栏的信息。自动创建产品树结构;(不启动AutoCAD系统,与AutoCAD的版本无关,与标题栏、明细表的格式

无关)支持批量提取;进行图纸标题栏和明细表数据校验;(准确性与完整性)对提取后的数据进行二次处理;(这些处理可以由用户自己定义的VB脚本文件来完成)导出己提取完成的数据,可以导出到Sql server, Orcal,等数据库中达到信息共享,也可以保存为自定义的格式文件或Excel文件。

首先采用前面讨论的自由表格矩阵表示的虚表结构定制出对应图纸的表格,获得表格的结构和子表对应的数据内容,以此作为样本表格数据。然后利用CAD子表的数据提取方法,处理CAD图纸的标题栏(图块)、明细栏(BOM表)及产品/部件汇总表,分别生成各自对应的五元组。之后再对照样本表格与生成的五元组表格矩阵是否相同,搜索出具体相同表格逻辑结构的样本。最后按照所需要的保存格式,从标题栏中提取出数据,如保存到数据库或生成EXCEL或XML文件中;从明细栏、产品/部件汇总表提取出数据,根据产品的装配关系,形成产品装配结构树,再对这些据进行分类出或保存,最后达到据的共享。

3. CAD图纸信息回写技术

通常对于一张AUTOCAD图片,在保存时都有自己数据库的存储格式。提取标题栏明细栏等数据也是根据其存储格式与要提取的子表匹配后从对应的存储数据库中获得。回写技术首先也必须是一个匹配过程,然后才能在相应的位置修改子表块数据库的属性值。因此充分理解AUTOCAD文件的数据库存储结构是解决信息回写技术的首要任务。以下将主要从通用图形文件格式开始,逐步介绍其内部结构,清楚数据是如何提取和回写的过程。

DXF文件和DXF文件组码

DXF(Drawing Exchange File)文件是AUTOCAD标题图形交换文件,也是CAD领域事实上的工业标准交换文件,几乎所有的CAD软件包都支持它。一个DXF文件是对一个图形的完整描述,是该图形的完全等价的形式,我们也可以把它看成是AUTOCAD内部图形数据库的ASCⅡ码映像。DXF文件可以用AUTOCAD的DXFOUT命令生成,也可以用DXFIN命令读入。ADS的选择集操作函数、实体操作函数和符号表访问函数其实就是对AUTOCAD的图形数据库进行访问和修改。因此,深入了解DXF文件格式,否则,就无法有效地使用这些函数,也无法读懂那些利用DXF知识编制的程序等。

DXF文件由顺序出现的四大节(Section)构成,即标题节(HEADER SECTION),表节(TABLE SECTION)、块节(BLOCK SECTION)和实体节(ENTITIES SECTION),其总体结构如下:

0 SECTION

2 标题节开始 HEADER

?? 0

ENDSEC 标题节结束 0 SECTION

2 表节开始 TABLES ?? 0

ENDSEC 表节结束 0 SECTION 2 BLOCK ?? 0

ENDSEC 块节结束 0 SECTION

2 实体节开始 ENTITIES ?? 0

ENDSEC 实体节结束 0

EOF DXF文件结束 DXF组码与组值

DXF文件全部是由组(Group)构成的,每一个组占2行,第一行为组码,第二行为组值。组码是一个非负的整数,共占3位,向右对齐,不足3位的,以前导空格字符补足。组值格式取决于该组的类型。组码0~9的组值为字符型,10~59为实型,60~79为整型。

DXF文件各节的开始和结束,表节中每种表的开始和结束,快节中每个块的开始和结束,以及每个表项、每个实体的开始,都是以0作为组码的。因此,对图形数据库中的数据进行提取时,0组是非常有用的。

标题节

块节开始

DXF文件的标题节用来记录与图形有关的变量的设置,可以使用各种AUTOCAD命令为这些变量设置新的值,也可以用status命令显示某些变量的值,标题节的总格式为:

0 SECTION 2 HEADER ?? 9 $INBASE l0

0.0 变量描述 20 0.0 9

$VIEWSIZE 40 9.678836 ?? 0

ENDSEC 标题节结束

在变量描述部分,每个变量都是以组码为9,组值为变量名的组开始,其后跟着描述此变量的组。

第一个变量的描述包括3个组,以组码为9,组值为INBASE的组开始,INBASE的意义与系统变量INBASE相似,表示图形的插入基点,第二组的组码为10,组值为0.0,表示插入基点的X坐标值为0.0,第三组的组码为20,组值为0.0,表示插入基点的Y坐标为0.0,至此第一左边描述完毕。

第二个变量的描述只有2组,以组码为9,组值为VIEWSIZE的组开始,表示当前屏幕高度;第二组的组码为40,组值为.9678836,表示屏幕高度为9.678836。

需要注意的是,标题节中的标题变量(Header Varibles)和系统变量(System Varibles)虽然极类似,但不等同。

表节

DXF文件的表节包含有多个表,而每个表又可以含有数量可变的表项,表的顺序可以变化,但LTYPE表必须在LAYER表的前面,每个表都是用带标号“TABLE”的一个0组引入的,然后是命名该表(VPOTR,LTYPE,LAYER,STYLE,VIEW,

DIMSTYLE,ECS或APPID)的第2组,再继之为70组,70组指定跟在后面的最大数目。

线型表用来描述已装入图形中的每一个线型的定义,包括线型名、线型描述文字、组成该线型直线段的段数以及每段的长度。

层表用来记录图形中己有的各层(包括用户建立的和系统自动建立的)的名字、颜色、线型以及开与关、冻结与解冻的情况。

字体表用来记录图形中己定义的各种字体的特性,这些字体包括系统本身预建立的字体STANDARD,其余则是用户用STYLE命令自行建立的。还有其它一些表,用来记录系统必须维护的其它状态。

块节

块节用来记录图形中所以块的定义信息。无论是用户用BLOCK命令定义的块,还是因为用HATCH命令、相关尺寸标注命令或其它内部操作而由系统自动生成的无名块,都要在块中详细进行描述。

块中的实体格式和下面将要介绍的实体节中的实体格式相同。块节中的实体均在BLOCK与ENDBLK之间出现。

实体节

实体节用来记录图形中所有实体的定义信息。组成图形的所有实体都要出现在实体节中,而组成块的所有实体都要出现在块节中。同一类型的实体,在块节中和实体节中出现的形式是完全相同的。

在完整描述一个实体性质时,有一些组是一定要出现的,而有些组只有当其组值不同于缺省值时才出现,这样可以减少图形数据库的冗余度。

实体节的总体结构如下: 0 SECTION

2 实体节开始 ENTITIES ?? 0

ENDSEC 实体节结束

每一个实体的描述均以组码为0,组值为实体名(或称实体类型)的组开始。实体描述没有明显的结束标志,遇到下一个实体描述的开始,即意味着本实体描述的结束。每一个实体描述中,8组是必须出现的,其组值表示该实体所驻留的层面。关于各个实体组码构成的详细介绍,可参考DXF组码表。

通过上述结构的分析,可以方便的通过编码的方式提取和回写所需要的数据,因此对回写技术的实现成为可能。回写的数据一般应用在对图纸审核的过程,包括对图纸附上签名栏的审核姓名和日期栏的具体日期。

第四章 CAD智能提取系统与信息共享应用实例模型

制造业企业信息化是一个大的系统工程,包括CAD技术、CAPP技术、PDM技术、ERP技术。既有纯技术的,也有管理的,从工程应用的角度来看,数据的流向图描述了从CAD到REP整个系统的信息流动方式,DPM管理以CAD产生的产品图纸,并从CAD图纸中提取标题栏、明细栏信息,并产生产品的结构树,整理后导入到DPM系统中去,对于三维CAD则通过读取图纸文件中记录结构的数据来产生产品结构树。从而通过PDM系统来维护企业的产品结构信息、版本信息、进行数据版本的更改管理、产品数据的工作流程的管理、图文档的查询管理等,这里DPM充当了产品开发的一个管理平台。

针对前面理论介绍的前提下,为了使用户更好地管理CAD图纸达到图纸信息的共享,采用C++语言实现一个具体的应用数据提取软件。该软件能对CAD生成的DWG文件格式机械工程图纸的标题栏、明细表和产品部件汇总表的信息进行提取。

为了阐述的需要,下面将首先从系统提取的功能模块介绍,再拓展到一个集成应用平台,以及与其它应用平台的整合,使提取的数据比如明细表数据与PDM系统的共享。

4.1 支持多模式CAD智能提取系统实例

就数据提取模块而言,这里比较关注的是模式的定义,由于不同企业使用图纸的规范不同,因此为了增加软件的实用性,我们特地增加这样一个功能,用以提高软件的健壮性。其基本的功能模块见图4.1所示。

C A D 绘 制 的 图 纸 输 出 X M L 数 据 装配信息表 图 纸 模 版 定 义 标题栏数据提取 明细栏数据提取 汇总表数据提取 零件信息表 数据库

图4.1 支持多模式智能信息提取功能图

为了能够高效、准确地自动提取图纸标题栏信息,实现大量现存电子工程图档的自动入库。希望在AutoCAD平台上开发这样的功能模块(ACAD接口模块): i)定义标题栏,明细栏模板。ii)按照模板对DWG格式电子图档的标题栏、明细栏等信息的无损失提取和自动入库。iii)对于非定义模板,也应该根据一定的提取算法能够实现标题栏、明细栏等信息的提取。AutoCAD信息提取模板定义工具正是这样的一个功能模块。

智能提取模块的主要操作界面实现如图3.10所示,其关键点在于模板的定义和数据提取,其中模板的定义是用VB开发的,数据提取使用C++开发,主要采用了一个

专门研究DWG格式的开放组织OpenDWG提供的编程接口,速度快;其它几项都是辅助功能,比如视图的放大与缩小,图片位置的移动等。定义模板必须注意的是前面对CAD图纸表格所介绍过的单元格知识,才能正确定义模板。有标题栏包含的成对单元格、独立单元格的定义;也有定义明细栏的表格定义,包括数据增长的方向,系统自动提取表格(明细栏的标题栏)的名称。模板的定义见图4.2所示。定义后单元格的线框颜色系统将更改为深色。

图4.2 数据提取模块功能界面图

在绘制工程图时,不同的企业可能依据不同的标准,如国标、部标、厂标等,标题栏和明细表的样式并不一致。但是,他们的标题栏和明细表的组成元素却大致相同。标题栏由成对单元和独立单元组成,其中成对单元包括名称单元和数据单元,如“设计”和“张三”,独立单元格则仅有项目值,而无与之对应的项目名单元格,如“五零一部”:明细表由子表头和子表单元行组成,各单元行中为顺序排列的数据单元。不同的标识元素要用不同的方法来定义。以下将详细描述数据提取模块所实现的具体功能.

1.文件操作功能

首先需要将要生成模板的AutoCAD文件选到工作区中。选择“文件”菜单中“打开AutoCAD文件”选项,或者点击工具栏上的

按钮,就会弹出一个文件选则对话

框,从中可以选择要提取数据的AutoCAD作图文件,在选定了此文件之后,该文件会显示在工作区中,其他的菜单项个工具栏按钮才变为可用,按键上的“PageUp”和“PageDown”键可以调整图样的显示比例,方向键可以控制图纸在屏幕上的显示位置。调整好图像的现实比例和位置后,就可以进行模版的定义工作了。

2.模板定义功能 定义成对单元格

选择“模板定义”中的“成对单元格”或工具栏中按钮,就激活了成对单元格

的定义模式,鼠标显示数字1。此时用鼠标左键点击成对单元格的名称单元,鼠标显示数字2,再选择与该名称单元对应的数据单元,并用鼠标左键点选。这时会弹出一个设置对话框,如图4.3所示:

图4.3 成对单元格定义窗口

其中“文本”数据项显示了名称单元格中的文本信息,此项值为只读;“名称”数据项指定了在提取数据单元格中的信息时该数据项的标识,用户可以对其进行更改。下面的复选框“唯一代表图纸的属性”用来指定该数据项是否可以作为唯一确定本图纸的标识。确定后,就完成了这一对单元格的定义。这时鼠标又显示数字1,可以进行下一成对单元格的定义了。在屏幕上的任意地方点击鼠标右键,就可以退出成对单元格的定义模式,鼠标恢复为系统默认。

定义独立单元格单

选择“模板定义”中的“独立单元格”或工具栏中的

按钮,就激活了独立单元

格的定义模式。此时用鼠标点击要提取数据的独立单元格,会弹出如图4.4的设置对话框:

图4.4 独立单元格定义窗口

“名称”数据项指定了在提取单元格中的信息时该数据项的标识,需要用户对其进行命名。下面的复选框“唯一代表图纸的属性”用来指定该数据项是否可以作为唯一确定本图纸的标识。确定后,就完成了该独立单元格的定义,准备进行下一个独立单元的定义。在屏幕上的任意地方点击鼠标右键,就可以退出独立单元格的定义模式,鼠标恢复为系统默认。

定义阶段标识

选择“模板定义”中的“定义阶段”或工具栏中的

按钮,就激活了阶段定义模

式。此时用鼠标点选图纸中的阶段标识,弹出和定义独立单元格相同的设置对话框,

由用户指定标识的名称,确定后就完成了阶段标识的定义,准备进行下一个阶段标识的定义。在屏幕上的任意地方点击鼠标右键,就可以退出阶段标识的定义模式,鼠标恢复为系统默认。

定义表格

选择“模板定义”中的“定义表格”或工具栏中的

按钮,就激活了表格定义模

式。这时用鼠标点击工程图中数据表格表头的某一项,会弹出如图4.5的对话框:

图4.5表格表头定义窗口

“名称”数据项指定了在提取表格中的信息时某一列数据的标识,默认为该列表头单元格中的文本,用户可以对其进行更改;“表名”下拉列表中列出了所有可选的表格类型,包括明细表和其它用户自定义的表格类型;下面的复选框“唯一代表子部件”用来指定该数据项是否可以作为唯一确定子部件的标识,即该数据表的键。选择确定后,就完成了该数据表项的定义,准备进行下一个数据表项的定义。在屏幕上的任意地方点击鼠标右键,就可以退出表格定义模式,鼠标恢复为系统默认。

经过一系列的工作,定义好的信息提取模板显示如图4.6:

图4.6 模板定义示例图

取消己有定义

选择“模板定义”中的“删除单元格”或工具栏中的

按钮,就激活了取消定义

模式。此时用鼠标点击己经定义好的单元格,即可取消其定义。在屏幕上的任意地方点击鼠标右键,就可以退出取消定义模式,鼠标恢复为系统默认。

查看和修改已有定义

在各种模式都未激活时,即系统默认状态下,左键点击已经定义的单元格,就会弹出相应的设置对话框,从中可以查看和修改己经定义好的属性,包括名称和是否为唯一标识的属性。

3.管理模板功能

选择“模板定义”中的“模板管理”或工具栏中的

按钮,可以浏览已经定义好

的模板信息,增加、删除子表,以及设置数据表的数据排列方向。选择该功能后,弹出如图4.7的对话框:

图4.7 模板管理窗口

在“图纸标识”下拉选单中,列出了所有已定义的标题栏单元格名称;“子部件标识”下拉选单中列出了已定义的明细表的表头名称;“表名”下拉选单中列出了系统默认的“标题栏” 、“明细表”两种标识类型和自定义的子表名。下面的列表框中,显示了对应于当前表名的所有已定义标识及其类型描述。

例如用户点击“创建子表”按钮,会弹出如图4.8的对话框:

图4.8 新建子表窗口

在“表名”栏中填入数据表的名字,如“补充表”,选择“确定”,则在模板管理的“表名”中就会多出一项“补充表”来。在工作区中添加表格定义,在设置对话框中的“表名”下拉列表中选择“补充表”,然后再打开“模板管理”,在“表名”中选择“补充表”,得到如图4.9的结果。

图4.9 模板管理的新建子表窗口

当“表名”列表中选择的是用户自定义的表格类型时,“删除子表”按钮可用。点击这个按钮,就会删除该自定义表格类型。

当“表名”列表中选择的是表格类型时,对话框右侧会出现“增长方向”选项,通过它可以选择本工程图中数据表的增长方向。

4.保存与打开定义模板功能

设置完毕后,选择“保存模板”或点击工具栏上的

按钮,可以将全部定义的结

果保存为模板XML文件。选择“文件”菜单中的“打开模板”或点击工具栏上的

钮,可以打开己经定义好的XML模板文件。模板定义的XML文件格式如下例所示:

<模板文件>

P/N 序号 <标题栏> <成对单元>

416.814087 49.250458 434.814087 54.250458 设计

416.814087 49.250458 434.814087 54.250458

设计

<成对单元>

416.814087 44.250458 434.814087 49.250458 制图

416.814087 44.250458 434.814087 49.250458

制图 <成对单元>

416.814087 39.250458 434.814087 44.250458 校对

416.814087 39.250458 434.814087 44.250458

校对 <成对单元>

416·814087 34.250458 434.814087 39.250458 审核

416.814087 34.250458 434.814087 39.250458

审核 <独立单元>

476.814087 39.250458 536.814087 74.250458

品名 <独立单元>

536.814087 54.250458 586.814087 63.995384

P/N <阶段标记/> <明细表>

<表名>明细表 <方向>1 <高度>0.700000 <表头> <表头列名>

476.814087 74.250458 483.814087 86.250458 序号 <表头列名>

483.814087 74.250458 513.814087 86.250458 代号 代号

<表头列名>

513.814087 74.250458 566.814087 86.250458 名称 名称 <表头列名>

566.814087 74.250458 576.814087 86.250458 数量 数量 <表头列名>

576.814087 74.250458 596.814087 86.250458 备注 备注

以上定义生成的XML文件就是对模板表格结构的详细描述,分别定义了标题栏和明细栏中各单元格的坐标位置、名称及名称标识等信息。

5.数据提取技术

数据提取技术是采用OpenDWG组织开发所提供的一套接口实现,通过定义模板的数据和CAD图纸文件的数据匹配,把相应数据提取的过程。

数据提取的中间结果也是存储在XML文件中,可以通过XML编程接口读取文件中的数据形成产品结构树,或经过二次数据处理将数据导入到数据库中,也可以按需要的文件格式输出,如以EXCEL文件格式输出。标题栏提取结果的输出格式如下例所示:

<图纸信息> <标题栏>

<标记>a <数量>3

<更改单号>设计图形改进 <签字>袁永 <比例>1:1 <材料>SHATF <图号>材料

图号

<版>300059 <明细表/>

就上述提取所得的值经过对XML文件的读写,就很容易获得某单元格的值。对这些不同表格的处理,可以按照所需的不同格式输出,包括直接插入数据库或者以EXCEL表格的形式输出等。

4.2 基于PMD为核心的系统整合模型

随着Intrnet/Intranet的发展和并行、高性能计算及事务处理的普及,异地、协同、虚拟设计及实时仿真得到了广泛应用,CAD技术成为了企业提高创新设计能力的主要手段。

基于事物特性表的变型设计过程是相对于全新产品设计、针对通用产品设计的一种设计方法。它是在原有零部件的基础上,通过改变事物特性表中的特性值,从而得到相似零部件的设计方法。它要求CAD系统不仅是关系型系统,而且具有表格驱动的功能,利用事物特性表,可以建立一类零部件或产品的模型。

CAD系统应是多成员家庭中的一员,和家庭内的其它模块一起,构成从设计、制造到管理的一体化解决方案。此外,还应具有灵活的外部接口、良好的开放性、功能强大的开发语言,使其可以实现与非家庭成员的其它系统无缝集成。

1.PDM服系统简介

产品数据管理(Proudct Data Management,简称PDM)技术是在CAD技术的发展与需求的直接推动下而出现的。在PDM系统中,产品信息管理是一门用于管理所有与产品信息(包括零件、配置、文档、CAD文件、结构、权限信息等)和与产品相关过程(包括过程定义和管理)的技术。如今以产品为中心来集成企业业务应用系统是一种有效的集成方法;企业的其它与产品不相关的应用可以作为对立模块处理。因此通过一条以产品过程为纽带连结企业信息链的集成技术也逐步诞生了。

PDM就是集成并管理与产品有关的信息、过程及人与组织。它能够实现分布环境中的数据共享,为异构计算机环境提供了一种集成应用平台,从而支持CAD/CAPP/CAM系统过程的实现。

PDM是系统以网络环境下的分布式数据处理技术为支撑,采用客户/服务器体系结

构和面对对象的设计方法,实现产品全生命周期的信息管理,协调控制工作流程和项目进展,在企业范围内建立一个并行化产品开发协作环境。

PDM主要可实现电子资料室(Data Value)及文档管理、产品配置管理(Product Configuration Managemen t)、工作流程管理、分类及检索功能和项目管理。

PDM技术可以有效的管理与产品相关的所有信息,如:设计说明书,图纸、工艺文件、技术规范、材料清单(BOM)等,还包括与产品开发相关的过程,如:人员组织、工作流程、信息的审批和发放等,PDM技术给企业的信息集成带来了全新的解决方案。

2.CAD与PDM系统集成模型

PDM系统管理的企业数据主要包括两大类:文档和BOM数据。文档主要以CAD系统产生电子图档为主。而BOM作为企业产品开发和生产的数据组织核心,贯穿了产品的整个生命周期,设计部门通过BOM获取所有零件的信息及其相互间的结构信息,生产部门使用BOM来决定零件或最终产品的制造方法,管理部门通过BOM决定主生产计划,确定物料净需求量等。因此,对于PDM系统来说,如何保证BOM信息的正确性是至关重要的。

CAD系统是BOM的源头,CAD系统内部包含了BOM所需的基本信息,如产品结构、材料、重量、体积等。因此,PDM系统在管理CAD系统产生的图档的同时,如何实现CAD系统和PDM系统的数据一致,是一个非常值得研究的问题。

在CAD图纸中,通过数据提取回写系统,可以获得产品数据信息和写入产品结构信息和零部件信息,对这些产品信息经分类处理,可以形成对应的BOM表和产品树,这是一个双向过程;然而,PDM系统中,也可以通过基于单向数据接口从CAD图纸系统中获取产品结构信息和物理属性信息。如图4.10所示。

C A D 工 程 图纸 产品结构 零部件信息 产品结构 零部件信息 标题栏信息 明细栏信息 P D M 系 统 PDM数据库 零部件产品信息 产品结构、图档 零部件信息

图4.10 CAD工程图纸与PMD系统的关联关系

通过结合CAD系统的开发接口和PDM提供的API函数,在CAD系统内部开发基于PDM系统的客户端程序。通过这个客户端程序可以实现CAD系统直接访问PDM内部存储的数据,直接从PDM内部提取装配结构信息和零部件信息,并自动生成在CAD图纸的明细表和标题栏上。同时,还可以在生成标题栏时,根据图纸上的信息,将新的装配结构信息和零部件信息自动反映在PDM系统内,实现信息互动。而且相关的图档也可以通过图档注册功能从CAD系统自动挂接到PDM系统中的产品结构上。

这些自动的信息传递,不仅保证了两个系统的数据一致,而且大大降低了设计人员的录入工作。从这两个系统的关联图可以看出,主要应关注的是零部件信息和产品结构。因此下面有必要介绍有关CAD图纸信息提取产品结构树的内容。

3.CAD信息提取形成的产品结构树模型

对于从CAD图纸中提取出的信息经过分类等形式的处理,可以按一定的配置规则生成一棵逻辑结构树,也就是通常说的产品结构树。一般来说,产品结构树的组成是由CAD图纸上的零部件明细表组成的结构树。通常将产品名称作为逻辑结构树的根结点,零部件作为其子结点,这种树的逻辑表达方法也是一种递归描述。产品结构树中的所有节点如成品、部件、零件、原材料都统一定义为Item(结构条目),这种结构抽象为Item组成的产品结构(如图4.11a示)。把产品信息定义为一个树状结构模型,称为产品信息树,定义产品结构中的任一个Item为产品信息树的根节点,第二层类节点有3个,分别表示Item的工程技术信息类、制造资源信息类和结构信息类.第三层叶节点是信息的实体,信息的实体实际上是产品生命周期各阶段的信息,这些信息的管理由外部的应用模块负责,集成系统的作用是把这些信息实体有机地联接起来(如图4.11b示)。

产品 Item 部件1 零件1 零件2 零件3 工程技术类 图纸 文档 图像 结构视图类 部件n 零件1 设计视图 制造视图 零件n 制造视图类 文档

(a)结构树模型 (b)信息树模型

图4.11 产品结构树两种基本模型

4.基于PMD的CAD/CAPP/CAM系统框架模型

在激烈的市场竞争和巨大的内外环境压力下,企业若要达到预期的市场占有率和预期的经济效益,提高企业的应变能力和竞争能力,用最短的时间生产出市场适销对路的、质量好、价格低的产品,最大幅度地满足用户的需求,最有成效地提高自己的经济效益,成为企业生产经营的主目标。企业的竞争是对用户的竞争,谁拥有更多的用户,谁就占有更多的市场份额。怎样才能赢得客户?最关键的是要满足客户的需求—产品和服务,在制造环境相同的情况下,影响产品的要因素是产品设计水平、产品的设计水平是与企业所采用的设计手段密不可分,各国的实践证明采用高科技的手段—CAD/CAE/CAM。

CAD/CAE/CAM为企业带来的巨大变革有目共睹,企业越来越认识

本文来源:https://www.bwwdw.com/article/xek7.html

Top