□ 汪傳生 □ 井 浩 □ 劉明召
青島科技大學(xué)機(jī)電工程學(xué)院 山東青島 266061
計算機(jī)輔助設(shè)計 (CAD)和計算機(jī)輔助制造(CAM)技術(shù)起源于航空和軍事工業(yè),隨著計算機(jī)科學(xué)的發(fā)展在全球機(jī)械行業(yè)中得到了廣泛應(yīng)用[1]。數(shù)控編程是將被加工零件的圖形尺寸、工藝過程、工藝參數(shù)、刀具位移等信息按照數(shù)控機(jī)床能接收的編程格式和語言等記錄在程序上的過程[2]。數(shù)控編程系統(tǒng)作為連接設(shè)計和制造的中間環(huán)節(jié),亦是CAD和CAM技術(shù)的重要組成部分[3]。數(shù)控編程分為手工編程和自動編程。手工編程要求編程人員既要具備機(jī)械加工工藝知識、數(shù)值計算能力,又必須熟練掌握數(shù)控代碼功能和編程規(guī)則,效率低且容易出錯。自動編程因效率高、處理復(fù)雜零件能力強(qiáng)、易操作等優(yōu)點(diǎn)逐漸成為發(fā)展的主流。高端的三維軟件自身都帶有CAM模塊,如SolidWorks、Pro/E、Unigraphics等, 利用已有零件的三維造形,可以直接生成數(shù)控代碼,然而這些軟件相對來說價格昂貴,且對硬件的要求高。目前,我國許多企業(yè)和科研院校的CAD結(jié)果輸出仍為Auto CAD二維圖形,在未來很長一段時間內(nèi),Auto CAD軟件仍將占據(jù)二維設(shè)計的主導(dǎo)地位。另一方面,我國自主開發(fā)的CAM軟件,如CAXA、3D Line Grapher等,將圖形生成.dxf格式文件后再生成G代碼,存在數(shù)控代碼生成不完善等問 題[4]。
基于以上現(xiàn)狀,筆者以Visual Studio 2013軟件為支撐平臺,利用C#語言開發(fā)了能對Auto CAD二維圖形進(jìn)行自動編程的系統(tǒng),包括兩個主要模塊:G代碼自動生成模塊和G代碼向數(shù)控機(jī)床傳輸模塊,最終目標(biāo)是實(shí)現(xiàn)Auto CAD二維圖形直接生成符合加工要求的G代碼,并將G代碼傳輸至數(shù)控機(jī)床。
對自動編程系統(tǒng)進(jìn)行研究[5-11],系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
圖元是指Auto CAD界面可視的圖形數(shù)據(jù),自動編程系統(tǒng)若要能夠直接利用Auto CAD二維圖形識別被加工零件外形的特征,就必須建立在對Auto CAD圖形圖元信息提取的基礎(chǔ)上。對零件的圖元信息進(jìn)行分析,可以判斷構(gòu)成圖形的每一段線是直線、圓弧,還是其它類型曲線,同時可以提取構(gòu)成零件輪廓的點(diǎn)坐標(biāo),這是生成G代碼的重要基礎(chǔ)。

▲圖1 自動編程系統(tǒng)結(jié)構(gòu)框圖
提取圖元信息,按照加工工藝要求設(shè)定加工參數(shù)和刀具參數(shù)后,根據(jù)后臺程序設(shè)計的算法,對坐標(biāo)點(diǎn)進(jìn)行整理、計算后可自動生成G代碼。直線段加工代碼輸出簡單,直接在點(diǎn)坐標(biāo)前加G01。對于程序中判斷為圓弧的圖形,需要對提取的點(diǎn)坐標(biāo)進(jìn)行數(shù)學(xué)運(yùn)算,計算出圓弧半徑或圓心位置。
隨著計算機(jī)技術(shù)的發(fā)展,計算機(jī)通信技術(shù)日趨成熟。串行通信技術(shù)具有靈活、方便、可靠的特點(diǎn),在計算機(jī)與機(jī)床的通信中應(yīng)用廣泛。利用計算機(jī)與機(jī)床的串行通信技術(shù),將計算機(jī)生成的數(shù)控代碼直接傳輸至數(shù)控機(jī)床,不僅避免了人工輸入數(shù)控指令的煩瑣和失誤,而且能極大提高工作效率。
圖2為筆者開發(fā)設(shè)計的計算機(jī)輔助數(shù)控銑床自動編程系統(tǒng)主界面。
進(jìn)退刀標(biāo)簽前設(shè)有CheckBox按鈕,點(diǎn)擊可響應(yīng)得到圖3所示的子窗口,子窗口中的參數(shù)為默認(rèn)值。

