甘 明 袁正萍 陳小亮
(中國地質(zhì)大學(xué)研究生院,湖北武漢 430074)
數(shù)控切割機系統(tǒng)加工代碼圖形庫的開發(fā)
甘 明 袁正萍 陳小亮
(中國地質(zhì)大學(xué)研究生院,湖北武漢 430074)
詳細(xì)介紹了數(shù)控切割機系統(tǒng)加工代碼圖形庫的開發(fā)過程。利用的開發(fā)工具是Visual C++6.0及其MFC類庫,實現(xiàn)了對各種加工圖形的預(yù)覽,以及相應(yīng)的數(shù)控加工代碼的自動生成。同時通過修改被加工圖形的各個工藝參數(shù),可以實時得到相應(yīng)的加工圖形的預(yù)覽和加工代碼,以適應(yīng)不同工藝需求。
圖形庫 Visual C++6.0 數(shù)控加工代碼 預(yù)覽
隨著工業(yè)生產(chǎn)的日益智能化,開發(fā)一套數(shù)控加工代碼圖形庫,以實現(xiàn)高效率、高準(zhǔn)確度地加工各種標(biāo)準(zhǔn)化的零部件,已經(jīng)成為一種迫切的需要。使用該圖形庫,通過人工修改零部件參數(shù),就可以實現(xiàn)自動生成數(shù)控加工代碼并對加工圖形進(jìn)行預(yù)覽的功能。
本文開發(fā)的數(shù)控加工代碼圖形庫,是利用Visual C++6.0提供的MFC(Microsoft Foundation Class)動態(tài)鏈接庫引導(dǎo)平臺開發(fā)的。故該圖形庫是以動態(tài)鏈接庫的形式存在,可以被數(shù)控切割機系統(tǒng)的軟件調(diào)用。在數(shù)控系統(tǒng)加工過程中,可以實時顯示加工界面,對各種加工圖形提供數(shù)控加工代碼、圖形預(yù)覽和詳細(xì)的加工參數(shù)。故該圖形庫具有很強的實時性,是一個功能強大的數(shù)控加工代碼圖形庫。該圖形庫現(xiàn)已在火焰切割機數(shù)控系統(tǒng)上得到了使用,并取得良好的效果。
圖形庫中包含了所有待加工的零件圖形,每一個圖形都對應(yīng)一個對話框類。這些對話框類封裝了這些加工圖形的所有參數(shù)信息,如包括圖形的幾何要素和加工的起點、引線長度和引線類型等。每個圖形對應(yīng)的對話框界面包括的信息有:圖形加工G代碼,圖形預(yù)覽,加工參數(shù)以及圖形尺寸標(biāo)注模塊。其中還有一個加工主界面,為在開始加工前,用戶選擇加工圖形而設(shè)計[1]。這個主界面也是一個對話框類,它包括了所有待加工圖形的圖標(biāo),用戶可以選擇不同的加工圖形進(jìn)入相應(yīng)的加工界面。加工主界面如圖1所示。
1.2.1 圖形預(yù)覽和G代碼自動生成
在使用該圖形庫時,用戶先在列表框中選擇所要加工的零部件圖形,然后進(jìn)入該零部件圖形的加工界面。用戶首先看到的是初始化的加工界面,包括初始化的零部件各參數(shù),相應(yīng)的圖形預(yù)覽和加工G代碼。此時用戶可以根據(jù)實際加工的工藝要求對零部件圖形的各個參數(shù)(包括圖形的幾何要素和加工的起點、引線長度和引線類型等)進(jìn)行修改,此時可以看到圖形預(yù)覽和G代碼都發(fā)生了相應(yīng)的變化,即實現(xiàn)了改變加工參數(shù),自動生成相應(yīng)G代碼的功能。
1.2.2 加工路線選擇
加工界面上有一個加工路線的選擇功能,用戶可以通過選擇不同的加工路線,實現(xiàn)不同的走刀路線,同樣此時G代碼也實時的發(fā)生變化。通過點擊某一行G代碼,圖形預(yù)覽上會用紅線顯示出相應(yīng)的加工軌跡。
1.2.3 加工圖形尺寸標(biāo)注
界面上還有一個小的圖形預(yù)覽,是用來標(biāo)注尺寸的。用戶將鼠標(biāo)點在不同的參數(shù)上面,在該圖形預(yù)覽上面就會顯示相應(yīng)的標(biāo)注。
1.2.4 G代碼保存
該圖形庫還有一個文件保存功能,用戶可以通過點擊界面上的保存按鈕,選擇相應(yīng)的路徑,以文本方式來保存當(dāng)前加工圖形G代碼。帶圓孔斜邊矩形的加工界面如圖2。
(1)首先用AppWizard向?qū)Мa(chǎn)生一個基于MFC的dll文件。因為該圖形庫最終目的是被數(shù)控切割機系統(tǒng)軟件加載,進(jìn)行工件加工。
(2)整個動態(tài)鏈接庫是基于對話框的,每個圖形對應(yīng)一個對話框,并與之關(guān)聯(lián)一個基于對話框的類。在圖形庫工程中,針對每個圖形,載入一個對話框資源,并添加相應(yīng)的控件。主對話框中需要添加一個列表控件,用來載入所有待加工圖形的圖標(biāo)。在圖形加工對話框中,需要添加一個列表框,用來顯示加工G代碼。要添加兩個靜態(tài)文本框作為繪制圖形的區(qū)域,還需要添加一些與加工參數(shù)相對應(yīng)的文本框和編輯框,以便用戶設(shè)置加工參數(shù),以及一些功能按鈕。控件添加完后,為對話框創(chuàng)建一個相應(yīng)的類,并為對話框類命名。
(3)為對話框控件添加相應(yīng)的變量,此項操作在ClassWizard上部的Member Variables選項卡中完成。
(4)為控件添加一些消息響應(yīng)函數(shù)。如在主對話框中添加 OnDblclkList1(NMHDR*pNMHDR,LRESULT*pResult)來響應(yīng)用戶雙擊加工圖形圖標(biāo),進(jìn)而進(jìn)入加工界面。同理在加工界面對話框中也要加一些消息響應(yīng)函數(shù),來完成一些特定的功能。如添加On-ChangeEditHeight()來響應(yīng)用戶改變工藝參數(shù);添加OnButtonsave()來響應(yīng)用戶點擊保存按鈕,保存加工G代碼。
(5)為對話框類添加一些成員變量和成員函數(shù)。成員變量如CString m_strYinru記錄了引入線類型,CPoint m_Drect[17]記錄了加工圖形的一些關(guān)鍵點的坐標(biāo)等。成員函數(shù)如void Updatecode(),void PreView()等,功能分別是更新G代碼,更新圖形各關(guān)鍵點的坐標(biāo)[2]。
整個圖形庫是基于對話框的,每個圖形對應(yīng)一個對話框,并關(guān)聯(lián)一個基于對話框的類。圖形庫主對話框通過調(diào)用DoModal()函數(shù)與各個圖形對話框之間聯(lián)系,進(jìn)入不同的加工圖形界面時,分別調(diào)用OnInitDialog(),OnPaint()函數(shù),初始化對話框,繪制初始加工圖形。進(jìn)行參數(shù)更新后,調(diào)用相應(yīng)的更新函數(shù),更新G代碼和圖形預(yù)覽。程序得流程圖如圖3所示。
初始化對話框部分源代碼如下:
本文開發(fā)的圖形庫已使用于火焰切割機數(shù)控系統(tǒng)上,下面以此為例來簡要介紹一下圖形庫的使用。
圖形庫是一個動態(tài)鏈接庫,需要被上位機軟件加載才能使用。將圖形庫生成的CGraphiclib.lib和GcodeCom.lib庫文件加入切割機軟件工程目錄中。然后在切割機軟件工程設(shè)置菜單中,選擇Link選項卡,將這兩個庫文件包含進(jìn)來,切割機軟件就可以調(diào)用圖形庫了。
圖4為切割機軟件運行時的文件畫面。點擊F5鍵即調(diào)用圖形庫入口函數(shù)extern C __declspec(dllexport)void ShowDlg(void),進(jìn)入圖形庫加工主界面如圖1。選擇所要加工的零件圖形進(jìn)入加工界面,根據(jù)一定的工藝要求設(shè)置加工參數(shù),此時將自動生成相應(yīng)G代碼。點擊保存按鈕,將G代碼保存在一定路徑中。然后將界面返回到切割機文件畫面如圖4,點擊文件管理,載入G代碼,最后點擊自動加工按鈕,進(jìn)行工件加工。
本文介紹了一種基于MFC動態(tài)鏈接庫的數(shù)控切割機系統(tǒng)加工代碼圖形庫的設(shè)計。在數(shù)控加工時,操作人員通過修改圖形加工的工藝參數(shù),圖形庫能夠自動更新相應(yīng)的加工G代碼,和圖形預(yù)覽,故具有很強的實時性。比起人工修改G代碼,大大提高了效率和準(zhǔn)確性。
另外,該圖形庫以一個動態(tài)鏈接庫的形式存在,即可以被任何基于Windows平臺開發(fā)的數(shù)控系統(tǒng)軟件調(diào)用。故這種圖形庫不局限于已經(jīng)使用的火焰切割機數(shù)控系統(tǒng),只要遵循特定數(shù)控系統(tǒng)加工代碼格式,就可很方便的移植到其他數(shù)控系統(tǒng)上,具有很強的通用性。
此外,該圖形庫包含的圖形資源豐富,即包含了切割機系統(tǒng)加工的絕大部分通用零件圖形,且易于擴(kuò)展,以適應(yīng)加工出更多種零部件圖形的需求。
1 劉俊,楊代華,歐陽才校.基于OpenGL的數(shù)控加工代碼圖形庫的開發(fā)[J].制造技術(shù)與機床,2009(1)
2 劉婷婷.基于Visual C++6.0的圖形自動編程系統(tǒng)的研究[D].北京:中國農(nóng)業(yè)大學(xué),2006.
3 高偉衛(wèi),楊勝強,張滿棟.基于Visual C++6.0基礎(chǔ)類庫的圖像顯示[J].機械管理開發(fā).2006.
4 郭兆榮,李箐,王彥.Visual C++OpenGL應(yīng)用程序開發(fā)[M].北京:人民郵電出版社,2006.
如果您想發(fā)表對本文的看法,請將文章編號填入讀者意見調(diào)查表中的相應(yīng)位置。
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年生,副教授,高級工程師,主要研究方向自動控制及檢測技術(shù)。
(編輯 周富榮)(
2009-09-07)
10224