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