前言:想要寫出一篇引人入勝的文章?我們特意為您整理了貨車滾動軸承標志板的激光打標圖紙程序設計范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:采用激光刻打機進行標志板刻打具有迅速、內(nèi)容靈活的優(yōu)點,然而其自帶軟件EzCad輸入較為煩瑣。通過利用Python語言及其pyautocad模塊調用AutoCAD生成DXF文件再導入EzCad中進行刻打的方法,并基于PySide模塊編制輸入界面,提高了輸入效率,節(jié)省了總體時間。
關鍵詞:標志板;激光刻打;CAD二次開發(fā);Python
《鐵路貨車輪軸組裝檢修及管理規(guī)則》(簡稱《輪規(guī)》)中規(guī)定,鐵路貨車在進行廠段修時,車輪軸承壓裝后必須要刻打軸承標志板并進行安裝?,F(xiàn)在用的標志板打號機大部分采用“液壓站+鋼字頭”的刻打方式,平均5~6min才能完成一個標志板的刻打,生產(chǎn)效率不高;由于字頭數(shù)目固定,當遇到新的內(nèi)容時須增加或更換字頭,非常不便,這在一定程度上延長了輪對檢修流程。焦作車輛段輪軸班組在原有一臺液壓站打號機的情況下新添置一臺YPK-20型激光打號機,該機器刻打速度快,且輸入字樣靈活,提高了刻打效率。然而機器配套的軟件EzCad要利用現(xiàn)有圖紙進行更改,且有別于CAD文本框直接在圖紙上更改的輸入方式,須于圖紙一側的參數(shù)框內(nèi)輸入,且每輸入一項須點“保存”或“應用”鍵保存,整個輸入過程較原設備更為煩瑣?;谶@種情況,設計了新的圖紙生成程序,提高了輸入效率。
1程序效果要求及其實現(xiàn)方法
1.1新程序擬達到的效果液壓站打號機的輸入界面采用所見即所得的方式,即輸入界面與軸承標志板排列格式基本一致[1],這里同樣沿用這一設計方案。雖然EzCad可以直接在圖紙上修改,但由于其輸入是在另外的輸入框,且需要保存確認,影響了輸入體驗,這就要求我們設計一個輸入較為方便的界面。而程序也應該擁有保存功能,以便對輸入標志板內(nèi)容進行批量刻打。1.2實現(xiàn)方法選擇雖然EzCad也提供了二次開發(fā)的函數(shù),但其開發(fā)語言較為單一,功能也較為局限。相比之下,AutoCAD作為通用作圖軟件,對其進行二次開發(fā)的手段比較豐富,而其保存的DXF格式文件也可以在EzCad中打開,所以可以先在CAD中生成待得圖像的DXF文件,再將DXF文件導入EzCad中進行刻打,而保存得到的DXF文件也解決了數(shù)據(jù)的保存問題。這樣,原問題就轉化成了一個CAD二次開發(fā)的問題。1.3開發(fā)語言選擇選擇較為流行的Python語言作為編程語言。Python是一種面向對象的語言,它的使用和分發(fā)完全免費,提供了所有腳本語言的簡單性和易用性,并且具有在編譯語言中才能找到的高級軟件工程工具。
2程序結構設計
我們希望該程序界面友好、操作簡單,所以可以一個GUI程序為主體,而將調用CAD生成DXF文件的函數(shù)作為GUI控件的響應函數(shù)包含于該程序中。2.1程序界面設計程序界面設計為有一個對話框的界面,這樣可以使操作更為直觀簡單。輸入內(nèi)容除了標志板內(nèi)容外,還有與存儲數(shù)據(jù)和刻打相關的一些內(nèi)容。下面分別介紹除標志板內(nèi)容之外的各輸入內(nèi)容。(1)保存文件夾:可輸入文本框,用于輸入生成DXF保存的文件夾路徑。(2)載重:下拉菜單,選項為“60t”和“70t”,用以區(qū)分兩種不同軸重的輪對。車間習慣于通過車輛載重對車輛部件進行區(qū)分,這里也沿用這一習慣。兩種輪對標志板大小不同會導致在擺放時縱向中心不一致,可以通過調節(jié)各自的圖像生成位置來避免手動調節(jié)擺放位置帶來的麻煩。(3)輪對編號:可輸入文本框,輸入壓裝時對輪對的臨時編號,用于保存DXF文件時進行區(qū)分和識別。由于一般為流水號,文本框后的“+1”按鈕可方便地對上個輪對編號進行加一處理。(4)待刻打方向:下拉菜單,選項分別為“雙側”“左側”和“右側”,用以區(qū)分兩邊標志板都需要刻打、僅需要刻打左側、僅需要刻打右側等情況。(5)軸承修程:下拉菜單,選項分別為“一般檢大修”“一般檢新造”“大修”和“新造”,用以區(qū)分不同修程的軸承,并以此確定標志板A欄中軸承新造/大修檢修標記和D欄中一般檢修標記是否刻打。(6)相隔距離調整:文本框,用于調整圖紙上兩標志板內(nèi)容的相隔距離,在定位裝置固定時該輸入內(nèi)容不變。(7)生成圖紙:按鈕,在輸入信息完畢后按下它生成圖紙。由于輪對未經(jīng)二次組裝時,其首次組裝年月日和末次組裝年月日一致,而這樣的輪對占很大的比例,故采用“當右端B欄的輪對末次組裝年月日文本框為空時,生成圖紙時該數(shù)據(jù)調用左端B欄的輪對首次組裝年月日數(shù)據(jù)”的設計方案以提高輸入效率。在設計好界面布局后對其tab順序進行編輯,這樣就可以通過“tab鍵”進行各輸入位置的切換,實現(xiàn)純鍵盤操作以提高輸入效率??傮w順序為“從上到下,先填寫左端,再填寫右端”。然后對左端標志板內(nèi)容的順序進行局部調整,填完D欄后,再打C欄的“車軸制造年月”“鋼種代號”和“車軸制造單位代號”,以適應新《輪規(guī)》實行后,未退卸軸承標志板C欄這三項內(nèi)容需要完善的情況。對于界面的程序實現(xiàn),Python支持多種圖形界面的第三方庫,這里導入基于Qt庫的PySide模塊進行編寫。PySide集成了Qt和Python的優(yōu)勢,擁有LGPL授權許可,允許進行免費/開源軟件和私有商業(yè)軟件的開發(fā)。2.2生成DXF圖紙的程序設計pyautocad模塊可以幫助完成用Python語言編寫簡單的ActiveX自動控制腳本[2],這里導入它來編寫調用CAD生成DXF文件的函數(shù)作為“生成圖紙”按鈕的響應函數(shù)。pyautocad封裝了一些接口[3],而且其中的sendcommand函數(shù)可以控制在CAD的命令行中運行指定的命令,相當于把CAD命令行prompt當成了一個微型API[4],這就允許我們完整地使用CAD的功能控制生成圖紙。具體生成圖紙的流程為:(1)根據(jù)相對位置生成各欄文本;(2)將文字分解,變?yōu)橥鈬喞€文字;(3)對空心的文字進行填充;(4)對文本進行打散,使之成為曲線;(5)調整圖形位置;(6)保存。由于CAD中生成的文字導入EzCad中會變?yōu)榭招奈淖郑@里先在CAD中將文字變?yōu)榭招奈淖?,再對其進行填充。將文字變?yōu)榭招奈淖钟袃蓚€方法:一是使用官方自帶的Express工具箱,二是安裝燕秀工具箱。雖然Express工具箱的處理速度比燕秀工具箱更快,但文字處理后輪廓內(nèi)部有一定的多余線條,這會影響后續(xù)的填充操作。而燕秀工具箱處理效果更好。填充過后,還要再把圖形打散一次,以保證填充線也能導入到EzCad中去。在生成一個新的圖紙時,先檢查該文件夾中是否存在該輪對編號文件名的文件,如果存在,則程序不發(fā)生動作,如果不存在,才生成對應的圖紙文件。在生成圖紙完畢后,可以將圖像刪除繼續(xù)等待下一個文件生成,也可以將CAD關閉,當下次調用時再次打開。而如果單單以DXF格式保存就關閉CAD時,CAD會以對話框的形式詢問是否以DWG格式保存,故還要主動保存DWG格式的文件。這樣目標文件夾中除了會有我們需要的DXF文件,還會有副產(chǎn)品———DWG文件。最后生成的圖紙效果如圖2所示。再將保存后的DXF文件作為矢量圖導入EzCad中打印即可。
3結語
(1)通過利用Python語言及其pyautocad模塊調用AutoCAD生成DXF文件再導入EzCad中進行刻打的方法,并基于PySide模塊編制輸入界面,提高了輸入效率,節(jié)省了總體時間。(2)DXF文件作為中間文件,結合了兩個軟件的優(yōu)點,并解決了數(shù)據(jù)存儲的問題。(3)雖然激光刻打有效率高、刻打內(nèi)容靈活的特點,但在刻打過程中容易形成煙塵,長期吸入對人體健康有害。在條件不允許重新設計刻打機時,應盡量在寬敞、通風處進行刻打,刻打人員也應佩戴好口罩等防護用品。
作者:郭星星 余建勇 單位:中國鐵路鄭州局集團有限公司 鄭州鐵路職業(yè)技術學院