朱博文,高躍飛,王月桐,劉 松
(中北大學(xué) 機(jī)電工程學(xué)院,山西 太原 030051)
槍管作為自動(dòng)武器中核心零部件之一,是完成武器射擊的基本零件。當(dāng)前槍管設(shè)計(jì)過(guò)程中主要是借助一些通用CAD軟件完成一些諸如繪圖、三維實(shí)體建模等方面的工作,計(jì)算機(jī)為設(shè)計(jì)人員的設(shè)計(jì)工作提供了一定的輔助作用,但是設(shè)計(jì)的自動(dòng)化程度低[1]、用戶友好性差,并且在槍管設(shè)計(jì)過(guò)程中需要多種軟件交互操作,設(shè)計(jì)人員需要耗費(fèi)大量的時(shí)間來(lái)完成多個(gè)軟件工具操作等繁瑣的工作。槍管是一種較為典型的零件,在實(shí)際設(shè)計(jì)中其幾何拓?fù)潢P(guān)系變化不大,而結(jié)構(gòu)尺寸卻需要隨時(shí)調(diào)整,這樣就會(huì)產(chǎn)生大量的重復(fù)設(shè)計(jì),增加勞動(dòng)與時(shí)間成本,基于UG二次開發(fā)模塊開發(fā)的參數(shù)化建模功能可有效解決這種重復(fù)設(shè)計(jì)問(wèn)題[2-4]。
筆者以UG /NX 8.0軟件相關(guān)二次開發(fā)模塊為基礎(chǔ),以槍管設(shè)計(jì)計(jì)算及參數(shù)化建模為重點(diǎn),將槍管設(shè)計(jì)經(jīng)驗(yàn)和流程以向?qū)问郊右怨袒?,形成槍管快速設(shè)計(jì)與分析的模塊開發(fā)方法。并通過(guò)UG/Open API和C++與MATLAB混合編程方法完成了后臺(tái)程序的設(shè)計(jì)計(jì)算和參數(shù)化建模,充分保留C++的簡(jiǎn)單、快捷及自由性和MATLAB強(qiáng)大的圖像處理功能,使得設(shè)計(jì)人員不必使用其他軟件工具,只需在UG環(huán)境中即可獨(dú)立完成槍管設(shè)計(jì)各個(gè)步驟,不必耗費(fèi)大量的時(shí)間對(duì)設(shè)計(jì)人員進(jìn)行理論知識(shí)和軟件應(yīng)用方面的培訓(xùn)。使設(shè)計(jì)人員從大量復(fù)雜而瑣碎的設(shè)計(jì)計(jì)算、手工繪圖、實(shí)體建模的工作中解脫出來(lái),從而集中精力于設(shè)計(jì)創(chuàng)新,極大地提高了槍管設(shè)計(jì)效率,縮短研發(fā)周期,并減少了過(guò)程信息的存儲(chǔ)量。
槍管在設(shè)計(jì)過(guò)程中,首先需根據(jù)槍管設(shè)計(jì)的相關(guān)知識(shí)和槍管設(shè)計(jì)要求,提取相關(guān)設(shè)計(jì)參數(shù),為后續(xù)設(shè)計(jì)提供數(shù)據(jù)基礎(chǔ)。內(nèi)膛結(jié)構(gòu)設(shè)計(jì)主要包括結(jié)構(gòu)形式的確定和相關(guān)參數(shù)的設(shè)置。外形結(jié)構(gòu)設(shè)計(jì)則是對(duì)槍管材料、安全系數(shù)等的選取以及外形調(diào)整。在內(nèi)膛及外形設(shè)計(jì)完成后,可得到槍管的實(shí)體模型,以此模型為基礎(chǔ),對(duì)槍管進(jìn)行有限元分析計(jì)算。
對(duì)于內(nèi)膛結(jié)構(gòu)設(shè)計(jì),其結(jié)構(gòu)形式和結(jié)構(gòu)參數(shù)的選擇均由設(shè)計(jì)人員來(lái)完成。在線膛設(shè)計(jì)中,需要選擇矩形膛線、梯形膛線、圓形膛線等線膛截面形狀,并輸入膛線數(shù)、膛線深度、導(dǎo)程等參數(shù),就可得到相應(yīng)結(jié)構(gòu)形式的線膛特征。
彈膛設(shè)計(jì)與線膛設(shè)計(jì)類似,也是通過(guò)設(shè)計(jì)人員選擇椎體個(gè)數(shù)后,輸入各椎體的大端直徑以及椎體到槍管尾端的距離等參數(shù),相較比線膛復(fù)雜的一方面就是需要考慮彈膛開槽的形式。
另外,在確定內(nèi)膛結(jié)構(gòu)后,內(nèi)膛結(jié)構(gòu)部分參數(shù)會(huì)以數(shù)據(jù)文件的形式保存起來(lái),供后續(xù)內(nèi)彈道計(jì)算調(diào)用。
設(shè)計(jì)槍管的外形時(shí),首先應(yīng)進(jìn)行強(qiáng)度計(jì)算,以決定各主要斷面的壁厚。并根據(jù)槍管與其結(jié)合零件的大小和所在的部位,考慮工藝要求、剛度和熱容量等因素來(lái)調(diào)整槍管的外形,使之成為滿足強(qiáng)度要求、形狀規(guī)則的槍管[5]。
槍管在射擊時(shí)受到的力很復(fù)雜,有彈頭在內(nèi)膛中運(yùn)動(dòng)的力,槍身后坐力和火藥氣體壓力等。因此,根據(jù)基本假設(shè)[6]在MATLAB中編寫相應(yīng)內(nèi)彈道方程,并以C++與MATLAB混合編程技術(shù),開發(fā)一個(gè)以MFC為界面、MATLAB為后臺(tái)計(jì)算程序的內(nèi)彈道計(jì)算模塊。
威縣的葡萄基地則是我國(guó)五大葡萄產(chǎn)區(qū)中唯一符合最適宜區(qū)7項(xiàng)指標(biāo)要求的優(yōu)生區(qū),常年種植優(yōu)質(zhì)葡萄10萬(wàn)畝以上。近年來(lái),威縣按照供給側(cè)改革發(fā)展理念,通過(guò)產(chǎn)業(yè)結(jié)構(gòu)調(diào)整,大力發(fā)揮葡萄種植科普示范基地、葡萄種植專業(yè)合作社等組織的作用,引導(dǎo)農(nóng)戶強(qiáng)力推廣成熟的葡萄種植技術(shù)和優(yōu)質(zhì)的葡萄品種,使威縣葡萄種植產(chǎn)業(yè)逐步成為帶動(dòng)農(nóng)民增收致富的又一大主導(dǎo)產(chǎn)業(yè)。
本模塊的開發(fā)重點(diǎn)是MATLAB文件如何生成DLL文件和C++如何調(diào)用DLL文件。筆者在MARLAB 2010b中,通過(guò)Deployment Tool工具直接將m文件轉(zhuǎn)化,生成相對(duì)應(yīng)的頭文件、庫(kù)文件和dll文件,供后續(xù)調(diào)用。將生成的文件移動(dòng)到VC++程序工作路徑下,并在VS 2010編譯平臺(tái)下添加附加依賴項(xiàng)和設(shè)置附加包含目錄,完成編程環(huán)境的設(shè)置。
編程環(huán)境設(shè)置完成后,即可對(duì)MATLAB文件的函數(shù)進(jìn)行調(diào)用,從而實(shí)現(xiàn)C++對(duì)MATLAB程序的調(diào)用,完成混和編程。內(nèi)彈道程序編寫完成后,可生成獨(dú)立運(yùn)行程序(*.exe)。這樣,內(nèi)彈道模塊既可獨(dú)立運(yùn)行,也可通過(guò)system函數(shù)在VC++中隨時(shí)調(diào)用。
輸入原始數(shù)據(jù)并進(jìn)行內(nèi)彈道計(jì)算后,便可得到相關(guān)內(nèi)彈道數(shù)據(jù),并以此進(jìn)行槍管平均壓力曲線或高低溫壓力曲線的計(jì)算和繪制,平均壓力法處理界面如圖2所示。
選擇槍管各部分安全系數(shù)和槍管材料后,就可得到槍管理論強(qiáng)度曲線。最后,根據(jù)槍管外徑計(jì)算公式[5]確定槍管各主要截面的外徑,以此繪制槍管的理論外形,公式為
(1)
式中:r1為槍管內(nèi)膛結(jié)構(gòu)設(shè)計(jì)得出的內(nèi)徑;r2為得出的理論外徑;n為各部分的安全系數(shù);p為各部分膛壓;σs為材料屈服極限。
以上步驟完成后,有關(guān)數(shù)據(jù)將會(huì)保持到指定位置的系統(tǒng)初始化文件(*.ini)中,供后續(xù)調(diào)用或存儲(chǔ)。
在UG環(huán)境下應(yīng)用UG表達(dá)式的功能建立槍管參數(shù)化模型, 并通過(guò)UG/Open的二次開發(fā)功能完成槍管的系統(tǒng)化開發(fā)。本軟件使用UG二次開發(fā)模塊BlockUIStyler設(shè)計(jì)相關(guān)對(duì)話框,并保存為*.cpp、*.hpp、*.dlx3個(gè)文件,用VS2010編譯器調(diào)用*.cpp、*.hpp的文件,編譯生成*.dll文件,等待調(diào)用[7-8];編輯UG軟件中的MenuScript文件進(jìn)行菜單界面設(shè)計(jì),并保存在用戶目錄的startup子目錄下,進(jìn)行聯(lián)合開發(fā)。
新建文本文件,寫入相關(guān)代碼,修改擴(kuò)展名為*.men文件,并將其放入用戶開發(fā)子目錄startup下,即可通過(guò)UG/OpenMenuScript制作協(xié)調(diào)于UG的新菜單。UG啟動(dòng)后,系統(tǒng)會(huì)自動(dòng)調(diào)用用戶注冊(cè)目錄下的菜單文件和工具欄腳本文件中的信息,在UG指定位置顯示菜單如圖3所示。
利用UG/OpenBlockUIStyler定制用戶對(duì)話框。進(jìn)入塊UI樣式編輯器,在設(shè)計(jì)對(duì)話框中添加向?qū)?、膛線數(shù)、膛線尺寸、彈膛錐數(shù)、內(nèi)彈道計(jì)算按鈕等,并添加對(duì)應(yīng)的位圖文件,調(diào)整各個(gè)控件的相對(duì)位置。完成后的效果圖如圖4所示。
通過(guò)修改槍管模板模型的尺寸參數(shù)來(lái)實(shí)現(xiàn)參數(shù)化建模。模板模型庫(kù)事先用手工方式建立,建立過(guò)程中定義重要尺寸的表達(dá)式,這些特定的驅(qū)動(dòng)參數(shù)包括:槍口形狀、彈膛錐數(shù)、膛線數(shù)、膛線形狀、外形參數(shù)等,并與指定對(duì)話框的控件相關(guān)聯(lián),保存在程序指向的目錄下。
由于槍管特征較多,所需建立的模板也很多,若只采用手工方式建立模板,需要大量的時(shí)間來(lái)完成模板的創(chuàng)建,而產(chǎn)生的模板數(shù)量也很多,這為軟件的運(yùn)行造成了不便。若只采用后臺(tái)程序建模,也需要大量的精力來(lái)完成。所以筆者采用UG/OpenAPI與手工方式相互結(jié)合的方法完成參數(shù)化模型的創(chuàng)建,節(jié)省了存儲(chǔ)空間和工作量。
參數(shù)化建模的基本過(guò)程是:運(yùn)行槍管設(shè)計(jì)分析平臺(tái)→參數(shù)化建?!鷨?dòng)UGNX→打開模板文件→修改驅(qū)動(dòng)尺寸→根據(jù)新尺寸重建模型→存儲(chǔ)新文件→關(guān)閉UGNX。
本軟件以VS2010編譯器和UG/NX8.0為開發(fā)平臺(tái)。首先將“:UGUGOPENvs_files”下的VB、VC、VC# 3個(gè)文件夾替換到VS2010目錄下對(duì)應(yīng)的文件夾下;在VS2010中新建一個(gè)NX8OpenWizard1項(xiàng)目模板文件;將BlockUIStyler生成的*.cpp、*.hpp文件替換到項(xiàng)目文件中,編寫相應(yīng)的回調(diào)函數(shù),生成動(dòng)態(tài)鏈接庫(kù)文件(*.dll),供菜單項(xiàng)調(diào)用。系統(tǒng)實(shí)現(xiàn)流程如圖5所示。
本模塊主要是為了實(shí)現(xiàn)UG的各個(gè)模塊數(shù)據(jù)的保存與提取,以及各個(gè)模塊相互之間數(shù)據(jù)的自動(dòng)傳遞。當(dāng)數(shù)據(jù)較少不必引用數(shù)據(jù)庫(kù)時(shí),可以利用文件解析與重構(gòu)技術(shù)實(shí)現(xiàn)UG系統(tǒng)數(shù)據(jù)管理,模塊的數(shù)據(jù)以文件的形式完成保存、提取和傳遞等功能,可以使系統(tǒng)各模塊相互獨(dú)立,開發(fā)的程序不會(huì)太長(zhǎng),易于修改、擴(kuò)充。
以某7.62mm自動(dòng)步槍[5]為例,啟動(dòng)UG軟件,選擇【設(shè)計(jì)分析一體化軟件】|【槍管設(shè)計(jì)分析一體化軟件】|【槍管設(shè)計(jì)分析】,如圖3所示。彈出如圖4所示的對(duì)話框,根據(jù)向?qū)Р襟E依次進(jìn)行槍管設(shè)計(jì)。
在圖4對(duì)話框中輸入內(nèi)膛結(jié)構(gòu)參數(shù),完成后,點(diǎn)擊下一步,進(jìn)入外形結(jié)構(gòu)設(shè)計(jì)對(duì)話框,如圖6所示。
外形設(shè)計(jì)完成后,單擊完成,即可在UG環(huán)境中建立槍管的實(shí)體模型,結(jié)果如圖7所示。
經(jīng)過(guò)參數(shù)化設(shè)計(jì)完成模型與原有槍管模型進(jìn)行對(duì)比,可知用本軟件設(shè)計(jì)的槍管模型符合槍管設(shè)計(jì)要求,與原有槍管模型差別可忽略不計(jì),滿足設(shè)計(jì)要求。
彈丸射擊時(shí),由于槍管的振動(dòng)會(huì)增大射角的散布,進(jìn)而影響射擊密集度。模態(tài)分析可為輕武器系統(tǒng)的振動(dòng)特性分析、射彈分布情況以及結(jié)構(gòu)動(dòng)力特性的優(yōu)化設(shè)計(jì)提供依據(jù)。
彈丸射擊時(shí)槍管發(fā)生的振動(dòng)主要有橫向振動(dòng)、縱向振動(dòng)、扭轉(zhuǎn)振動(dòng)以及幅向振動(dòng)。武器設(shè)計(jì)時(shí),要使激勵(lì)頻率避開槍管固有頻率,以免發(fā)生共振。為了保證武器良好的射擊精度,對(duì)槍管進(jìn)行模態(tài)分析是十分必要的。
NXNastran模態(tài)分析集成于UG高級(jí)仿真模塊中,用于計(jì)算和評(píng)估結(jié)構(gòu)的固有頻率,計(jì)算時(shí)不考慮阻尼和外載荷。采用Lanczos法求解,該方法精確度高,收斂速度快[9]。網(wǎng)格單元屬性類型選擇為CTETRA(4),設(shè)槍管材料屬性為:質(zhì)量密度ρ=7 800 kg/m3,楊氏模量E=210 GPa,泊松比μ=0.30,屈服強(qiáng)度σ=475 MPa。解算后,槍管有代表性的模態(tài)振型圖如圖8所示。 從振型計(jì)算結(jié)果可以看出,前10階模態(tài)中出現(xiàn)了6個(gè)固有頻率區(qū)域,3種振型,各階模態(tài)頻率中,第1、2階模態(tài)頻率最低,在89 Hz左右。以600發(fā)/min射速計(jì)算,射頻為10 Hz,意味著武器振動(dòng)周期比射擊周期小很多,能夠避開該槍管的固有頻率。最大應(yīng)變均出現(xiàn)在槍管尾端固定約束邊界位置,因此應(yīng)提高此區(qū)域的結(jié)構(gòu)強(qiáng)度。
筆者應(yīng)用UG/Open API和C++與MATLAB混合編程技術(shù),充分發(fā)揮各自的優(yōu)點(diǎn),對(duì)UG進(jìn)行二次開發(fā)。將槍管設(shè)計(jì)經(jīng)驗(yàn)和流程以向?qū)问郊右怨袒?,定制了協(xié)調(diào)于UG環(huán)境下的槍管設(shè)計(jì)向?qū)?duì)話框和菜單,實(shí)現(xiàn)了槍管的設(shè)計(jì)分析和參數(shù)化建模,使得在UG軟件本身即可獨(dú)立完成槍管的設(shè)計(jì)分析過(guò)程。極大地提高了設(shè)計(jì)效率,且為槍管的系列化和建立槍管數(shù)據(jù)庫(kù)提供了基礎(chǔ)。
根據(jù)實(shí)際應(yīng)用中的需要,利用UG自帶有限元模塊NX Nastran對(duì)槍管的固有頻率、振型進(jìn)行了模態(tài)分析,對(duì)槍管結(jié)構(gòu)進(jìn)行動(dòng)態(tài)性能評(píng)估,為后續(xù)的設(shè)計(jì)工作提供合適的動(dòng)頻率參數(shù),避免設(shè)計(jì)槍管時(shí)發(fā)生共振現(xiàn)象。
References)
[1]馬俊. 基于特征技術(shù)的UG參數(shù)化建模的研究[J]. 機(jī)械工程與自動(dòng)化,2009(6):179-180,182. MA Jun. UG’s parametric modeling based on feature technology[J]. Mechanical Engineering & Automation, 2009(6):179-180,182.(in Chinese)
[2]王峰,俞新陸.產(chǎn)品級(jí)三維參數(shù)化設(shè)計(jì)系統(tǒng)的研究與開發(fā)[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2001,13(11):1012-1018. WANG Feng, YU Xinlu. Research and development of product-dimensional parametric design system[J]. Journal of Computer Aided Design and Computer Graphics, 2001,13(11):1012-1018. (in Chinese)
[3]馬翠霞,孟祥旭.參數(shù)化設(shè)計(jì)中的對(duì)象約束模型及反向約束的研究[J].計(jì)算機(jī)學(xué)報(bào),2000,23(9):991-995. MA Cuixia,MENG Xiangxu.Research on object constraints model and inverted constraints in parametric design[J].Chinese Journal of Computers,2000,23(9):991-995.(in Chinese)
[4]史麗媛,祝錫晶,馬繼召.基于UG 參數(shù)化設(shè)計(jì)系統(tǒng)的研究[J].圖學(xué)學(xué)報(bào),2013,34(2):108-112. SHI Liyuan, ZHU Xijing, MA Jizhao. A UG-based parametric design system[J]. Journal of Graphics, 2013,34(2):108-112. (in Chinese)
[5]戴成勛,靳天佑,朵英賢.自動(dòng)武器設(shè)計(jì)新編[M].北京:國(guó)防工業(yè)出版社,1990. DAI Chengxun, JIN Tianyou, DUO Yingxian. The new compiles of automatic weapon design[M].Beijing: National Defense Industry Press,1990.(in Chinese)
[6]金志明.槍炮內(nèi)彈道學(xué)[M].北京:北京理工大學(xué)出版社,2004. JIN Zhiming. Gun interior ballistics[M].Beijing:Beijing Institute of Technology Press,2004.(in Chinese)
[7]楊宗亮, 吳兆華. UG二次開發(fā)技術(shù)及其開發(fā)技巧[J]. 機(jī)械工程師, 2007(4):112-114. YANG Zongliang, WU Zhaohua. The second development technology and development skill of UG[J].Mechanical Engineer, 2007(4):112-114. (in Chinese)
[8]周臨震, 李青祝, 秦珂. 基于UG NX系統(tǒng)的二次開發(fā)[M].鎮(zhèn)江:江蘇大學(xué)出版社, 2012. ZHOU Linzhen, LI Qingzhu, QIN Ke. Application deve-lopment using NX open[M].Zhenjing:Jiangsu University Press,2012.(in Chinese)
[9]付永濤,谷立臣,李亮,等.基于UG二次開發(fā)的變位斜齒輪參數(shù)化建模研究[J]. 機(jī)械傳動(dòng), 2014(1):62- 66. FU Yongtao, GU Lichen, LI Liang,et al. Study on parametric 3D modeling of modified helical gear based on UG secondary development[J]. Journal of Mechanical Transmission, 2014(1):62-66. (in Chinese)