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

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

▲圖2 計算機輔助數控銑床自動編程系統主界面

▲圖3 計算機輔助數控銑床自動編程系統子窗口
面向對象技術是目前應用較多的系統設計開發技術,從數據的處理入手,以數據為中心描述系統,數據相對于功能而言具有更強的穩定性。面向對象的程序設計還具有易于維護、封裝、升級的特點。計算機輔助數控銑床自動編程系統中,對零件圖元坐標點的數據處理是系統開發中的重要內容,也是生成G代碼的關鍵,因此選用面向對象的C#程序處理語言,在Visual Studio軟件中進行開發。
首先在Visual Studio軟件中添加Auto CAD相關引用,建立起兩個平臺之間的通信,然后在Visual Studio后臺程序中添加代碼,打開要進行加工的零件。
打開.dwg格式文件所添加的具體代碼如下:

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

▲圖4 刀具軌跡圖

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

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

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

在得到夾角值后,代入如下算法,求出定義進刀引線的重要點坐標:

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

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

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

▲圖8 數控代碼生成結果

▲圖9 數控代碼傳輸結果
生成的精銑代碼符合轉速2 500 r/min、進給率300 mm/min的設定要求,代碼嚴格對應刀具半徑為6 mm加工時的刀心位置軌跡。生成的粗銑代碼符合轉速2 500 r/min、進給率1 200 mm/min的設定要求,每層加工深度為4 mm,共加工3次,數據對應加工刀具半徑為8 mm,最后一次精加工保留0.5 mm的余量進行加工時的刀心軌跡。數控代碼的生成結果均符合主界面中參數設置的要求。
基于Visual Studio 2013軟件和C#語言成功設計了一個數控銑床自動編程系統,能夠自動生成并傳輸Auto CAD二維圖形數控加工代碼。
系統程序代碼編寫簡單,運行效率高。對這一系統進行了實例驗證,研究結果表明,這一系統可以準確生成Auto CAD二維圖形數控加工代碼,降低了對二維圖形手工編程的難度,提高了工作效率,并為企業提供了加工制造的新思路。應用這一系統,能夠根據現有的機床條件,在適當修改模塊參數的基礎上,編寫符合機床條件的數控代碼,并成功傳輸至加工機床。這樣可以不必使用第三方開發的CAM軟件,節約經濟成本。
[1]周愛霞.CAD/CAM技術的應用及發展[J].科技創新導報,2012(18):11.
[2]羅忠誠,黃良沛.圖形化數控車床自動編程系統的研究與開發[J].機床與液壓,2006(2):79-81.
[3]廖友軍,余金偉,王恒升.基于特征識別的數控車床自動編程系統研究[J].機械科學與技術,2008(4):532-536.
[4]張振宇,趙宏,梁補女,等.基于Auto CAD平臺的數控車床自動編程系統的實現[J].蘭州理工大學學報,2003(2):43-46.
[5]開濱.面向對象交互式CAD系統的設計與開發[D].青島:山東科技大學,2009.
[6]孫興偉,陳欣.數控銑床圖形自動編程系統的設計與研究[C].先進制造技術論壇暨第三屆制造業自動化與信息化技術交流會,西安,2004.
[7]陳文濤.數控鉆銑床自動編程系統研究[D].烏魯木齊:新疆大學,2004.
[8]劉志雄.基于AutoCAD2000開發的數控銑床自動編程系統設計[J].機床與液壓,2003(4):230-231,23.
[9]黃國權.數控銑床圖形編程系統研究[J].組合機床與自動化加工技術,2002(2):14-15.
[10]葉渭川.數控銑床自動編程系統[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刀具路徑優化與生成[J].機床與液壓,2011(10):39-42.