▲圖2 計算機(jī)輔助數(shù)控銑床自動編程系統(tǒng)主界面

▲圖3 計算機(jī)輔助數(shù)控銑床自動編程系統(tǒng)子窗口
面向?qū)ο蠹夹g(shù)是目前應(yīng)用較多的系統(tǒng)設(shè)計開發(fā)技術(shù),從數(shù)據(jù)的處理入手,以數(shù)據(jù)為中心描述系統(tǒng),數(shù)據(jù)相對于功能而言具有更強(qiáng)的穩(wěn)定性。面向?qū)ο蟮某绦蛟O(shè)計還具有易于維護(hù)、封裝、升級的特點(diǎn)。計算機(jī)輔助數(shù)控銑床自動編程系統(tǒng)中,對零件圖元坐標(biāo)點(diǎn)的數(shù)據(jù)處理是系統(tǒng)開發(fā)中的重要內(nèi)容,也是生成G代碼的關(guān)鍵,因此選用面向?qū)ο蟮腃#程序處理語言,在Visual Studio軟件中進(jìn)行開發(fā)。
首先在Visual Studio軟件中添加Auto CAD相關(guān)引用,建立起兩個平臺之間的通信,然后在Visual Studio后臺程序中添加代碼,打開要進(jìn)行加工的零件。
打開.dwg格式文件所添加的具體代碼如下:

利用C#語言中的Return FitPoints命令,選擇圖元后可以得到構(gòu)成圖元所有信息的點(diǎn)坐標(biāo)。將每一個點(diǎn)坐標(biāo)分別存放在一個二維數(shù)組里,以集合的形式順序存儲所有的二維數(shù)組。利用算法對這些點(diǎn)坐標(biāo)進(jìn)行計算,輸出符合要求的G代碼。
由于數(shù)控機(jī)床加工時控制的是刀具的中心軌跡,因此外加工和內(nèi)加工輪廓分別需要在零件輪廓點(diǎn)外加減所使用刀具的半徑r。將所使用刀具的半徑r設(shè)置為變量,由用戶在交互界面中填寫數(shù)值大小,順序提取存儲在集合中的零件輪廓點(diǎn)坐標(biāo),進(jìn)行加減r計算,將結(jié)果重新存儲在新的集合中。新得到的數(shù)據(jù)為刀心軌跡點(diǎn)坐標(biāo),隨著選取刀具的不同,數(shù)據(jù)自動變化。
筆者在系統(tǒng)開發(fā)中設(shè)計了合適的進(jìn)刀和退刀軌跡,這既是減化加工路徑的要求,也是避免發(fā)生碰撞、刀切等干涉的必要條件。圖4為加工零件時刀具的軌跡,圖5為進(jìn)刀和退刀時的刀具軌跡點(diǎn)坐標(biāo)。

▲圖4 刀具軌跡圖

▲圖5 刀具軌跡點(diǎn)坐標(biāo)
圖4中細(xì)實(shí)線為刀具的刀心軌跡,為了避免刀具在進(jìn)入和退出時與加工工件發(fā)生碰撞,從進(jìn)入點(diǎn)和退出點(diǎn)出發(fā),設(shè)計了引線。刀具沿引線接近工件,沿90°圓弧切向進(jìn)入與退出。設(shè)加工零件上的第一個加工點(diǎn)坐標(biāo)為(x0,y0),刀具半徑為 r,圓弧切入和切出時半徑為R,第一條加工邊與水平方向夾角為θ,θ<π。

