PDM/PLM/CAPP |
|
| 按行业筛选 |
|
|
| 按产品筛选 |
|
|
| |
查看本类全部文章 |
| |
|
|
|
基于XML的CAPP模板定制研究 |
|
作者:蔡长韬 封志明 |
|
CAPP的研究与开发为工艺设计提供了有效的辅助工具,是衔接设计过程和制造过程的关键。在工艺设计中,工艺卡片是指导工人完成现场加上的依据:不同企业的工艺卡片不仅种类繁多,而且各不相同;同时随着企业的发展、产品类型的丰富以及工艺水平的进步,工艺卡片的格式还在不断的变化。传统的CAPP交互技术已不能满足这种格式变换的要求,因此,制定适合企业的工艺卡片格式,并能够随着企业的发展对这些文件格式进行方便灵活的修改,就成了CAPP系统应具有的一个非常重要的功能,也是日前CAPP系统研究的重要内容。
针对以上问题,本文提出一种基于XML的模板定制技术,允许工艺人员根据自己需要的格式绘制出相应的工艺卡片,并能够对生成的工艺模板进行调整和修改,从而为同一类型的工艺文件提供了一致的交互平台,也为实现CAPP系统的通用性和实用性打下重要基础。
1 模板组成对象分析
由于工艺卡片是工艺人员工作的主要对象,因此CAPP系统必须能够实现工艺卡片的计算机描述,即所谓的"工艺文件模板"。
模板是对工艺文件格式的抽象,因此在确定模板的组成对象之前,必须对工艺文件进行深人的分析。尽管CAPP工艺卡片类型繁多,但对工艺卡片进行分析后可以看出,卡片是由一系列单元格组成的。单元格可以分为固定格、变量格、对象格和循环格四种。包含单位名称等固定内容的单元格定义为固定格;包含产品名称、产品工号、零件名称、零件图号等内容,随产品、零件的不同而变化的单元格定义为变量格;包含工序图或其它复杂数据的单元格定义为对象格;包含工序、工步等多行记录内容的单元格定义为循环格。固定格的内容在卡片设计时确定,变量格、对象格和循环格的内容在工艺设计时由用户填写。在设计卡片时用户可以对每一个单元格进行定义。
以锻压工艺卡为例,如图1所示,说明工艺文件模板的元素分解。
图1 工艺文件模板的元素分解 由于每张工艺卡片均可以看成是方框型单元格的集合,按照区域分治的原则对其进行抽象,可以将一张卡片划分成五个区域:表头区、表中区、版本区、编校区和附件区.
(1)表中区是卡片中需要填人多行数据的,如工序部;(2)版本区包括版本、修订号、编号和修改栏等;(3)编校区包括编制、校对、标审、审核等;(4)附件区是需要插人图片的单元格,如工艺简图部分和热处理规范部分;(5)不属于以上四个区域的单元格就归为表头区,通常包括产品名称、产品工作号、部件名称和部件图号等。
经过这样的抽象以后,在CAPP系统中,并不存在任何一张真正意义上的工艺卡片,也不以文件的形式将任何已生成好的工艺卡片保存在磁盘上,所有的数据皆存储于后台数据库中,包括工艺库、资源库、报表模板库以及其它各种共享数据库。结合一定的编码规则,将一张张工艺卡片与其所需的产品数据及工艺数据一一关联起来,从而形成"虚拟工艺卡片",并将其存储于虚拟上艺卡片库中。当需要显示或输出工艺卡片时,系统自动激活所有的链接关系,并将数据填人报表模板的相应栏位中,从而显示或打印出真正的工艺文档。
"虚拟工艺卡片"的概念充分体现了数据库技术的优越性,后台数据库中的各种数据既互相关联又相互独立。当某一卡片的格式改变时,系统会自动更新与该模板有关的所有虚拟工艺文件,这种改变只会影响到数据库中的某一张二维表,而不会影响其它任何数据。同时"虚拟工艺卡片"极大地节省了硬盘空间,而且不存在新旧工艺卡片之间的转换问题,避免了大量的重复劳动.
2 模板的数据描述
XML使用文档来表现实体,而文档中的元素代表实体的实例。文档中的每一个标记都是一个新元素(element )的开头。一个XML元素包含一个起始标记,一个结束标记和元素的内容。基于工艺模板的信息分解可知,工艺文件模板可以看成是一个实体,而模板的各种元素可看作是实体的一系列实例,因此可以利用XML技术,设计一套描述工艺卡片表格的通用XML词汇表,在此基础上,用户可以基于这套词汇表和DTD灵活构建所需工艺文件模板。构建好的工艺模板(XML文档)经过表格生成引擎的解析处理之后,展现在客户端浏览器。
针对工艺长片元数据描述卡片内容区的单元格,可以用< Table >元素表示循环格,row和col分别表示行数和列数,x1,y1表示方格的左上角坐标,x2,y2表示方格的右下角坐标,type表示该变量格的布局方式。< Rcet>元素定义列标题,属性name表示字段名,其了元素定义固定格中的一行文字,font , size, mid分别表示文字的字体、大小及位居方式。如图2所示的循环格有3行3列,左上角坐标为(240,61),右下角坐标为(282,82).
由于工艺卡片类型繁多,开发CAPP系统时要求建立工艺卡片之间的关系,以方便检索及与其它系统集成,因此需要统一定义工艺模板的数据字典,在新建模板时以此为依据进行数据关联。
3基于XML的模板定制技术
由模板组成对象分析可知,模板定制实际上就是将一种类型的工艺卡片格式分解成固定格、变量格、对象格、循环格等模板子元素,并借助交互式手段分别生成的过程,因此有必要对各子元素的生成模式及属性定义进行分析。
3.1模板子元素生成模式分析
由于模板被看作是一个XML文档实体,因此生成模板的过程实际上就是新建一个XML文档的过程。而新建模板子元素就对应为创建XML文档的一个节点。
为创建一个新的文档对象,必须建立一个新的Msxml2.DOMDocument范例,相应得C++代码如下: 在创建DOMDocument对象之后,可以为不同类型的语法分析行为和处理行为设置标记,装载XML文档,在文档内部建立新节点以创建不同的模板子元素。
3.2对象属性的定义
为了定制各子元素在工艺模板中的位置和其他一些必要的信息,需要对各子元素对象赋予相应的属性。XML提供的属性操作方法来自IXMLDOMElement,可以通过IXMLDOMEIement的setAttribute方法设置其属性。对象的属性分析如下:
(1)各对象的公共属性。由于各子元素为一系列的单元格,因此都包含表格坐标值、线形等公共属性。此外还需要对各单元格的卡片区域属性进行设置。
(2)固定格。固定格中的内容在表格设计时已经确定,为了实现与数据库的关联,需要设置字段名属性,另外它需要包含"字体"子元素,用来设置文字的属性。
(3)变量格。变量格中的内容是由用户填写的,需要设置表格的布局方式,它包含固定格子元素。
(4)循环格。循环格也包含固定格子元素。另外由于其含有多行记录,因此除了设置表格的布局方式外,还需要对行列属性进行设置。
(5)对象格。对象格是填写工序图或其它复杂数据的单元格,需要对图形或其他复杂数据的来源属性进行设置。
模板各对象生成之后,模板定制的工作基本完成了。构建好的工艺模板以XML文档的形式存储。再次打开该模板时,只要对相应的XML文档进行解析处理,就可以将原工艺卡片展现在客户端浏览器上。
3.3模板格式的交互式修改
当模板各对象生成之后,有时其格式还不能满足要求,需要对其做一系列的调整才能最终形成一个格式良好的工艺模板。这种修改包括表格位置、表格线形、字段名称、固定格文字内容属性等的修改。
在进行表格修改时,只要选中一个单元格,就将弹出相应的表格属性设置对话框,用户可以对其属性进行修改(如图3所示)。 用户点击"修改"后,所做的修改将被保存到相应的XML文档中,同时界面即刻被刷新,显示为修改后的模板内容。
4 结论
通过对工艺卡片的分析,将工艺模板抽象为由固定格、变量格、对象格和循环格组成的实体,借助交互式手段分别生成其子元素,并将构建好的工艺模板保存为XML文档,从而完成了模板定制过程。实践证明,这种交互式模板定制技术对于实现CAPP系统的通用性和商品化具有重要的意义。(end)
|
|
文章内容仅供参考
(投稿)
(如果您是本文作者,请点击此处)
(11/6/2007) |
对 PDM/PLM/CAPP 有何见解?请到 PDM/PLM/CAPP论坛 畅所欲言吧!
|