張鵬飛
(晉城市金菲機電有限公司, 山西 晉城 048000)
數控編程為數控加工過程中的主要內容,其對加工質量與生產效率具有直接影響。數控編程包括自動編程與手工編程,手工編程應用到幾何形狀不復雜零件中,其計算量比較小,方便編制。自動編程就是使用計算機實現數控機床程序的編制工作,根據不同的輸入方式,自動編程系統包括圖形輸入及語言輸入兩種方式。現代國內的數控火焰切割機大部分都具備自動編程系統,利用語言編程實現。但是此編程并不直觀,對于編程人員素質比較高,使用不方便。所以,開發功能完善、使用方便的數控火焰切割機圖形自動編程系統尤為重要。
此系統基于IBM PC 系列微機中的中文Windows平臺使用面向對象程序設計開發。對比傳統程序設計的方法,面向對象程序設計沒有傳統編程語言中控制結構概念,其將現實世界描述事物方法對問題進行描述,使復雜事物分解成為獨立對象,各個對象相互協調實現復雜功能,以此使各模塊獨立,提高程序擴充性與重用性。
此系統主要包括加工零件輸入和數控代碼生成,數控加工部分得到切割結合信息方法有多重,比如動態連接技術通過切割件圖形輸入部分直接得到,或者通過圖形文件中讀取[1]。圖1 為系統的設計流程。

圖1 系統的設計流程
以加工圖形復雜程度,使其劃分成為套環與單環兩種圖形。在CAD 中,圖形實體都是通過數據方式在數據庫中存儲,每個實體具有相互對應的實體數據表,實體數據表通過子表方式構成,每個子表都是通過DXF 文件組碼方式給出。實體段幾何圖形包括圓弧、點、折線、直線等,在實際描繪線切割加工軌跡過程中只是使用部分。在本文系統開發過程中使用MicroDraw 第三方控件實現DXF 文件的處理[2]。
以單環圖形處理為例,元素信息在DXF 文件中是根據繪圖順序進行存儲的,因為繪圖過程中具備隨意性,各個相互連接的實體存儲順序并不連接。火焰切割無法跳躍加工,那么各個元素就要以切割加工的順序重新排列,創建實體元素拓撲關系,實現基本加工路線的生成。圖2 為單環處理,加工人員對每個圖形都要對起割點A 點手動的標記,使其作為程序加工段開始,之后以此使在結構體數組存儲的元素起點坐標對比起割點坐標,使類似于起割點坐標圖元成為第一段加工程序,使此圖元終點坐標成為下個起始點,和剩余元素起點坐標對比得到第二段技工程序。以此類推,得到最后圖元終點坐標和標記起割點坐標一樣。使得到的全部圖元信息根據首位相互連接方式進行排列,構成封閉輪廊,添加加工過程中的工藝需求,自動變成單環圖形[3]。
對自動編程來說,信息都在DXF 文件中,在實體段中存儲。那么只要以數據存儲格式編程提取實體,之后根據一定格式在數據文件中存儲,對自動變成程序進行提供就行。圖3 為提取文件數據的框架。

圖3 提取文件數據的框架
在DXF 信息讀取過程中,能夠以相應格式進行存儲。在數控切割機自動編程系統中,能夠實現直線起點和終點坐標、圓弧起點和圓心坐標的存儲。圖4 為需要切割的零件,能夠使用任意的軟件繪圖之后在DXF 中存儲,通過此零件圖形DXF文件得到信息實現數據格式的重新存儲。
通過DXF 文件中實現幾何元素讀取為無序的,便于后續的處理。首先,利用簡單程序對圖形結合元素數量進行確定,之后通過循環從第一個元素到n 個元素實現排序。排序的思路就是對文件第i 個元素,對其終點和第i+1 個元素起點重合進行檢驗。如果是,那么他們相互連接;如果不是,那么檢驗其是否和終點重合。如果使,交換第i+1 個元素起點與終點,他們還是相接。如果不滿足上述條件,就對下個元素進行校驗。如果尋找相互連接元素是第j 個元素,使第i+1 個元素交換位置。以此類推,直到尋找全部首尾相接元素,完成第一個輪廊排序。
對實體來說,每個輪廊都要封閉,因為造型或者其他方面原因,會導致同個輪廊不封閉,所以就要封閉其他的輪廊。檢驗輪廊封閉非常的檢查,只需要使同個輪廊第一個元素起點與最后元素終點進行對比[4]。
通過信息處理之后的數據,以不同控制系統要求,對各個加工段坐標增量進行計算,根據相應格式排列實現加工程序的生成。對于XVP 型數控火焰切割機來說,加工部分直線要根據順序寫入文件中。如果加工部分表示圓弧段,那么要計算終點就相當于圓心與起點和起點x 坐標值和y 坐標值,并且根據順序寫入到文件中,之后以順弧或者逆弧,在數據段最后添加“+”后者“-”。圓加工程序或者圓弧加工程序的生成方法類似,只是終點相對起點坐標值為零,這個時候相應位置有兩個“+”和“-”就行。在數據段最后寫“-”或者“+”。對火焰切割來說,還要實現熄弧、引弧、快速移動和脈沖當量等信息。通過圖4 工件自動編程之后,就生成圖5 的數據。

圖5 生成數控火焰切割機加工程序
現將哈爾濱某公司數控火焰切割機SKG-3A 型為例,說明粗插補方法。使用連續點LINE 命令,頂點對零件實體輪廊外形所產生NC 代碼過程進行描述。SK94開發界面要求生成DXF 文件內輪廊描述在第0 層,外輪廊使用其它層描述,內外輪廊描述順序隨意。SK94 只是重視ARC、CIRCLE 和LINE 中的內容。在CAD 零件圖形描述過程中能夠隨意利用尺寸標注,不同類型線型描述命令,封閉內外輪廊。圖6 為編譯的過程。
其一,進入到CAD 界面中設置頁面,圖層設置兩個。使目前圖層設置為圖層1,設置SNAP 為ON 的狀態,GRIP 柵格為ON 狀態,圖層顏色為紅色。
其二,單擊文本輸入按鈕,在彈出的對話框中將文字進行輸入。比如“年”,對字體與字符大小進行選擇。
其三,使0 圖層作為目前圖層,默認白色。單擊LINE 圖層或者繪制下拉菜單中對直線進行選擇,遇圓時以粗插補原理,多幾點進行描述。
其四,使1 圖層設置為目前圖層,隱藏,切換0 圖層。設置捕捉為ON 狀態,在起始輪廊點中點擊。完成操作,保存。
其五,通過校驗,將圖層顯示,使生成NC 代碼到運動控制卡中傳輸。數控火焰其各級利用傳輸電纜和DNC 網絡得到信息后實現加工[5]。
利用CAD 生成實體中具有大量信息,分析實體造型或者圖形能夠提取有效數據,利用輪廊分配與排序等處理,實現相應應用程序的開發,能夠降低設計工作量,實現數據傳遞自動設計,充分使用CAD/CAM 系統數據交換文件,對于制造行業具有幫助。