(x1,y1)為完成沿圓弧進(jìn)刀后開始加工零件時刀心的位置。

(x2′,y2′)為完成沿圓弧退刀時刀心的位置。
在后臺代碼中創(chuàng)建名為 “jindao” 的類:Publicstaticdouble[]jindao(double x, double y, double xc, double yc, double R, double d1),其中(x,y)、(xc,yc)分別表示輪廓切入點(diǎn)和加工方向上的第二點(diǎn),求出兩點(diǎn)所連直線與水平方向夾角的值,代碼如下:

在得到夾角值后,代入如下算法,求出定義進(jìn)刀引線的重要點(diǎn)坐標(biāo):

對類 “jindao”進(jìn)行實(shí)例化:double[]jd=jindao(jiedian[0], jiedian[1], 0, 0, R, d1),根據(jù)界面中輸入的進(jìn)刀圓弧半徑R、進(jìn)刀引線長度d1,可以得到進(jìn)刀時的引線重要點(diǎn)坐標(biāo)。退刀時,所用代碼類似。
筆者以得瑪吉系統(tǒng)數(shù)控機(jī)床為例,基于C#語言,在Visual Studio 2013軟件中設(shè)計開發(fā)了能夠傳輸數(shù)控代碼的代碼傳輸模塊,將機(jī)床的串口類型、交換協(xié)議、波特率等參數(shù)信息寫入后臺程序。圖6所示為設(shè)計的向機(jī)床傳輸代碼界面。系統(tǒng)啟動后點(diǎn)擊界面上的顯示文本文件按鈕,可以選擇即將傳輸?shù)膬?nèi)容,并在左側(cè)文本顯示區(qū)呈現(xiàn)。點(diǎn)擊發(fā)送命令,可將顯示區(qū)的內(nèi)容按照設(shè)定向機(jī)床傳輸。

▲圖6 向機(jī)床傳輸代碼界面
在系統(tǒng)設(shè)計完成后,對系統(tǒng)的性能進(jìn)行測試。圖7所示為測試的Auto CAD二維圖形。
在Visual Studio中點(diǎn)擊啟動按鈕,圖2所示的主界面自動響應(yīng)。點(diǎn)擊界面上的選擇.dwg文件按鈕,計算機(jī)自動彈出選擇.dwg格式文件的文件夾。選擇二維圖形對應(yīng)的文件名稱,軟件會自動啟動Auto CAD軟件。在主界面中填寫各項(xiàng)加工參數(shù)和刀具參數(shù)。
點(diǎn)擊屏幕選擇加工曲線按鈕,在CAD軟件中,點(diǎn)擊要加工的二維圖形,點(diǎn)擊確定按鈕,軟件自動生成對應(yīng)的數(shù)控代碼。圖8所示為數(shù)控代碼生成結(jié)果。

▲圖7 Auto CAD二維圖形
點(diǎn)擊界面上的輸出1和輸出2按鈕,生成的結(jié)果自動保存為.nc格式文件。
在軟件的數(shù)控代碼向機(jī)床傳輸模塊中,筆者利用虛擬串口調(diào)試軟件,模擬向機(jī)床傳輸?shù)倪^程。打開下載好的串口調(diào)試助手,在設(shè)置中選擇雙串口模式,設(shè)置傳輸參數(shù),將保存的數(shù)控代碼指令復(fù)制到相應(yīng)位置,點(diǎn)擊發(fā)送按鈕,即可完成傳輸,如圖9所示。

▲圖8 數(shù)控代碼生成結(jié)果

