数控切割机系统加工代码图形库的开发
2010-09-11袁正萍陈小亮
甘 明 袁正萍 陈小亮
(中国地质大学研究生院,湖北武汉 430074)
数控切割机系统加工代码图形库的开发
甘 明 袁正萍 陈小亮
(中国地质大学研究生院,湖北武汉 430074)
详细介绍了数控切割机系统加工代码图形库的开发过程。利用的开发工具是Visual C++6.0及其MFC类库,实现了对各种加工图形的预览,以及相应的数控加工代码的自动生成。同时通过修改被加工图形的各个工艺参数,可以实时得到相应的加工图形的预览和加工代码,以适应不同工艺需求。
图形库 Visual C++6.0 数控加工代码 预览
随着工业生产的日益智能化,开发一套数控加工代码图形库,以实现高效率、高准确度地加工各种标准化的零部件,已经成为一种迫切的需要。使用该图形库,通过人工修改零部件参数,就可以实现自动生成数控加工代码并对加工图形进行预览的功能。
本文开发的数控加工代码图形库,是利用Visual C++6.0提供的MFC(Microsoft Foundation Class)动态链接库引导平台开发的。故该图形库是以动态链接库的形式存在,可以被数控切割机系统的软件调用。在数控系统加工过程中,可以实时显示加工界面,对各种加工图形提供数控加工代码、图形预览和详细的加工参数。故该图形库具有很强的实时性,是一个功能强大的数控加工代码图形库。该图形库现已在火焰切割机数控系统上得到了使用,并取得良好的效果。
1 图形库的结构及功能
1.1 图形库的结构
图形库中包含了所有待加工的零件图形,每一个图形都对应一个对话框类。这些对话框类封装了这些加工图形的所有参数信息,如包括图形的几何要素和加工的起点、引线长度和引线类型等。每个图形对应的对话框界面包括的信息有:图形加工G代码,图形预览,加工参数以及图形尺寸标注模块。其中还有一个加工主界面,为在开始加工前,用户选择加工图形而设计[1]。这个主界面也是一个对话框类,它包括了所有待加工图形的图标,用户可以选择不同的加工图形进入相应的加工界面。加工主界面如图1所示。
1.2 图形库的功能
1.2.1 图形预览和G代码自动生成
在使用该图形库时,用户先在列表框中选择所要加工的零部件图形,然后进入该零部件图形的加工界面。用户首先看到的是初始化的加工界面,包括初始化的零部件各参数,相应的图形预览和加工G代码。此时用户可以根据实际加工的工艺要求对零部件图形的各个参数(包括图形的几何要素和加工的起点、引线长度和引线类型等)进行修改,此时可以看到图形预览和G代码都发生了相应的变化,即实现了改变加工参数,自动生成相应G代码的功能。
1.2.2 加工路线选择
加工界面上有一个加工路线的选择功能,用户可以通过选择不同的加工路线,实现不同的走刀路线,同样此时G代码也实时的发生变化。通过点击某一行G代码,图形预览上会用红线显示出相应的加工轨迹。
1.2.3 加工图形尺寸标注
界面上还有一个小的图形预览,是用来标注尺寸的。用户将鼠标点在不同的参数上面,在该图形预览上面就会显示相应的标注。
1.2.4 G代码保存
该图形库还有一个文件保存功能,用户可以通过点击界面上的保存按钮,选择相应的路径,以文本方式来保存当前加工图形G代码。带圆孔斜边矩形的加工界面如图2。
2 图形库的开发及算法实现
2.1 图形库的开发流程
(1)首先用AppWizard向导产生一个基于MFC的dll文件。因为该图形库最终目的是被数控切割机系统软件加载,进行工件加工。
(2)整个动态链接库是基于对话框的,每个图形对应一个对话框,并与之关联一个基于对话框的类。在图形库工程中,针对每个图形,载入一个对话框资源,并添加相应的控件。主对话框中需要添加一个列表控件,用来载入所有待加工图形的图标。在图形加工对话框中,需要添加一个列表框,用来显示加工G代码。要添加两个静态文本框作为绘制图形的区域,还需要添加一些与加工参数相对应的文本框和编辑框,以便用户设置加工参数,以及一些功能按钮。控件添加完后,为对话框创建一个相应的类,并为对话框类命名。
(3)为对话框控件添加相应的变量,此项操作在ClassWizard上部的Member Variables选项卡中完成。
(4)为控件添加一些消息响应函数。如在主对话框中添加 OnDblclkList1(NMHDR*pNMHDR,LRESULT*pResult)来响应用户双击加工图形图标,进而进入加工界面。同理在加工界面对话框中也要加一些消息响应函数,来完成一些特定的功能。如添加On-ChangeEditHeight()来响应用户改变工艺参数;添加OnButtonsave()来响应用户点击保存按钮,保存加工G代码。
(5)为对话框类添加一些成员变量和成员函数。成员变量如CString m_strYinru记录了引入线类型,CPoint m_Drect[17]记录了加工图形的一些关键点的坐标等。成员函数如void Updatecode(),void PreView()等,功能分别是更新G代码,更新图形各关键点的坐标[2]。
2.2 图形库的算法实现
整个图形库是基于对话框的,每个图形对应一个对话框,并关联一个基于对话框的类。图形库主对话框通过调用DoModal()函数与各个图形对话框之间联系,进入不同的加工图形界面时,分别调用OnInitDialog(),OnPaint()函数,初始化对话框,绘制初始加工图形。进行参数更新后,调用相应的更新函数,更新G代码和图形预览。程序得流程图如图3所示。
初始化对话框部分源代码如下:
3 图形库的应用实例
本文开发的图形库已使用于火焰切割机数控系统上,下面以此为例来简要介绍一下图形库的使用。
图形库是一个动态链接库,需要被上位机软件加载才能使用。将图形库生成的CGraphiclib.lib和GcodeCom.lib库文件加入切割机软件工程目录中。然后在切割机软件工程设置菜单中,选择Link选项卡,将这两个库文件包含进来,切割机软件就可以调用图形库了。
图4为切割机软件运行时的文件画面。点击F5键即调用图形库入口函数extern C __declspec(dllexport)void ShowDlg(void),进入图形库加工主界面如图1。选择所要加工的零件图形进入加工界面,根据一定的工艺要求设置加工参数,此时将自动生成相应G代码。点击保存按钮,将G代码保存在一定路径中。然后将界面返回到切割机文件画面如图4,点击文件管理,载入G代码,最后点击自动加工按钮,进行工件加工。
4 结语
本文介绍了一种基于MFC动态链接库的数控切割机系统加工代码图形库的设计。在数控加工时,操作人员通过修改图形加工的工艺参数,图形库能够自动更新相应的加工G代码,和图形预览,故具有很强的实时性。比起人工修改G代码,大大提高了效率和准确性。
另外,该图形库以一个动态链接库的形式存在,即可以被任何基于Windows平台开发的数控系统软件调用。故这种图形库不局限于已经使用的火焰切割机数控系统,只要遵循特定数控系统加工代码格式,就可很方便的移植到其他数控系统上,具有很强的通用性。
此外,该图形库包含的图形资源丰富,即包含了切割机系统加工的绝大部分通用零件图形,且易于扩展,以适应加工出更多种零部件图形的需求。
1 刘俊,杨代华,欧阳才校.基于OpenGL的数控加工代码图形库的开发[J].制造技术与机床,2009(1)
2 刘婷婷.基于Visual C++6.0的图形自动编程系统的研究[D].北京:中国农业大学,2006.
3 高伟卫,杨胜强,张满栋.基于Visual C++6.0基础类库的图像显示[J].机械管理开发.2006.
4 郭兆荣,李箐,王彦.Visual C++OpenGL应用程序开发[M].北京:人民邮电出版社,2006.
如果您想发表对本文的看法,请将文章编号填入读者意见调查表中的相应位置。
Development of NC Machining Code Graphic Library in NC Cutting Machine
GAN Ming,YUAN Zhengping,CHEN Xiaoliang
(Graduate School of China University of Geosciences,Wuhan 430074,CHN)
The development process of NC machining Code Graphic Library in NC cutting machine is described in detail in this paper.The development tools used for the Graphic Library is the Visual C+ +6.0 and MFC class library,which achieve the preview of a variety of processing graphics and Automatic generation of the corresponding CNC machining code.At the same time,by modifying the various processing parameters of processing graphics,you can get the corresponding preview of a variety of processing graphics and CNC machining code in real time to achieve the different process requirement.
Graphics Library;Visual C++6.0;NC Machining Code;Preview
TP21/27
A
甘明,女,1958年生,副教授,高级工程师,主要研究方向自动控制及检测技术。
(编辑 周富荣)(
2009-09-07)
10224