貨車滾動軸承標誌板的鐳射打標圖紙程式設計的論文

貨車滾動軸承標誌板的鐳射打標圖紙程式設計的論文

  摘要採用鐳射刻打機進行標誌板刻打具有迅速、內容靈活的優點,然而其自帶軟體EzCad輸入較為煩瑣。透過利用Python語言及其pyautocad模組呼叫AutoCAD生成DXF檔案再匯入EzCad中進行刻打的方法,並基於PySide模組編制輸入介面,提高了輸入效率,節省了總體時間。

  關鍵詞標誌板;鐳射刻打;CAD二次開發;Python

  《鐵路貨車輪軸組裝檢修及管理規則》(簡稱《輪規》)中規定,鐵路貨車在進行廠段修時,車輪軸承壓裝後必須要刻打軸承標誌板並進行安裝。現在用的標誌板打號機大部分採用“液壓站+鋼字頭”的刻打方式,平均5~6min才能完成一個標誌板的刻打,生產效率不高;由於字頭數目固定,當遇到新的內容時須增加或更換字頭,非常不便,這在一定程度上延長了輪對檢修流程。焦作車輛段輪軸班組在原有一臺液壓站打號機的情況下新添置一臺YPK-20型鐳射打號機,該機器刻打速度快,且輸入字樣靈活,提高了刻打效率。然而機器配套的軟體EzCad要利用現有圖紙進行更改,且有別於CAD文字框直接在圖紙上更改的輸入方式,須於圖紙一側的引數框內輸入,且每輸入一項須點“儲存”或“應用”鍵儲存,整個輸入過程較原裝置更為煩瑣。基於這種情況,設計了新的圖紙生成程式,提高了輸入效率。

  1程式效果要求及其實現方法

  1.1新程式擬達到的效果液壓站打號機的輸入介面採用所見即所得的方式,即輸入介面與軸承標誌板排列格式基本一致[1],這裡同樣沿用這一設計方案。雖然EzCad可以直接在圖紙上修改,但由於其輸入是在另外的輸入框,且需要儲存確認,影響了輸入體驗,這就要求我們設計一個輸入較為方便的介面。而程式也應該擁有儲存功能,以便對輸入標誌板內容進行批次刻打。1.2實現方法選擇雖然EzCad也提供了二次開發的函式,但其開發語言較為單一,功能也較為侷限。相比之下,AutoCAD作為通用作圖軟體,對其進行二次開發的手段比較豐富,而其儲存的DXF格式檔案也可以在EzCad中開啟,所以可以先在CAD中生成待得影象的DXF檔案,再將DXF檔案匯入EzCad中進行刻打,而儲存得到的DXF檔案也解決了資料的儲存問題。這樣,原問題就轉化成了一個CAD二次開發的問題。1.3開發語言選擇選擇較為流行的Python語言作為程式語言。Python是一種面向物件的語言,它的使用和分發完全免費,提供了所有指令碼語言的簡單性和易用性,並且具有在編譯語言中才能找到的高階軟體工程工具。

  2程式結構設計

  我們希望該程式介面友好、操作簡單,所以可以一個GUI程式為主體,而將呼叫CAD生成DXF檔案的函式作為GUI控制元件的響應函式包含於該程式中。2.1程式介面設計程式介面設計為有一個對話方塊的介面,這樣可以使操作更為直觀簡單。輸入內容除了標誌板內容外,還有與儲存資料和刻打相關的一些內容。下面分別介紹除標誌板內容之外的各輸入內容。(1)儲存資料夾:可輸入文字框,用於輸入生成DXF儲存的資料夾路徑。(2)載重:下拉選單,選項為“60t”和“70t”,用以區分兩種不同軸重的輪對。車間習慣於透過車輛載重對車輛部件進行區分,這裡也沿用這一習慣。兩種輪對標誌板大小不同會導致在擺放時縱向中心不一致,可以透過調節各自的影象生成位置來避免手動調節擺放位置帶來的麻煩。(3)輪對編號:可輸入文字框,輸入壓裝時對輪對的臨時編號,用於儲存DXF檔案時進行區分和識別。由於一般為流水號,文字框後的“+1”按鈕可方便地對上個輪對編號進行加一處理。(4)待刻打方向:下拉選單,選項分別為“雙側”“左側”和“右側”,用以區分兩邊標誌板都需要刻打、僅需要刻打左側、僅需要刻打右側等情況。(5)軸承修程:下拉選單,選項分別為“一般檢大修”“一般檢新造”“大修”和“新造”,用以區分不同修程的軸承,並以此確定標誌板A欄中軸承新造/大修檢修標記和D欄中一般檢修標記是否刻打。(6)相隔距離調整:文字框,用於調整圖紙上兩標誌板內容的相隔距離,在定位裝置固定時該輸入內容不變。(7)生成圖紙:按鈕,在輸入資訊完畢後按下它生成圖紙。

  由於輪對未經二次組裝時,其首次組裝年月日和末次組裝年月日一致,而這樣的輪對佔很大的比例,故採用“當右端B欄的輪對末次組裝年月日文字框為空時,生成圖紙時該資料呼叫左端B欄的輪對首次組裝年月日資料”的設計方案以提高輸入效率。在設計好介面佈局後對其tab順序進行編輯,這樣就可以透過“tab鍵”進行各輸入位置的切換,實現純鍵盤操作以提高輸入效率。總體順序為“從上到下,先填寫左端,再填寫右端”。然後對左端標誌板內容的順序進行區域性調整,填完D欄後,再打C欄的“車軸製造年月”“鋼種代號”和“車軸製造單位代號”,以適應新《輪規》實行後,未退卸軸承標誌板C欄這三項內容需要完善的情況。對於介面的程式實現,Python支援多種圖形介面的第三方庫,這裡匯入基於Qt庫的PySide模組進行編寫。PySide集成了Qt和Python的優勢,擁有LGPL授權許可,允許進行免費/開源軟體和私有商業軟體的開發。2.2生成DXF圖紙的程式設計pyautocad模組可以幫助完成用Python語言編寫簡單的ActiveX自動控制指令碼[2],這裡匯入它來編寫呼叫CAD生成DXF檔案的函式作為“生成圖紙”按鈕的響應函式。pyautocad封裝了一些介面[3],而且其中的sendcommand函式可以控制在CAD的命令列中執行指定的`命令,相當於把CAD命令列prompt當成了一個微型API[4],這就允許我們完整地使用CAD的功能控制生成圖紙。具體生成圖紙的流程為:(1)根據相對位置生成各欄文字;(2)將文字分解,變為外圍輪廓線文字;(3)對空心的文字進行填充;(4)對文字進行打散,使之成為曲線;(5)調整圖形位置;(6)儲存。由於CAD中生成的文字匯入EzCad中會變為空心文字,這裡先在CAD中將文字變為空心文字,再對其進行填充。將文字變為空心文字有兩個方法:一是使用官方自帶的Express工具箱,二是安裝燕秀工具箱。雖然Express工具箱的處理速度比燕秀工具箱更快,但文字處理後輪廓內部有一定的多餘線條,這會影響後續的填充操作。而燕秀工具箱處理效果更好。填充過後,還要再把圖形打散一次,以保證填充線也能匯入到EzCad中去。在生成一個新的圖紙時,先檢查該資料夾中是否存在該輪對編號檔名的檔案,如果存在,則程式不發生動作,如果不存在,才生成對應的圖紙檔案。在生成圖紙完畢後,可以將影象刪除繼續等待下一個檔案生成,也可以將CAD關閉,當下次呼叫時再次開啟。而如果單單以DXF格式儲存就關閉CAD時,CAD會以對話方塊的形式詢問是否以DWG格式儲存,故還要主動儲存DWG格式的檔案。這樣目標資料夾中除了會有我們需要的DXF檔案,還會有副產品———DWG檔案。最後生成的圖紙效果如圖2所示。再將儲存後的DXF檔案作為向量圖匯入EzCad中列印即可。

  3結語

  (1)透過利用Python語言及其pyautocad模組呼叫AutoCAD生成DXF檔案再匯入EzCad中進行刻打的方法,並基於PySide模組編制輸入介面,提高了輸入效率,節省了總體時間。(2)DXF檔案作為中間檔案,結合了兩個軟體的優點,並解決了資料儲存的問題。(3)雖然鐳射刻打有效率高、刻打內容靈活的特點,但在刻打過程中容易形成煙塵,長期吸入對人體健康有害。在條件不允許重新設計刻打機時,應儘量在寬敞、通風處進行刻打,刻打人員也應佩戴好口罩等防護用品。

最近訪問