▲圖9 數(shù)控代碼傳輸結(jié)果
生成的精銑代碼符合轉(zhuǎn)速2 500 r/min、進(jìn)給率300 mm/min的設(shè)定要求,代碼嚴(yán)格對應(yīng)刀具半徑為6 mm加工時的刀心位置軌跡。生成的粗銑代碼符合轉(zhuǎn)速2 500 r/min、進(jìn)給率1 200 mm/min的設(shè)定要求,每層加工深度為4 mm,共加工3次,數(shù)據(jù)對應(yīng)加工刀具半徑為8 mm,最后一次精加工保留0.5 mm的余量進(jìn)行加工時的刀心軌跡。數(shù)控代碼的生成結(jié)果均符合主界面中參數(shù)設(shè)置的要求。
基于Visual Studio 2013軟件和C#語言成功設(shè)計了一個數(shù)控銑床自動編程系統(tǒng),能夠自動生成并傳輸Auto CAD二維圖形數(shù)控加工代碼。
系統(tǒng)程序代碼編寫簡單,運(yùn)行效率高。對這一系統(tǒng)進(jìn)行了實(shí)例驗(yàn)證,研究結(jié)果表明,這一系統(tǒng)可以準(zhǔn)確生成Auto CAD二維圖形數(shù)控加工代碼,降低了對二維圖形手工編程的難度,提高了工作效率,并為企業(yè)提供了加工制造的新思路。應(yīng)用這一系統(tǒng),能夠根據(jù)現(xiàn)有的機(jī)床條件,在適當(dāng)修改模塊參數(shù)的基礎(chǔ)上,編寫符合機(jī)床條件的數(shù)控代碼,并成功傳輸至加工機(jī)床。這樣可以不必使用第三方開發(fā)的CAM軟件,節(jié)約經(jīng)濟(jì)成本。
[1]周愛霞.CAD/CAM技術(shù)的應(yīng)用及發(fā)展[J].科技創(chuàng)新導(dǎo)報,2012(18):11.
[2]羅忠誠,黃良沛.圖形化數(shù)控車床自動編程系統(tǒng)的研究與開發(fā)[J].機(jī)床與液壓,2006(2):79-81.
[3]廖友軍,余金偉,王恒升.基于特征識別的數(shù)控車床自動編程系統(tǒng)研究[J].機(jī)械科學(xué)與技術(shù),2008(4):532-536.
[4]張振宇,趙宏,梁補(bǔ)女,等.基于Auto CAD平臺的數(shù)控車床自動編程系統(tǒng)的實(shí)現(xiàn)[J].蘭州理工大學(xué)學(xué)報,2003(2):43-46.
[5]開濱.面向?qū)ο蠼换ナ紺AD系統(tǒng)的設(shè)計與開發(fā)[D].青島:山東科技大學(xué),2009.
[6]孫興偉,陳欣.數(shù)控銑床圖形自動編程系統(tǒng)的設(shè)計與研究[C].先進(jìn)制造技術(shù)論壇暨第三屆制造業(yè)自動化與信息化技術(shù)交流會,西安,2004.
[7]陳文濤.數(shù)控鉆銑床自動編程系統(tǒng)研究[D].烏魯木齊:新疆大學(xué),2004.
[8]劉志雄.基于AutoCAD2000開發(fā)的數(shù)控銑床自動編程系統(tǒng)設(shè)計[J].機(jī)床與液壓,2003(4):230-231,23.
[9]黃國權(quán).數(shù)控銑床圖形編程系統(tǒng)研究[J].組合機(jī)床與自動化加工技術(shù),2002(2):14-15.
[10]葉渭川.數(shù)控銑床自動編程系統(tǒng)[J].電子機(jī)械工程,1993(1):36.
[11]HAN J,WU L L,YUAN B,et al.A Novel Gear Machining CNC Design and Experimental Research[J].The International Journal of Advanced Manufacturing Technology,2017,88(5-8):1711-1722.
[12]馬凱,楊澤林,呂靜.基于DXF文件的CAD/CAM刀具路徑優(yōu)化與生成[J].機(jī)床與液壓,2011(10):39-42.