謝玉龍,付東翔,倪藝凡,李 雙
(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
基于Object ARX的木門加工代碼生成系統(tǒng)
謝玉龍,付東翔,倪藝凡,李 雙
(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
針對(duì)木門加工領(lǐng)域中客戶的個(gè)性化定制需求,每加工一扇木門,即使尺寸只變動(dòng)一點(diǎn),也必須重新制圖和規(guī)劃加工路徑,造成生產(chǎn)加工耗時(shí)過多、生產(chǎn)效率降低。文中基于Object ARX程序設(shè)計(jì),通過參數(shù)驅(qū)動(dòng)方式繪制CAD加工圖紙,對(duì)于加工尺寸改動(dòng)較小的木門,只需調(diào)整變動(dòng)參數(shù),即可快速繪制木門加工圖紙。根據(jù)繪制的加工圖紙,從菜單上選取加工所需的刀具類型及刀具半徑等參數(shù),該界面軟件快速繪圖、設(shè)計(jì)加工軌跡和生成CNC加工G代碼。該方法已經(jīng)應(yīng)用于企業(yè)生產(chǎn)且效果良好。
木門加工;Object ARX;參數(shù)驅(qū)動(dòng);CNC加工代碼
目前,木門生產(chǎn)中采用的數(shù)控機(jī)床的編程方式有手工編程和自動(dòng)編程兩種。手工編程廣泛用于形狀簡(jiǎn)單的點(diǎn)加工和直線、圓弧組成的平面輪廓加工。但在實(shí)際加工過程中,如果圖案尺寸需稍微修改一下,則需要對(duì)圖形進(jìn)行重新編輯,重新編程。隨著個(gè)人定制需求的不斷發(fā)展,不同用戶產(chǎn)品規(guī)格要求不同,就需要產(chǎn)品圖形隨尺寸參數(shù)或規(guī)格的變化而自動(dòng)生成[1]。手工繪圖和編程無(wú)疑會(huì)造成額外耗時(shí)和降低生產(chǎn)效率。
本文基于Object ARX二次開發(fā)技術(shù),通過參數(shù)驅(qū)動(dòng)方式繪制CAD加工圖紙,對(duì)于加工尺寸改動(dòng)較小的情況,只需改變變動(dòng)的參數(shù),即可快速繪制木門加工圖紙。根據(jù)繪制的加工圖紙,從設(shè)計(jì)的界面選取加工所需的刀具類型及刀具半徑補(bǔ)償?shù)鹊膮?shù),界面軟件可快速設(shè)計(jì)加工軌跡和生成CNC加工G代碼。該方法在實(shí)現(xiàn)過程中具有簡(jiǎn)便快捷和直觀高效的特點(diǎn)。
國(guó)內(nèi)木門行業(yè)市場(chǎng)巨大,從國(guó)外引進(jìn)的先進(jìn)設(shè)備,可以實(shí)現(xiàn)大批量生產(chǎn),卻不能滿足國(guó)內(nèi)木門市場(chǎng)的個(gè)人定制化的需求[2]。因此國(guó)內(nèi)的一些設(shè)備制造廠商,開始著手研發(fā)適用于國(guó)內(nèi)木門加工行業(yè)的專業(yè)木門加工設(shè)備,以提高木門加工生產(chǎn)線的自動(dòng)化和智能化程度。木門門扇加工生產(chǎn)線主要用于完成木門的門扇定尺、封邊、開五金孔槽、銑削成型等工序[3]。自動(dòng)化木門門扇加工生產(chǎn)線的設(shè)備布置示意圖如圖1所示。
圖1 木門加工生產(chǎn)系統(tǒng)組成示意圖
生產(chǎn)系統(tǒng)的工作過程可概述為:門扇毛坯經(jīng)過前期處理后送至上料機(jī),后傳送至門扇四邊鋸,進(jìn)行定尺鋸切,完成橫縱向尺寸規(guī)格的確定。再經(jīng)由封邊機(jī)完成門扇前后左右四邊的封邊貼合工作。待四側(cè)封邊完成,門扇由傳送裝置傳送至門扇打孔開槽的加工平臺(tái),進(jìn)行門扇五金孔槽的開槽工序。待開槽工序完成,木門將被送至CNC木門加工中心進(jìn)行木門的銑削加工,實(shí)現(xiàn)木門的圖案設(shè)計(jì)、雕刻成型。最后由下料機(jī)堆放存庫(kù),待輸送至后續(xù)工序。
目前,有相當(dāng)一部分木門加工企業(yè)在木門生產(chǎn)過程中,因?yàn)椴煌蛻舻男枨蟛煌?,一扇木門生產(chǎn)加工的CAD圖紙不可能滿足客戶的不同需求,因此每加工一扇木門,只要尺寸變動(dòng)一點(diǎn)點(diǎn),就必須重新制圖和規(guī)劃加工路徑,造成生產(chǎn)時(shí)間的過多消耗和效率的降低。
針對(duì)實(shí)際中遇到的此類問題,考慮通過參數(shù)驅(qū)動(dòng)方式繪制CAD加工圖紙,解決加工尺寸改動(dòng)較小的情況,只需改變變動(dòng)參數(shù),即可快速繪制加工圖紙[4-5]。根據(jù)繪制的加工圖紙,選取工藝所需的刀具類型、刀具半徑等參數(shù),借助二次開發(fā)設(shè)計(jì)的界面軟件快速生成CNC加工G代碼。
Auto CAD公司提供的二次開發(fā)接口有VBA、.Net、Object ARX、Visual Lisp 等。ARX是面向?qū)ο蟮腃++編程環(huán)境,為開發(fā)者提供了 MFC用戶界面相關(guān)類,便于開發(fā)用戶界面[6-9]。以AutoCAD為平臺(tái),借助Visual studio和Object ARX為開發(fā)工具,通過加入MFC類,開發(fā)出具有圖形交互功能的參數(shù)化圖形設(shè)計(jì)和自動(dòng)生成CNC G代碼的界面應(yīng)用程序。此種方式開發(fā)的應(yīng)用程序可直接訪問AutoCAD數(shù)據(jù)結(jié)構(gòu)、圖形系統(tǒng)以及CAD幾何造型核心,也可直接調(diào)用CAD底層的圖形設(shè)計(jì)函數(shù),穩(wěn)定簡(jiǎn)單[10-13]。從而實(shí)現(xiàn)加工過程中因客戶需求不同參數(shù)需微小變動(dòng)的情況,提高生產(chǎn)效率?;贠bject ARX的木門加工G代碼界面軟件設(shè)計(jì)的思路流程如圖2所示。
圖2 界面軟件設(shè)計(jì)思路結(jié)構(gòu)圖
基于Object ARX木門加工G代碼自動(dòng)生成的編程技術(shù),主要實(shí)現(xiàn)參數(shù)化驅(qū)動(dòng)圖形設(shè)計(jì)、加工圖形的快速繪制、加工軌跡的設(shè)計(jì)、刀具等參數(shù)的選取、CNC加工G代碼的自動(dòng)生成等功能。該界面應(yīng)用程序是木門加工系統(tǒng)中的一個(gè)重要組成部分。具體的實(shí)現(xiàn)步驟如下:
(1)Visual studio2010環(huán)境下,借助Object ARX二次開發(fā)工具,創(chuàng)建Object ARX項(xiàng)目;
(2)ARX項(xiàng)目下,添加MFC類,創(chuàng)建非模態(tài)對(duì)話框,進(jìn)行木門加工代碼的參數(shù)造型界面設(shè)計(jì)。Object ARX是以動(dòng)態(tài)鏈接庫(kù)形式運(yùn)行的,可直接使用MFC對(duì)話框,也可借助AcUi類庫(kù)來(lái)構(gòu)建非模態(tài)對(duì)話框,實(shí)現(xiàn)創(chuàng)建的用戶界面與AutoCAD界面風(fēng)格相一致。只需創(chuàng)建一個(gè)與CDialog 或其派生類相關(guān)聯(lián)的對(duì)話框,調(diào)用CDialog 類的相關(guān)函數(shù)即可。這組類從MFC中繼承,除具有基類的特性之外,還有一些在AutoCAD 中特有的特性。使用Object ARX 嵌入工具欄創(chuàng)建的對(duì)話框,能夠節(jié)省大量的手工編碼工作量[14-16];
(3)創(chuàng)建基元圖形的實(shí)體類對(duì)象,并加入到特定的塊表記錄。創(chuàng)建所需的實(shí)體對(duì)象如直線、圓、圓弧、多邊形、橢圓和矩形等。由于AutoCAD是內(nèi)部實(shí)現(xiàn)機(jī)制,還需把創(chuàng)建的對(duì)象加入到圖形數(shù)據(jù)庫(kù)中,才能將圖形對(duì)象顯示在CAD圖形窗口中;建立指向塊表的指針;建立指向特定塊表記錄(模型空間)的指針;將新建的實(shí)體類對(duì)象添加到指定的模型空間中;關(guān)閉圖形數(shù)據(jù)庫(kù)的各種對(duì)象;
(4)參數(shù)化造型界面的設(shè)計(jì)。在實(shí)際加工過程中,不同用戶要求的圖形規(guī)格不同,同時(shí)結(jié)合定制化服務(wù)的要求,采用參數(shù)驅(qū)動(dòng)繪圖的方式,解決加工過程中因微小的尺寸改動(dòng),也必須手動(dòng)重新繪圖的問題。針對(duì)基元圖形不變,只改變圖形間距這一類的加工圖形繪制,采用參數(shù)繪圖的方式優(yōu)勢(shì)明顯。圖形根據(jù)參數(shù)的變化而快速響應(yīng),避免過多耗時(shí);
(5)G代碼的生成機(jī)制。根據(jù)提前設(shè)定的加工工藝要求,設(shè)計(jì)中加入加工方向的選取,UCS和WCS坐標(biāo)之間的轉(zhuǎn)換方式,刀具銑削方式的選取,刀具類型、刀具半徑、補(bǔ)償半徑等的選取。結(jié)合實(shí)際工藝需求,把加工工藝要求融合到設(shè)計(jì)界面的菜單中和界面開發(fā)的程序中,工藝中包含有制定G代碼的實(shí)現(xiàn)規(guī)則,并將該規(guī)則融入到設(shè)計(jì)程序中,從而實(shí)現(xiàn)G代碼的快速生成。
(1)AutoCAD2014加載ARX項(xiàng)目。載入方式有兩種:利用APPLOAD在命令窗口直接調(diào)取已注冊(cè)的命令;在CAD應(yīng)用程序主菜單的管理項(xiàng)中選擇加載項(xiàng),加載已生成的界面應(yīng)用程序,即目標(biāo)ARX項(xiàng)目。本文首選后者的載入方式,加載ARX項(xiàng)目后,彈出Object ARX木門加工G代碼生成的MFC界面,載入及加載后的結(jié)果如圖3所示;
圖3 目標(biāo)ARX項(xiàng)目加載界面
(2)參數(shù)輸入及繪圖。界面加載之后,根據(jù)所需的尺寸規(guī)格,在界面相應(yīng)的位置填寫參數(shù)。此處以簡(jiǎn)單的雙框圖為例,實(shí)現(xiàn)參數(shù)驅(qū)動(dòng)繪圖過程。參數(shù)輸入后,單擊界面的“rectangle”按鈕,即可快速繪制目標(biāo)圖形。具體的參數(shù)值如圖4所示。參數(shù)設(shè)置及繪圖界面如圖5所示;
圖4 目標(biāo)圖形的參數(shù)值
圖5 參數(shù)設(shè)置及繪圖界面
(3)生成加工G代碼。根據(jù)目標(biāo)圖形的參數(shù)設(shè)置以及圖形的繪制,結(jié)合加工工藝要求,在界面設(shè)計(jì)的菜單中選取刀具類型以及是否需要進(jìn)行刀具半徑的補(bǔ)償?shù)取4隧?xiàng)操作完成后,單擊界面的“G代碼生成”,即可快速生成繪制圖形的G代碼文件,文件保存為123.txt,默認(rèn)保存在當(dāng)前工作文件夾的目錄下;
(4)卸載程序。G代碼生成后,若不在需要執(zhí)行此界面程序,即可卸載ARX程序,釋放內(nèi)存數(shù)據(jù)存儲(chǔ)空間;
(5)G代碼仿真。調(diào)取生成的目標(biāo)G代碼文件,借助CIMCOEdit軟件,進(jìn)行G代碼的程序仿真,仿真結(jié)果如圖6所示。
圖6 加工代碼的仿真結(jié)果
通過對(duì)AutoCAD的二次開發(fā),設(shè)計(jì)的MFC界面應(yīng)用程序,輸入繪圖參數(shù),此ARX應(yīng)用程序直接調(diào)用CAD底層的繪圖函數(shù)或者調(diào)用自定義的圖形類函數(shù),快速繪制加工圖紙。選取菜單中的刀具類型及刀具補(bǔ)償半徑等參數(shù),結(jié)合加工工藝設(shè)計(jì)的G代碼生成規(guī)則,此應(yīng)用程序可實(shí)現(xiàn)自動(dòng)生成CNC加工代碼。如果用戶的需求不同,只需重新調(diào)整輸入?yún)?shù),借助參數(shù)造型的設(shè)計(jì)理念,快速繪圖及生成相應(yīng)的G代碼文件。
在Object ARX2014的開發(fā)環(huán)境下借助Visual Studio 2010的C++環(huán)境和MFC圖形化界面設(shè)計(jì)的開發(fā)技術(shù)進(jìn)行AutoCAD2014的二次開發(fā)。設(shè)計(jì)出既可被CAD系統(tǒng)以命令方式直接調(diào)用,也可被直接加載的應(yīng)用到木門加工領(lǐng)域的圖形交互式界面。該界面通過參數(shù)化造型設(shè)計(jì)方法,以參數(shù)驅(qū)動(dòng)方式快速繪制CAD木門加工圖紙,由嵌入式菜單選取刀具類型等加工所需參數(shù),實(shí)現(xiàn)了加工路徑的快速設(shè)計(jì)及自動(dòng)生成CNC木門加工G代碼的功能,生產(chǎn)耗時(shí)減少,效率得到提高。
[1] 楊德星,王穎.基于AutoCAD的參數(shù)化造型設(shè)計(jì)[J].機(jī)械設(shè)計(jì)與制造,2004(3):32-33.
[2] 姚遙,張占寬,李偉光,等.木門五金件孔槽專用數(shù)控加工機(jī)的研發(fā)[J].木材工業(yè),2013,27(6):21-24.
[3] 李偉光,姚瑤,張占寬.典型木門門扇自動(dòng)化柔性生產(chǎn)線[J].木材工業(yè),2015,29(1):24-27.
[4] 郭靜靜,杜寶江,馬群,魏雄.多種CAD環(huán)境下的標(biāo)準(zhǔn)件參數(shù)化方法[J].電子科技,2011,24(12):7-9.
[5] Li Rongfan,Yi Qingcao,Chong Ren.Research on entity model directly layering software design based on the secondary development of AutoCAD[J]. Applied Mechanics and Materials,2013,2668(401):491-494.
[6] Charles McAuley.AutoCAD2000 Object ARX programming guide[M].李世國(guó),譯.北京:機(jī)械工業(yè)出版社,2000.
[7] 王永輝,胡青泥,李紅彩.AutoCAD二次開發(fā)方法的研究[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2007(3):94-96.
[8] 鄧啟亮,徐立濤,栗旭光.基于MFC串口連續(xù)通信的簡(jiǎn)易實(shí)現(xiàn)[J].電子科技,2014,27(2):99-100.
[9] 袁媛.基于MFC類設(shè)計(jì)Object ARX 應(yīng)用程序界面[J].中南大學(xué)學(xué)報(bào),2004,35(3):448-452.
[10] 李富生,沈景鳳.基于VB.NET的余熱鍋爐蒸發(fā)器參數(shù)化設(shè)計(jì)系統(tǒng)[J].電子科技,2015,28(11):135-138,142.
[11] 杜剛,劉學(xué)東,張磊.基于Object ARX 的AutoCAD二次開發(fā)及應(yīng)用實(shí)例[J].機(jī)械設(shè)計(jì)與制造,2004(3):30-32.
[12] Peng Ting,Zhang Qingfa,Wang Xiaoling. Parameterized highway tunnel inner contour design with Object ARX[J].Advanced Materials Research, 2015,3683(1061):854-857.
[13] 張繼蘭,宿永利,張志佳.基于MFC和ARX的AutoCAD二次開發(fā)研究[J].機(jī)械設(shè)計(jì)與制造,2006(6):125-127.
[14] 王文波,鄒清源,張斯珩,等.AutoCAD2010二次開發(fā)實(shí)例教程:Object ARX[M].北京:機(jī)械工業(yè)出版社,2013.
[15] 劉其洪,李偉光.基于Object ARX的數(shù)控玻璃雕刻G代碼自動(dòng)編程[J].機(jī)械與電子,2003(4):21-23.
[16] 張帆,朱文俊.AutoCAD Object ARX(VC)開發(fā)基礎(chǔ)與實(shí)例教程[M].北京:中國(guó)電力出版社,2014.
Wood Processing Code Generation System Based on Object ARX
XIE Yulong,FU Dongxiang,NI Yifan,LI Shuang
(School of Optical-Electrical and Computer Engineering,University of Shanghai for Science and Technology,Shanghai 200093,China)
In view of the customization needs of customers in the field of wood processing, during the process of wood processing , even if the processing size only changes a little, the graphics also be redrawn, the path also be re-planned, which caused production and processing time-consuming, lower production efficiency. This article is based on Object ARX program design, and through the parameter-driven way, CAD drawings are drawn rapidly. For the small changes in the size of the wooden door processing parameters, by adjusting the parameters of the change, the wooden processing drawings can be quickly drawn. According to the wooden processing drawings, the machining parameters such as tool type and tool radius are selected from the embedded menu. The interface software can draw machining drawings rapidly, design and processing trails and generate CNC processing G code. The method has been applied to production enterprises and reliable operation.
wood processing;Object ARX;parameter driven;CNC machining code
2017- 03- 29
國(guó)家自然科學(xué)基金(11104184,61177043)
謝玉龍(1990-),男,碩士研究生。研究方向:工業(yè)自動(dòng)化。付東翔(1971-),男,博士,副教授。研究方向:樓宇自動(dòng)化技術(shù),光電檢測(cè)技術(shù)等。
TN02;TP391
A
1007-7820(2018)02-012-04