基于XML的工程数据表达方法研究*
2014-08-04罗年猛黄如金
罗年猛,黄如金,朱 林
(华中科技大学国家CAD支撑软件工程技术研究中心,湖北 武汉430074)
1 引言
随着企业信息化应用的不断深入,人们需要在文字工程数据中增加图形符号。这些工程数据有以下特点:(1)文字和图形混排形成一个整体,不能分开存储,如图1中工序内容里的粗糙度符号;(2)工程数据可能含有多个属性值,如图1中工序内容含有蓝色和红色的文字。(3)多段文字组合表达工程语义,如图1中工序内容里的尺寸公差。
Figure 1 Content of process图1 工序内容
目前,在图形和文字混合的工程数据中,图形主要通过图片或转义字符转换成文本数据两种方式来存储与表达。图片的存储表达方式,不便于修改图形及相关属性。通过转义字符转换成文本数据的存储表达形式,也存在以下不足:(1)当图形类型增多时,转义字符增多,不便于表达管理;(2)复杂的自定义图形很难用转义符来表达;(3)因转义被隐藏的图形很难修改其属性;(4)图形通过转义字符表达,缺少必要的工程语义信息,不利于工程数据的快速提取。例如,AutoCAD中尺寸公差用“^”、“/”等转义符将上下偏差堆叠在一起;而形位公差却采用“%%v”等转义符分开形位符号和基准等[1]。
因此,为解决以上问题,本文针对含有图形和文字的工程数据特点,提出了一种基于XML的工程语义表达模型,并给出了表达模型的实现框架。它既不仅能表达各种自定义的图形,还能与其他文本信息统一集成,给工程数据的显示以及工程语义的提取带来了方便,为基于工程语义搜索[2]创造了条件。
2 工程数据分类
我们先来分析图1中的工程数据,它包含图形工程数据,而且也包含文本信息。首先将其根据工程语义进行拆分,然后根据文字和图形各自的属性进行拆分,拆分后如图2所示。
Figure 2 Analysis of engineering data图2 工程数据分析
工程数据根据其表达最终可由文字、直线、圆和曲线等基本元素构成。这些基本元素好比语言学的汉字或者单词,若干文字、直线、圆和曲线等基本元素组合在一起,在一定的工程背景下能共同表达有意义的语义。为实现工程数据(特别是图形和文字混合的工程数据)能基于独立的工程语义表达模型存储,为下一步研究基于工程语义的检索技术[3],实现知识推理打下基础,在此,引入语义元、工程语义和最小工程语义等概念来表达工程数据。相关概念的定义和介绍如下。
定义1 语义元SE(Semantic Entity)指用于表达工程数据的最基本的元素,如文字、直线、圆、弧、B样条曲线和坐标等。
语义元可分为文字和图形等。每类语义元都有属于自己的属性。比如,文字语义元有字体名称、字体大小、粗体、斜体、字符集和文字颜色等属性,图形类语义元,如直线,有线型名称、线型宽度和线型颜色等属性。每类语义元的属性部分是该类特有的,部分属性是相同的,比如语义元的颜色。
语义元只有在一定的工程背景下才能表达有意义的语义。如图2中的“13.5”、“0”和“-0.1”按照一定格式组合在一起才能表达尺寸公差,否则只是基本文字元素。
定义2 工程语义ES(Engineering Semantics)指在一定工程背景下,若干语义元所表达的有意义的语义。
工程语义还可拆分成若干更小的工程语义和其它若干语义元组成,而更小的工程语义具有表达相互独立、语义间具有上下文联系的特点。好比文章的句子可以由很多词组和剩下的字组成。
如图2中“工序内容”这一工程语义由“尺寸公差”、“粗糙度”和若干文字语义元共同表达。
定义3 最小工程语义MES(Minimum Engineering Semantics)指那些表达格式标准固定,不能拆分成更小的工程语义,只能拆分成语义元的工程语义,好比语言学的词组或者短语。
如图2中的尺寸公差、粗糙度等都是最小工程语义,因再对其拆分,只能得到文字语义元或直线语义元。
所以根据工程数据的表达,工程数据由若干表达相互独立且具有上下文联系的有意义的工程语义组成,如图3所示。
3 基于XML的工程语义建模
3.1 工程语义建模
为了满足企业信息化的应用需求,以便表达和提取文字和图形混合的工程数据,工程数据应包含管理属性数据、文字属性数据、图形属性数据、拓展属性数据和工程数据内容等。为了方便分析,我们首先对最小工程语义(MES)进行建模[4,5]。
最小工程语义的模型定义为:MES=〈MDS,PDS,CDS〉,其中,
(1)MDS(Management Data Set)是 MES的管理属性的数据集合,包含工程语义的名称、唯一标识符、上级工程语义的名称、上级工程语义的唯一标识符、文件的全路径和版本号等管理属性。
(2)PDS(Property Data Set)是确定 MES外观的数据集合,PDS=〈SDS,TDS,GDS,EDS〉。
Figure 3 Classification of engineering data图3 工程数据分类
①SDS(Space Data Set)是确定 MES的空间位置的属性数据集合,包含空间区域中左下角坐标、空间区域的右上角坐标、空间分布的对齐方式、首行缩进、左缩进、右缩进和对正方式、栏宽度、行间距和段落间距等属性数据。坐标可以是绝对坐标系或者相对坐标系的值。若为绝对坐标系的值,则空间位置不变,若为相对坐标系的值,空间位置由工程语义确定。
②TDS(Text Data Set)是确定MES的文字外观的属性集合,包含字体名称、字体高度、字体颜色、粗体、斜体、上划线、下划线、字符集、追踪、宽度因子等跟文字有关的属性。
③GDS(Graphic Data Set)是确定 MES的图形外观的属性集合,含有线型、线宽、颜色和图层等跟图形有关的属性。
④EDS(Expand Data Set)是 MES的拓展属性数据集合,含有环境、光亮度、加亮、反射和透明度等跟渲染有关的属性和工程材料、质量、质量单位、惯性、惯性单位、体积、体积单位、表面积和表面积单位等跟力学分析有关的属性等等。
(3)CDS(Content Data Set)是确定 MES内容的语义元数据集合,含有文字、直线、圆、弧和B样条曲线等语义元。语义元都是参数化表达,由语义元名称、定义外观的PDS和定义形状的基本参数序列表达。
①语义元的PDS与工程语义的PDS具有继承性。比如语义有一颜色属性为“红色”,那么语义元的默认颜色为“红色”,若语义元想显示为“绿色”,只需将语义元的PDS颜色属性定为“绿色”。这样可保证个别语义元PDS属性的差异性。
②基本参数序列间采用“;”隔开。比如文字只需“左下角坐标”和“文字内容”两个参数,则可只定义其位置和形状,两个参数用分号隔开为“左下角坐标;文字内容”。
由于MES是表现格式,是标准的,所以为了能够进一步简化数据量,MES内容的确定也可由一系列的参数确定。比如表面粗糙度,可以由粗糙度类型及相关标准参数等参数序列确定。
在定义了MES表达模型之后,我们很容易得到工程数据中工程语义表达模型。
工程语义模型定义:ES=〈MESDS〉,其中,
(1)ES(Engineering Semantics)是工程语义;
(2)MESDS(Minimum Engineering Semantics Data Set)是最小工程语义组合而成的具有工程语义的数据集合,MESDS= {MES1,MES2,…,MESn};
因此,工程数据的分类可如图3所示。
3.2 模型实现语言
XML作为数据描述工具,不仅能够完整清晰地表达产品结构和信息内容,还具有开放性、扩展性、自描述性和异构性等特点,能实现网络环境下的工程数据的集成和共享。所以,工程语义的表达模型通过XML语言来表达实现,建立模型到XML的映射关系[6,7]。
为了更好地利用浏览器、产品生命周期管理PLM(Product Lifecycle Management)软件等对XML工程数据提供支持,需要建立XML的文档结构规范。XML Schema采用XML语法,比DTD(Document Type Definition)具有更强的描述能力、扩展能力和处理维护能力。所以,采用XML Schema语言分别对数据类型、工程语义的属性、语义元和工程语义内容数据集合等建立XML Schema库。
数据类型、工程语义的属性和语义元采用XML Schema的simple Type和complex Type元素进行定义,这样可用Type属性重复引用这些类型[8]。下面以工程语义内容数据集合的XML Schema规范为例说明,如图4所示。
Figure 4 XML schema specification of engineering semantics图4 工程语义XML Schema规范
4 模型实现框架
工程语义表达模型的实现框架包括文字数据和图形数据的输入/修改/查询界面、工程数据显示界面、编译器(XML接口组件和XML Schema规范)和数据库四部分,如图5所示。
Figure 5 Model framework图5 模型实现框架
输入/修改/查询界面方便用户按照模型的格式输入、修改和查询相关的工程数据,同时能根据事件响应XML接口组件;显示界面接收XML接口组件传送过来的数据,直观显示工程数据;编译器主要由XML接口组件和XML Schema库组成,XML接口组件包括工程数据接收、判断、修改、排版计算、查询、存储和输出等接口,XML Schema库为工程数据格式的判断标准;数据库存储的工程数据是基于表达模型建立的,有利于PLM的集成和共享。中,并取得了很好的效果。下面以天喻CAPP工艺卡片的应用为例进行说明。要在CAPP工艺卡片中显示如图1所示的工程数据,需要打开如图6所示的二维表文字输入界面,此界面是一个所见即所得的界面,可以直接输入文字和特殊图形,可以直接修改输入的文字的属性,如字型、大小和颜色等。而想输入特殊图形需要打开相应的图形输入界面,如图7的尺寸公差输入界面和图8的粗糙度输入界面。保存文字和图形混合的工程数据时,还需要经过编译器按照表达模型规则编译后,才能够保存到数据库中。图9为工程数据内容经编译器解析后的XML数据,它将被存储到数据库中,以便PLM集成管理。
Figure 6 Text input interface of two-dimensional table图6 二维表文字输入界面
5 应用实例
该表达模型已应用到天喻CAD和天喻CAPP
Figure 7 Input interface of dimensional tolerances图7 尺寸公差输入界面
Figure 8 Input interface of roughness symbol图8 粗糙度符号输入界面
Figure 9 XML data图9 XML数据
6 结束语
本文在分析含有图形和文字的工程数据的特点后,提出了一种基于XML的工程语义表达模型,并给出了表达模型的实现框架,它不仅能表达各种自定义的图形工程数据,而且还能与其他文本信息统一集成表达。该表达模型应用在CAD和CAPP等软件中,取得了很好的效果,为进一步研究解析后的XML工程数据的查询检索方法,实现知识推理做好了铺垫。
[1] Cheng Jing.AutoCAD engineering drawings and secondary development of technology[M].1st edition.Beijing:National Defense Industry Press,2008.(in Chinese)
[2] Przybylinski S.CAD and analysis:Who’s on first?[C]∥Proc of PLM Market &Industry Forum,2012:1.
[3] Gong Jiao-teng.The status,bottlenecks and trends analysis of network information retrieval technology[J].Journal of Information,2004,23(5):75-77.(in Chinese)
[4] Dong Min-qin,Zhu Lin.CAPP card modeling in graphic environment[J].Mechanical Engineer,2006(10):49-51.(in Chinese)
[5] Chen Lei,Pan Xiang,Ye Xiu-zi,et al.Ontology-based product knowledge representation and retrieval[J].Journal of Zhejiang University(Engineering Science),2008,42(12):2037-2042.(in Chinese)
[6] Pan Shun,Jin Yuan-ping,Ouyang Ye.Semantic mapping from structured data to XML data[J].Journal of Southeast University(Natural Science Edition),2002,32(3):1-4.(in Chi-nese)
[7] Chen Wan-ling,Chen Zhuo-ning,Bin Hong-zan,et al.The expression of process planning information and its application based on XML[J].Journal of Huazhong University of Science and Technology(Nature Science Edition),2006,34(3):46-49.(in Chinese)
[8] Hunter D,Rafter J,Fawcett J,et al.Beginning XML[M].4th edition.Wu Wen-guo,translation.Beijing:Tsinghua U-niversity Press,2009.(in Chinese)
附中文参考文献:
[1] 程静.AutoCAD工程绘图及二次开发技术[M].第1版.北京:国防工业出版社,2008.
[3] 龚蛟腾.网络信息检索技术现状、瓶颈及趋势分析[J].情报杂志,2004,23(5):75-77.
[4] 董敏钦,朱林.基于图形环境的工艺卡片建模研究[J].机械工程师,2006(10):49-51.
[5] 陈磊,潘翔,叶修梓,等.基于本体的产品知识表达和检索技术研究[J].浙江大学学报(工学版),2008,42(12):2037-2042.
[6] 潘顺,金远平,欧阳晔.结构化数据到XML数据的语义映射[J].东南大学学报(自然科学版),2002,32(3):1-4.
[7] 陈万领,陈卓宁,宾鸿赞,等.基于XML的工艺信息表达方法研究与实践[J].华中科技大学学报(自然科学版),2006,34(3):46-49.
[8] 亨特,拉夫特,福思特,等.XML入门经典[M].第4版.吴文国译.北京:清华大学出版社,2009.