本文所提及的螺杆泵CAPP系统主要采用两种工艺定制模式:检索式及交互式填卡式.其中检索式主要实现对成熟工艺规程的检索和管理,以及查询和存取现有的工艺文件,适用于重复件、通用件或轮番生产的定型产品的制造.本文主要介绍交互填卡式模块的研究与开发过程。
1、交互填卡式模块的原理及特点
螺杆泵CAPP系统的设计思想,是从实用化出发,以企业的实际应用为前提.其中它的交互填卡式模块是为了弥补检索式模块继承性、灵活性差的缺点而设计的,这样既可以允许工艺设计人员根据其丰富经验和企业当前实际情况灵活的输人、编辑工艺信息,又可以基于资源信息库进行相关资源的选择性加载,并能根据具体情况进行适当的修改。
所谓交互式是指在填写信息时系统可以根据用户所选填写项,从数据库中自动的加载相关资源树,以供用户选择使用.
2交互填卡式模块开发的关键技术
2.1工艺卡片模板的建立
对于大多数企业,其工艺卡片是有其一定的固定格式的(一般工艺卡片根据信息内容及布局可分为三部分:卡头信息、主卡内容信息、表尾信息),所以可以借助VC++中图形操作方而的函数(主要用MFC)进行上艺卡片模板的建立利用CDC类(简单地说,CDC类主要完成绘图功能和环境的建立)在OnDraw()函数中建立卡片模板,运行后效果见图1。
2.2工艺信息的交互式填写
2.2.1初始化时零件总体信息的自动加载
CAD人员完成了产品零件的设计并提交之后,CAPP人员从PDM数据库获取一些零件必要的总体信息(如零件名称、图号、材料等),在打开相关卡片模板时自动连接访问服务器的数据库,加载这些信息并显示在卡片中,运行后效果见图2
2.2.2工序图的加载
通过FTP编程实现与服务器的连接、下载相关零件的工序图到本机指定口录下,然后加载上序图到工艺卡中并显示.
本系统与服务器建立FTP连接、下载相关信息,需用到CInternet Session和CFtp Connection类中的有关函数,具体代码见有关书籍,在此不详述.工序图的显示主要借助于内置浏览器,4ntoVueX控件,运行后效果如图3所示.
2.2.3文本信息的交互式输入
本CAPP系统主要通过两种方法,实现文本信息的交互式输人.
1)基于资源树的文本信息输人,这主要是根据卡片信息内容分3部分(片头信息、主卡内容信息、表尾信息)的特性,具体实现过程如下:
(1)卡头和卡尾信息的输入.通过在每个填表项空格中动态的创建一个基于CrichEditCtrl的派生类CmyRichEdit实现,类的结构为:
具体实现步骤是:先计算出每个填表项空格的顶点坐标,存储在两个静态的二维数组中,然后在WM_ RBUTTONDOWN消息的处理函数中根据鼠标右击点的坐标,判断位置并动态的创建编辑框控件以实现信息输入.部分代码段摘人如下:
(2)主卡内容信息的输人.除了能用卡头和卡尾那样的方法输人信息以外,根据主卡内容部分的信息繁多且专业性强,适合建立数据库的特点,增加了通过访问数据库资源,来实现信息的检索与输人.具体方法是,先右单击选择填表项空格(同卡头和卡尾信息的输人),左边工作窗口根据鼠标点击处的坐标来判断所需内容项,从数据库加载资源树,然后双击左边工作窗日里架载的资源树上的节点,内容自动加载到右边工艺卡上.运行后效果见图4.
2)基于编辑对话框的信息输人
这种方法在功能上与第一种相似,但实现技术上有所不同,其思想是把需要填人的信息,看成为一个图形,当用鼠标左键单击表格中的空白项时,就在点击处插人,可以通过选中(选中时,矩形区域边缘加人一些小实心矩形来表示,见图5)移动到适当位置.MFCE;经封装了一个可以实现此功能的OLE类CrectTracker于是就直接借鉴,这样既省去不少的代码量,又可提高程序的运行效率。
3交互填卡式模块的实现
交互填卡式模块的开发环境为VC++ 6.0,使用的数据库为MS SQL SERVER2000.运行效果见图6。
4结论
通过以上介绍,了解了如何用面向对象开发工具VC++开发螺杆泵LAPP系统中交互填卡式模块的具体细节及方法.本模块的研究与开发具有一定的实用性,若再在此基础上进行进一步功能上的完善与改进,一定可以在实际生产中大幅度的提高工艺定制的效率,节省大量的人力物力,其应用前景令人看好。