模型驱动的CAPP信息定制发布技术研究
0 引言
随着企业信息化的快速发展,计算机辅助技术在企业中广泛应用, CAPP (计算机辅助工艺设计)在企业中得到了广泛的应用;但是,同一个行业内每个企业都有自己的工艺卡片样式,甚至同一企业内部,同样的CAPP 数据,各个不同的部门所使用的工艺卡片样式也是不一样的。同时,在当今以客户为中心的时代,用户的需求是不一样的,他们希望得到完全个性化的服务。因此,企业必须向用户提供个性化的服务。参考文献[IJ 中提出一种用树的方式,在树的叶子节点上来进行模型发布,但是树状结构的发布不符合企业CAPP 工艺卡片的形式,同时看起来很不直观,针对这个问题,本文提出了一种基于XML 的模型驱动的产品CAPP 信息定制发布的解决方案。
1 产品CAPP 倍思定制系统基本框架
产品 CAPP 信息定制系统的结构如图l 所示,本系统中设计了一个面向用户的适应动态显示样式的模型定制工具,企业首先通过系统提供的建模映射工具构建产品CAPP 信息模型,然后使用这个定制工具导人产品CAPP 信息模型,用户就可

以根据需要定制模型的显示样式,并保存定制结果,然后根据模型对CAPP 信息进行动态采集,最后根据模型定制结果和模型实例进行信息发布。
2 模型定制
2. 1 模型建立
本系统首先参照STEP 标准和国内一些较为成熟的CAPP 系统为企业提供了一个CAPP 信息建模工具(见图2) ,企业可以结合自身的情况通过该建模工具实现CAPP 信息模型的建立。该模型最终以XML 的方式进行存储,模型中元素间的关系和约束通过DTD (Document Type Definition) 文档进行存储,以保证系统在以后的信息动态采集中所采集结果的准确性、有效性和合法性。

2.2 模型平面表格化显示
企业建立XML 格式的CAPP 信息模型后,要实现显示定制,首先要给用户生成一个默认的表格,然后用户在这个默认的表格基础之上再根据企业的实际情况进行个性化定制。由于一个XML 文件可以看作是一棵树或一根树枝和一片树叶。因此模型文件的平面表格化过程实际上就是一个将XML 的复杂树型结构的文件平面化,以表格的形式直观地展现给用户。由于需要的表格项的数目是未知的,所以不能事先放置好控件,本文采用动态生成控件的技术来解决这个问题,在Visual Basic 中有一个控件数组的概念,通过设置控件的index 索寻|值和采用Load 方法,不仅可以建立一组具有紧密联系的相同控件,而且可以实现在程序运行状态中动态增加控件的功能,因为本文动态加载的表格属性基本都相同,故可以采用这个方法。作者通过定义一系列控件载入规则,生成1 个默认表格(见图3) 。

整个表格结构由3 个部分组成(见图3) ,即背景( Background) 、标题栏(Title) 和表格项(Tahie),其中表格项又由Grid) 和Grid2 组成,其中Grid1 表示的是模型文件中的模型信息, Grid2代表的是模型实倒数据文件中的数据信息。
2.3 模型显示定制
系统中的显示定制服务提供了多种方式来改变控件的样式(见图4)用户可以直接拖拉控件以改变其大小、位置;也可通过右边的控件属性框来改变表格项的显示文本、背景、字体等相关属性;上述技术均基于Windows 平台的消息机制进行实现,通过该机制可改变控件的大小、位置、背景、颜色、字体等属性。

2.4 定制结果的存储
显示定制后的结果也是以XML 文档进行存储的。背景、标题栏和表格项中代表模型文件中的模型信息Grid1表格项,在存储的过程中只需要存储这些控件的基本属性(位置、字体、背景等)即可;但对于代表模型实例数据文件中的数据信息的Grid2表格项,除了存储控件的基本属性以外,还需要记录该数据在模型数据文件中的Xpath 路径,以便在模型发布的过程中通过该Xpath 路径来得到与模型信息对应的数据信息。
3 模型发布
3.1产品CAPP 模型实例化
模型实例化过程就是根据模型文件系统动态地从企业数据库里面采集数据,得到CAPP 数据文件。由于CAPP 数据信息可能存储在企业不同的数据库中(如SQLServer 或Oracle 等), XML 跨平台的特点,正好解决了异构数据库共享信息的问题,因而动态采集的结果以XML 为载体存储,为后续的信息发布提供依据。数据文件相对于模型文件来说增加了具体的工艺数据信息,这些工艺信息都位于XML 文件的叶子节点上面。数据文件如图5 所示。

通过图5 ,可以发现"一对多"现象的存在,即模型信息只有一个,但与该模型信息对应的数据信息却有多个,在本例中即是有多个"工序",这种现象在企业中普遍存在,对模型发布造成了一定的困难,本文再次采用动态加载控件的方法来解决。
3.2 模型发布
模型发布实际就是将模型显示定制所定制的表格样式显示出来,并将代表数据信息的表格项填写上对应的数据信息。首先载入背景、标题栏和表格项中代表模型文件中的模型信息Grid) 表格项,然后再动态生成代表模型实例数据文件中的数据信息的Grid2表格项,并采用XPath技术读出与模型对应的数据信息,将其填入动态生成的将对应的数据信息,将其填入动态生成的将对应的Grid2 表格项中。
由于"一对多"现象的存在,在发布的时候也要做相应的处理。本文采取的处理方法是,首先定义一个IXMLDOMNodeList的数据类型,用来存放读取到的多个数据节点的信息,例如针对图5 的模型实例中的"工序名称"节点,通过该节点的XPath 路径,可以从动态采集到的数据文件中得到3 个具体数据(铸造、车、铣),再利用控件动态生成的技术,将读取到的多个数据信息动态地生成3 个表格项,并将该表格项的属性设置为模型中定制的属性,然后再将这些动态生成的表格项排列起来。模型发布如图6 所示。

4 结论
本文研究了-种基于XML 的模型驱动的产品CAPP 信息的定制发布技术,通过企业自己建模,将模型进行平面表格化显示,然后对模型进行动态显示定制,系统具有很好的柔性、适应性和扩展性。
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
- 上一篇文章:压力容器制造CAPP系统的研究开发
- 下一篇文章:现代CADPDMCAPP技术在企业的应用
