王睿,蘇李,黃春雨,祝勇
(1.長春理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,長春 130012;2.吉林省教育學(xué)院職業(yè)與成人教育培訓(xùn)學(xué)院,長春 130021)
基于DXF文件的G代碼自動生成系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
王睿1,蘇李2,黃春雨1,祝勇1
(1.長春理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,長春 130012;2.吉林省教育學(xué)院職業(yè)與成人教育培訓(xùn)學(xué)院,長春 130021)
設(shè)計(jì)了基于DXF文件的G代碼自動生成仿真系統(tǒng),該系統(tǒng)可以對現(xiàn)代數(shù)控機(jī)床多通道多軸的復(fù)雜工況進(jìn)行相關(guān)的參數(shù)設(shè)定,可以自動對DXF文件進(jìn)行分析實(shí)體排序,生成加工輪廓信息,通過直線插補(bǔ)算法直接生成G01代碼,編程效率得到極大的提升,也相應(yīng)的提高了機(jī)床利用率及加工效率。
DXF文件;仿真系統(tǒng);自動編程
G代碼自動生成仿真系統(tǒng),通過讀取DXF文件中的工件加工軌跡,數(shù)控仿真軟件對加工參數(shù)進(jìn)行設(shè)置,計(jì)算機(jī)根據(jù)工件的輪廓信息進(jìn)行運(yùn)算,并實(shí)時顯示軌跡的加工過程,這個過程精度高、速度快且人機(jī)交互,流程設(shè)計(jì)簡潔,圖形交互式自動編程軟件已經(jīng)成為數(shù)控機(jī)床加工的未來趨勢。
DXF文件作為AUTOCAD與其它軟件進(jìn)行數(shù)據(jù)交換的數(shù)據(jù)文件格式,已經(jīng)成為行業(yè)標(biāo)準(zhǔn)。DXF文件由文件段和結(jié)束符標(biāo)志構(gòu)成,文件段分為文件頭段、類段、表段、塊段、實(shí)體段和對象段六段構(gòu)成,其中實(shí)體段儲存了DXF文件中圖元的相關(guān)參數(shù),所以本文只對DXF文件的實(shí)體段進(jìn)行解析[1-2]。
DXF文件實(shí)體段數(shù)據(jù)解析[4]
0ENTITIES段的開始SECTION2
ENTITIES0每個圖元定義一個條目<圖元類型>5
<句柄>330
<指向所有者的指針>100
AcDbEntity8
<圖層>100
AcDb<類名>
<數(shù)據(jù)>.
0ENTITIES段的結(jié)束
ENDSEC
由于在讀取DXF文件中圖元的讀取順序具有一定的隨機(jī)性,在多通道多軌跡加工路徑中要確定哪些圖元屬于同一加工軌跡,必須對其進(jìn)行排序并合并成一條軌跡信息,本系統(tǒng)中只考慮直線和圓弧兩種圖元,通過DXF文件可以直接讀取直線的起點(diǎn)和終點(diǎn)坐標(biāo),圓弧為圓心坐標(biāo)、半徑、起點(diǎn)角度、端點(diǎn)角度,實(shí)體排序的過程如下:
首先獲取實(shí)體的起始坐標(biāo)點(diǎn),如果實(shí)體為圓弧則首先通過計(jì)算獲得其兩個端點(diǎn)坐標(biāo)信息,算法不考慮封閉實(shí)體以及無法記性直線你和的實(shí)體,遞歸進(jìn)行起點(diǎn)坐標(biāo)和終點(diǎn)坐標(biāo)比對,如果發(fā)現(xiàn)兩個實(shí)體的起點(diǎn)坐標(biāo)或者終點(diǎn)坐標(biāo)相同,則根據(jù)兩個實(shí)體的橫坐標(biāo)大小進(jìn)行實(shí)體合并,如無重合坐標(biāo)點(diǎn)則設(shè)定為獨(dú)立實(shí)體,通過遞歸算法對所有實(shí)體進(jìn)行合并操作,得到相應(yīng)的加工軌跡信息,根據(jù)不同的道具類型生成基于刀具的加工軌跡。
圖1 實(shí)體排序流程圖
得到實(shí)體排序后的加工軌跡后,本系統(tǒng)全部采用直線插補(bǔ)G01對實(shí)體進(jìn)行插補(bǔ),由于軌跡中實(shí)體均為直線和圓弧,需對直線和圓弧進(jìn)行直線擬合,擬合算法如下:
直線擬合算法:
在DXF文件中可以直接讀取直線的起點(diǎn)坐標(biāo)和終點(diǎn)坐標(biāo),設(shè)起點(diǎn)坐標(biāo)為(x,y),終點(diǎn)坐標(biāo)為(x1,y2),步長為d,則直接輸出插補(bǔ)坐標(biāo)(a,b)斜率為k,以直線的起點(diǎn)坐標(biāo)為起點(diǎn)進(jìn)行計(jì)算,len為直線長度,當(dāng)len>d時,
計(jì)算出第一個輸出坐標(biāo)點(diǎn)后,將輸出坐標(biāo)點(diǎn)設(shè)為直線起點(diǎn)坐標(biāo)直到當(dāng)len<d時直接輸出直線的終點(diǎn)坐標(biāo)。
a=x1;
b=x2;
圓弧擬合算法
設(shè)圓弧的圓點(diǎn)坐標(biāo)為(x,y),圓弧半徑為r,起點(diǎn)角度為bangle,端點(diǎn)角度為eangle,步長為d,輸出插補(bǔ)坐標(biāo)(a,b)首先將步長轉(zhuǎn)換為相應(yīng)的角度?=d/r,計(jì)算圓弧的起點(diǎn)坐標(biāo),
起點(diǎn)坐標(biāo)計(jì)算完成之后根據(jù)起點(diǎn)坐標(biāo)進(jìn)行圓弧的直線擬合,根據(jù)角度步長進(jìn)行擬合的坐標(biāo)如下:
同理將起點(diǎn)與端點(diǎn)坐標(biāo)進(jìn)行置換,計(jì)算過程中需要對起點(diǎn)角度和端點(diǎn)角度進(jìn)行判斷和分別分析。計(jì)算中實(shí)時計(jì)算差補(bǔ)角度,若差補(bǔ)角度小于?則直接輸出圓弧的端點(diǎn)坐標(biāo),此次加工G代碼輸出完成。
本系統(tǒng)根據(jù)數(shù)控機(jī)床的加工要求分為DXF文件讀取參數(shù)設(shè)定以及加工仿真3個模塊。
DXF文件的讀取,讀取DXF文件的有效信息,并進(jìn)行排序與直線差補(bǔ)擬合,并不能直接生成G代碼,還需要對工件加工的參數(shù)進(jìn)行設(shè)定,在加工之前需要確定工件的加工方向,由于圓弧的擬合方向原因,不同的走刀方向生成的加工軌跡將完全不同[3-5]。
數(shù)控機(jī)床包括多軸多通道加工,需要根據(jù)工件的加工要求設(shè)定機(jī)床的工作通道數(shù),方便工程師直接將全部加工軌跡繪制在DXF文件中,可以直接在系統(tǒng)中選擇加工軌跡,設(shè)定加工軌跡顏色,根據(jù)不同機(jī)床對工作軸的特殊要求,修改工作軸。
其中包括走刀方向、通道選擇、差補(bǔ)步長、刀具半徑,要模擬走刀過程還需要對軌跡線進(jìn)行,重新繪制道具軌跡線,本系統(tǒng)按照實(shí)際操作過程流程設(shè)計(jì)出科學(xué)易用的人機(jī)交互界面,符合操作習(xí)慣,左側(cè)為參數(shù)設(shè)置區(qū)域,右側(cè)為仿真顯示與G代碼生成與編輯區(qū)域。系統(tǒng)操作流程如圖2所示:
使用AUTOCAD制作了包含圓弧和直線的測試軌跡圖紙,將測試文件導(dǎo)入系統(tǒng)中系統(tǒng)顯示了DXF文件中的全部三條軌跡線并進(jìn)行實(shí)體排序如下圖所示
圖2 系統(tǒng)操作流程
圖3 走刀路徑
選擇走刀方向后,系統(tǒng)直接對走刀路徑進(jìn)行規(guī)劃,規(guī)劃后路徑如下圖所示:
圖4 規(guī)劃后走刀路徑
按照規(guī)劃后路徑直接即可生成相關(guān)路徑的G01代碼,本測試采用4軸3軌跡線,工作軸名稱可以根據(jù)實(shí)際情況自行設(shè)定,本文設(shè)定4軸分別為Z,A,B,C軸,通過觀察加工軌跡以及生成G01代碼數(shù)據(jù)的變化可以看到系統(tǒng)自動完成了規(guī)劃軌跡后的G代碼生成,同時要為數(shù)控機(jī)床添加其他控制信息可以在輸出過程中直接輸出
圖5 部分走刀路徑G代碼
在文本文件中可以看到不同工作軸的擬合路徑變化,該方法按照設(shè)定的擬合參數(shù)對加工路徑進(jìn)行了擬合,且精度可繼續(xù)提高。
通過分析DXF文件結(jié)構(gòu),提取文件的實(shí)體信息進(jìn)行實(shí)體排序,實(shí)時顯示DXF文件軌跡信息,將由圓弧和直線構(gòu)成的加工軌跡信息進(jìn)行直線擬合,完成擬合后曲線的G01代碼輸出,代替手工編程,有效的提高了編程效率和加工精確度。由于直線擬合的限制并為對其他類型的實(shí)體進(jìn)行G代碼生成,在后續(xù)研究將進(jìn)行深入探討。
[1]陳艷巧,陳秀云,王俊杰.淺談數(shù)控編程方法和學(xué)習(xí)技巧[J].裝備制造技術(shù),2011(03):180-181.
[2]廖友軍,余金偉,王恒升.基于特征識別的數(shù)控車床自動編程系統(tǒng)研究[J].機(jī)械科學(xué)與技術(shù),2008,27(4):533-536.
[3]李晶晶,侯伯杰,盧小勇.數(shù)控加工過程計(jì)算機(jī)仿真軟件設(shè)計(jì)[J].鄭州工業(yè)大學(xué)學(xué)報,2000,21(4):91-92.
[4]胡勝紅.使用VC++編程實(shí)現(xiàn)DXF文件數(shù)據(jù)提取[J].福建電腦,2006(11):21-25.
[5]王子茹,任清波.基于VC++的DXF數(shù)據(jù)文件接口的研究[J].廈門理工學(xué)院學(xué)報,2007,15(1):27-30.
Design and Realization of the System to Automatically Generate G-code Based DXF Files
WANG Rui1,SU Li2,HUANG Chunyu1,ZHU Yong1
(1.School of Computer Science and Technology,Changchun University of Science and Technology,Changchun 130022;2.Jilin Provincial Institute of Education,Institute of Vocatinal and Adult Education Reseatch Training,Changchun 130021)
Designed to automatically generate G-code simulation system based DXF files,The system can be modern multi-channel multi-axis CNC machine tools of complex conditions related parameter settings,The automatic DXF file for analysis to sort entity,Generates contour information,Generate G01 code directly by linear interpolation algorithm,Programming efficiency greatly improved,Also a corresponding increase machine utilization and processing efficiency.
DXF file;simulation system;automatic programming
TP3-05
A
1672-9870(2016)06-0122-03
2016-07-11
王睿(1983-),男,博士,講師,E-mail:wangrui56789@163.com