CAD/CAM在加工領(lǐng)域中應(yīng)用的主要問題是如何根據(jù)CAD軟件設(shè)計的圖形自動生成工藝合理、指令準(zhǔn)確的加工程序,取得理想的加工效果。然而,由于眾多開發(fā)軟件未能選用合理的擬合插補算法,致使加工精度都未能達到指定的要求,雕刻對象過于粗糙。正是由于一些企業(yè)在使用CAM加工設(shè)備過程中存在諸如起落刀次數(shù)過于頻繁、空行程較大、效率不高、精度弱化等問題,作者在綜合了上述缺陷后,采用小段直線擬合曲線的方法,對提取的數(shù)據(jù)點采用插入排序的優(yōu)化設(shè)計思想,通過VC++程序窗口對加工雕刻軌跡進行模擬仿真,并生成相應(yīng)的NC代碼。
1 系統(tǒng)的體系結(jié)構(gòu)
基于DXF(Drawing Interchange File)文件的CAD/CAM刀具路徑優(yōu)化與生成體系結(jié)構(gòu)如圖1所示,主要由以下兩大模塊組成:
(1)圖元信息提取模塊,為后續(xù)圖形數(shù)據(jù)處理做準(zhǔn)備。
(2)后置處理模塊,其又可分為以下4個小模塊:
①圖形數(shù)據(jù)處理。針對不同的圖形,計算其擬合誤差,通過與給定誤差相比較,擬合生成原始圖形。由于圖形數(shù)據(jù)具有一定的不確定性,因此數(shù)據(jù)在儲存過程中采用動態(tài)鏈表的存儲方式。
②刀具路徑優(yōu)化。由于數(shù)據(jù)是按文件的讀取過程存儲的,所以對存儲的圖形數(shù)據(jù)進行插入排序可以有效解決加工過程中起落刀次數(shù)過于頻繁,從而提高加工效率。
③軌跡模擬仿真。將提取的數(shù)據(jù)點通過VC++自帶的函數(shù)庫繪制相應(yīng)的圖形。
④NC代碼生成。
圖1 基于DXF文件的CAD/CAM刀具路徑優(yōu)化與生成體系結(jié)構(gòu)
2 DXF文件基本結(jié)構(gòu)
DXF是具有規(guī)范格式的ASCⅡ碼文本文件,易于被其他程序處理,而且保存了CAD圖形的精確數(shù)據(jù)。因此通過高級語言設(shè)計接口程序可以提取圖形數(shù)據(jù),實現(xiàn)CAD圖形與CAM加工代碼之間的轉(zhuǎn)換,結(jié)合相關(guān)數(shù)控工藝知識,生成CAM加工程序。所以DXF文件的特點和優(yōu)勢為CAD/CAM接口程序的開發(fā)提供了有利條件。
利用高級語言編寫接口程序,首先必須了解DXF文件的結(jié)構(gòu)。DXF數(shù)據(jù)文件包含設(shè)計過程的所有圖形、非圖形信息。一個完整的DXF文件必須包括標(biāo)題段(HEADER)、類段(CLASSES)、表段(TABIES)、塊段(BLOCKS)、實體段(ENTITIES)、文件結(jié)束標(biāo)志EOF。圖2為DXF數(shù)據(jù)文件格式結(jié)構(gòu)圖。
圖2 DXF數(shù)據(jù)文件格式結(jié)構(gòu)圖
文件中每個數(shù)據(jù)元素前都帶有一個稱之為組碼的整數(shù),組碼的值表明了其后數(shù)據(jù)元素的類型。相應(yīng)的一系列組碼和組值構(gòu)成了DXF文件中的段(SECTION),每—個段都以一個組碼為0、組值為字符串SECTION的組對開始,其后再緊跟組碼為2和表示各段名稱的字符串(如HEADER、ENTITIES等)。每個段中的相應(yīng)組碼和組值定義了相應(yīng)的DXF段,而每個段都以組碼為0和字符串為ENDSEC的組值構(gòu)成的代碼對結(jié)束。所有段都結(jié)束后,DXF文件以組值為EOF(End of File)的0組作為文件的結(jié)束標(biāo)志。由這些組碼和組值組成的各段便是DXF文件。
3 讀取圖元信息
CAD/CAM接口程序與實體段的關(guān)系最為密切,因為實體段含有所有圖元的參數(shù),如點的坐標(biāo)、直線的兩端點坐標(biāo),圓的圓心、半徑和張角等,所以可以對存放在其他段中的信息予以忽略,而只讀取實體段和文件結(jié)束兩部分。一個實體對應(yīng)一種類型的圖元。以數(shù)控加工中的常見特征直線和圓為例,說明提取圖形信息的方法。表征一個直線的實體數(shù)據(jù)如表1,表征一個圓的實體數(shù)據(jù)如表2所示。
表1 表征一個直線的實體數(shù)據(jù)
表2 征一個圓的實體數(shù)據(jù)
分析表明,圖形文件中包含的圖形對象與實體段組碼和組值提供的信息一致。據(jù)此可以采用判斷組碼獲得組值內(nèi)容的方法提取出有用的信息。因為軟件界面是采用VC++6.0來實現(xiàn)二次開發(fā),所以在程序設(shè)計的時候,將文件打開和實體讀取部分合在一起,使得整個程序看起來連貫也便于針對具體實體的幾何特征信息進行處理。
這里給出接口程序中信息提取模塊的主要片段:
提取和保存實體段中直線、圓的數(shù)據(jù)時,方法類似,都是通過逐個比較組碼,提取直線的端點坐標(biāo)值,圓的圓心坐標(biāo)值和半徑值,并將其送入指定變量。
直線與圓的數(shù)據(jù)提取具體流程如圖3-4所示。
圖3 直線數(shù)據(jù)提取的結(jié)構(gòu)框圖
圖4 圓的數(shù)據(jù)提取的結(jié)構(gòu)框圖
(審核編輯: 智匯小新)
分享