當前位置:文書都 >

實用範文 >論文 >

貨車滾動軸承標誌板的激光打標圖紙程序設計的論文

貨車滾動軸承標誌板的激光打標圖紙程序設計的論文

摘要採用激光刻打機進行標誌板刻打具有迅速、內容靈活的優點,然而其自帶軟件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)雖然激光刻打有效率高、刻打內容靈活的特點,但在刻打過程中容易形成煙塵,長期吸入對人體健康有害。在條件不允許重新設計刻打機時,應儘量在寬敞、通風處進行刻打,刻打人員也應佩戴好口罩等防護用品。

  • 文章版權屬於文章作者所有,轉載請註明 https://wenshudu.com/shiyongfanwen/lunwen/lygd0p.html
專題