国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Pro/E二次開發(fā)和Matlab聯合的火炮身管設計

2014-09-01 05:33:21李正偉高躍飛徐鳳軍
火炮發(fā)射與控制學報 2014年4期
關鍵詞:身管火炮二次開發(fā)

李正偉,高躍飛,柯 彪,徐鳳軍

(1.中北大學 機電工程學院,山西 太原 030051;2.西北機電工程研究所,陜西 咸陽 712099;3.中國兵器裝備研究院,北京 102202)

基于Pro/E二次開發(fā)和Matlab聯合的火炮身管設計

李正偉1,高躍飛1,柯 彪2,徐鳳軍3

(1.中北大學 機電工程學院,山西 太原 030051;2.西北機電工程研究所,陜西 咸陽 712099;3.中國兵器裝備研究院,北京 102202)

根據火炮結構設計的特點,利用計算機輔助設計技術,將火炮身管的設計計算和實體建模集成在一個設計環(huán)境下進行,可無縫銜接各個設計環(huán)節(jié),自動完成零件的參數化建模,從而可提高設計效率。基于Pro/TOOLKIT對Pro/E進行了用戶界面的定制,同時利用C++完成Pro/E與Matlab的接口設計,在Pro/E環(huán)境下實現了火炮身管的設計計算,并根據計算的外形尺寸數據自動完成身管的實體建模。此方法也可為火炮其他零件的設計與參數化建模的集成設計提供參考。

Pro/E二次開發(fā);Matlab;身管設計; 參數化建模

身管是炮身的主要零件,發(fā)射時承受高溫、高壓、高速火藥氣體的作用[1]。對于身管設計,火炮戰(zhàn)術技術要求不同,其設計程序也不一樣;另外,還要考慮諸多因素,如火炮發(fā)射時身管承受的各種力、炮膛結構、強度校核及身管與其他部件的配合等因素。傳統(tǒng)身管設計人工勞動量大且數據多,不易整理和有效利用,另外,身管模型不易快速創(chuàng)建和參數化。文獻[2]利用基于Automation GATEWAY的Pro/E二次開發(fā)通過參數對零件模型的驅動實現了炮身的參數化建模。文獻[3]利用基于SolidWorks的二次開發(fā)實現了對加農炮身管模型的參數化驅動。文獻[4]通過編寫定制的GUI應用在ABAQUS中實現了火炮參數化建模。上述參數化建模均是利用身管設計完成后的有關數據來進行操作的,并沒有考慮身管的設計問題。文獻[5]將各種工具集成在Flexware開發(fā)工具中,提出了一種模板化設計的方法來實現火炮身管的設計并對身管模型進行參數化建模,此方法模板較多且設計界面和參數化建模并不在同一環(huán)境下。因此筆者采用基于Pro/TOOLKIT應用程序的Pro/E二次開發(fā)和Matlab的聯合來實現火炮身管的設計和參數化建模,簡化了設計過程,使身管設計和參數化建模集成在Pro/E環(huán)境即同一環(huán)境下進行,從而使得設計人員精力集中在設計問題上,而不是在建模的細節(jié)上。此外,該方法可減少使用工具,縮短研發(fā)周期,提高設計效率。

1 使用工具

1.1 Pro/E

Automation GATEWAY是針對Pro/E軟件二次開發(fā)的程序接口,雖然簡單易用,但利用此程序接口不能訪問Pro/E所有的底層資源;Pro/TOOLKIT是PTC公司為Pro/E軟件定制的開發(fā)工具包,利用它幾乎可以直接訪問Pro/E軟件所有的底層資源,可以對Pro/E進行深層次的二次開發(fā)。所謂的Pro/TOOLKIT應用程序是指利用Pro/E軟件自帶的Pro/TOOLKIT工具包,C語言進行程序設計,采用C編譯器和鏈接器創(chuàng)建能夠在Pro/E環(huán)境中運行的可執(zhí)行程序或動態(tài)鏈接庫形式的程序[6]。因此,筆者用基于Pro/TOOLKIT應用程序的Pro/E二次開發(fā)在Pro/E環(huán)境下進行菜單項和設計界面的定制來實現火炮身管的的設計和參數化建模。

1.2 Visual Studio 2008

根據Pro/TOOLKIT應用程序的定義,采用C++語言并選擇編程軟件Visual Studio 2008,利用Pro/TOOLKIT提供的函數庫和頭文件編寫代碼,然后編寫計算程序,最后在軟件中設置有關屬性,使程序能夠順利的進行編譯。

MFC(Microsoft Foundation Class)是VC++程序的一個重要的軟件資源,可以實現程序界面的可視化設計[6],且人機交互性好,十分方便頁面的布局、修改和調試。MFC對話框模式有模式對話框和無模式對話框兩種,身管設計界面選用無模式對話框,因其在狀態(tài)激活時可以不用關閉對話框就能激活另外的窗口。在Pro/E軟件菜單欄中,點擊指定的菜單項后就可以打開MFC無模式對話框即身管的設計界面。因此Pro/E軟件既是設計界面的載體,也是身管模型創(chuàng)建的工具。故在Pro/E環(huán)境下,身管設計完成后,能直接對身管模型進行參數化建模,方便觀察關鍵參數的變化對身管模型的影響。

1.3 Matlab

Matlab軟件是一款科學計算軟件,使用方便,代碼語言簡潔、運算高效。身管設計過程中計算量大且復雜,若用C++語言編寫計算程序則不易實現,而利用Matlab軟件編寫計算程序則可以很好的解決這個問題。根據1.1和1.2所述,程序的編譯是在Visual Studio 2008中進行的,因此,關鍵的問題是Matlab軟件編寫的計算程序如何集成在C++程序中并在Pro/E環(huán)境下后臺運行,即C++如何調用Matlab。

C++調用Matlab的方法主要有調用Matlab計算引擎、包含m文件轉換成的C/C++文件和調用m文件生成的DLL文件3種方法[7],筆者則采用第3種方法即利用Matlab自己的代碼編譯器mcc將m文件代碼轉換成DLL庫(動態(tài)鏈接庫)。具體做法是在Matlab中輸入如下命令(xx為m文件名,xxx為轉換生成后的文件名):

mcc -W lib:xxx -T link:lib xx

編譯后在Matlab工作路徑下得到的xxx.h、xxx.lib和xxx.dll文件為所需要的文件,將這些文件移動到VC++程序工作路徑下并在程序中添加它們,另外還需要在程序中添加如下代碼:

#pragma comment(lib, "mclmcrrt.lib")

其中mclmcrrt.lib為Matlab提供的庫文件,它使得m代碼的dll文件能夠在程序中順利的編譯。

在xxx.h頭文件中,xxxInitialize()函數用來初始化對xxx.dll文件的調用,xxxTerminate()函數用來終止xxx.dll文件的調用,兩者必須有且同時出現,否則程序調用xxx.dll文件時會出現錯誤。

綜上所述,Visual Studio 2008軟件用來進行身管設計界面的設計和Pro/TOOLKIT應用程序的編譯,Matlab軟件用來編寫計算程序并利用C++調用 Matlab的方法使計算程序在Pro/E環(huán)境下后臺運行,而身管的設計過程和三維模型的創(chuàng)建最終是在Pro/E軟件中完成的。

2 身管設計

2.1 設計方法

炮身通常由身管、炮閂和炮尾及其他一些輔助裝置例如炮口制退器等組成,身管又有多種種類,筆者則選擇單筒線膛身管進行設計。

線膛身管的內部結構由藥室、坡膛和膛線3部分組成。炮膛設計時,既可參考現有結構,也可根據火炮總體的要求進行新的結構改進,以滿足設計要求。

身管外形設計時則需要按照身管強度設計理論的進行身管強度極限的分析與計算,并需要考慮身管與炮身其他部件的配合。

身管模型的創(chuàng)建,主要依據是最終得到的身管的內、外徑數據,因單筒身管是一個管狀零件,故對身管模型截面進行劃分,將內、外徑數據轉換成各截面端點的坐標值,然后由旋轉等命令自動旋轉生成身管三維模型。

2.2 設計思路

根據身管設計的相關知識,采用如圖1所示的流程圖來進行整體設計的布置,主要分為3部分:炮膛結構設計;外形結構設計;身管參數化建模。

2.3 炮膛結構設計

在藥室結構設計中,需要選擇藥筒定裝式或藥筒分裝式的藥室結構,然后調用數據庫后即可對炮膛結構參量(本體、連接錐和全長)進行調整和修改。坡膛一般被認為包括在藥室結構中,因此在藥室結構設計好后,就可以選擇坡膛是一錐度還是兩錐度,并輸入其大端直徑等參數。膛線設計較復雜,需要選擇身管的材料(從數據庫中提取)和輸入膛線各參量(膛線的寬度、深度和數目)等一系列參數,最后采用第三強度理論的相當應力進行膛線強度的校核。這3部分結構設計完成后就可以將身管內徑方向上的數據 和有關數據保存到指定的數據庫中,方便后續(xù)部分的提取。

2.4 外形結構設計

由于火炮發(fā)射時伴隨的各種物理化學現象難以準確掌握,身管內部受力也較復雜,因此,根據基本假設[8]在Matlab中編寫內彈道方程組并轉換成相關文件,在輸入原始數據后,后臺自動運行Matlab并進行內彈道程序的計算,完成后會得到炮口膛壓和最大膛壓兩個重要參量,并可得到p-t、p-l、v-t、v-l曲線和相關數據。根據上述相關參數可進行身管高低溫壓力曲線的計算和繪制,選擇身管各部分的安全系數和身管的材料后就可以進行身管理論強度曲線的計算。最后,根據外徑計算公式[1]就可以確定身管的理論外形并可繪制身管的理論外形圖,公式為

式中:d1為炮膛結構設計得到的身管內徑;σp為選擇的身管材料的比例極限;P1為身管理論強度極限。

上述步驟完成后將外徑方向上的數據d2和有關數據保存到指定的數據庫中。

2.5 身管參數化建模

炮膛和外形兩部分結構設計完成后,將內徑、外徑數據提取出來并對身管的截面進行劃分,并將內、外徑數據和相關數據顯示在設計界面上。在界面上可根據總體要求和身管與其他部件的連接對外形進行調整,根據調整后的理論外形進行身管的實際強度極限和實際安全系數的校驗,若結果不滿足要求則繼續(xù)調整外形直至達到要求為止。完成后的數據保存到指定的數據庫中,并將身管的內、外徑數據按照一定的格式保存到指定的以.txt為擴展名的文本文件中。在Pro/E軟件中新建一個零件后,點擊界面上的按鈕,程序將自動讀取此文本文件,最后生成身管模型。

2.6 身管設計過程中的數據流程

身管設計過程中,數據多且有些數據需要重復使用,故采用數據庫知識對數據進行整理和調用。身管設計時,先將有關內彈道數據及定裝式藥筒藥室結構參量、身管材料等有關數據存入到數據庫中,以便設計過程中隨時調用。

2.7 實例

以某57 mm高射炮[8]為例,在Visual Studio 2008中新建一個MFC DLL文件,命名為Barrel后,進行相關屬性的配置,然后將在Matlab中編寫的計算代碼文件進行轉換并將轉換后的相關文件添加到程序中,編寫相關代碼后進行程序的編譯,編譯完成后最終生成DLL文件,最后啟動Pro/TOOLKIT應用程序。本實例采用批處理啟動方法,優(yōu)點是較傳統(tǒng)方法大大簡化了操作步驟,非常快捷,方法是在當前路徑下,新建一個文本文件并以.bat作為擴展名,完成后鼠標雙擊此文件即可,文件內容如下:

cd /d %~dp0

"(Pro/ENGINEER安裝路徑)proeWildfire 5.0inproe.exe"

成功加載Pro/TOOLKIT應用程序后的Pro/E軟件菜單項如圖2所示。

執(zhí)行【身管】|【炮膛結構設計】,彈出如圖3所示的對話框。在藥室結構設計中,調取數據庫選擇57 mm高射炮藥室結構有關數據后就可以對相關參數進行修改,坡膛和膛線兩部分結構設計類似,完成設計后將內徑d1保存即可。

執(zhí)行【身管】|【外形結構設計】,彈出如圖4所示的對話框。

點擊【連接數據庫】后選擇57 mm高射炮內彈道數據,則有關數據會在界面中顯示,根據炮膛結構設計所得結果輸入相關數據后按照順序進行操作即可,所有計算程序均在后臺運行。

執(zhí)行【身管】|【身管參數化建模】,彈出如圖5所示的對話框,點擊【提取數據】按鈕,則可直觀地看到有關數據的關聯并可對關鍵參數進行調整。點擊【身管建?!堪粹o,則程序自動讀取指定的文本文件后直接生成身管三維模型。

其中程序讀取文本過程如圖6所示。x_t格式文件即Parasolid文件為中性文件,可以在大多數CAD/CAE軟件中通用,例如將身管模型的此格式文件導入到ABAQUS中對其進行強度分析?!緦С鰔_t】按鈕可以使身管模型重復使用并和仿真分析軟件緊密的連接起來。

3 結束語

本文基于Pro/TOOLKIT應用程序對Pro/E進行了二次開發(fā),定制了Pro/E環(huán)境下火炮身管設計與建模的菜單項和用戶界面,通過C++調用Matlab的方法使計算程序能夠在Pro/E環(huán)境下后臺運行,實現了火炮身管的設計和參數化建模。實例表明,利用Pro/E二次開發(fā)和Matlab軟件的結合可以將身管的設計過程和模型的建立均集成在Pro/E環(huán)境下進行,避免了在不同軟件環(huán)境下分散設計與建模的缺點,可顯著提高設計效率,而且可利用得到的x_t文件導入到其他CAD/CAE軟件中,從而對身管模型作進一步的處理來滿足特定的需要。該方法可適用于火炮其他零件的設計和參數化建模,最終可實現火炮零件設計的數字化。

References)

[1]潘玉田. 炮身設計[M]. 北京:兵器工業(yè)出版社,2007. PAN Yutian. Design of gun body[M].Beijing: The Publishing House of Ordnance Industry, 2007. (in Chinese)

[2]朱大偉,錢林方,徐亞棟. 基于Pro/E的炮身參數化設[J]. 火炮發(fā)射與控制學報,2013(4):35-38. ZHU Dawei, QIAN Linfang, XU Yadong. Paramete-rized design of barrel assembly based on Pro/E[J]. Journal of Gun Launch & Control, 2013(4):35-38. (in Chinese)

[3]梁振剛,劉耀,王冬. 基于SolidWorks的加農炮三維參數化建模[J]. 四川兵工學報,2012,33(2):14-15. LIANG Zhengang, LIU Yao, WANG Dong. 3D paramteric modeling based on SolidWorks cannon barrel [J]. Journal of Sichuan Ordnance, 2012,33(2):14-15. (in Chinese)

[4]李猛,于存貴,崔二巍,等. ABAQUS二次開發(fā)在火炮參數化建模中的應用[J]. 四川兵工學報,2013,34(9):41-43. LI Meng, YU Cungui, CUI Erwei, et al. Secondary development of ABAQUS and its application in creating parametric model of artillery[J]. Journal of Sichuan Ordnance, 2013,34(9):41-43. (in Chinese)

[5]趙萌,溫波,王在森,等. 一種火炮身管的模板化設計方法[J]. 火炮發(fā)射與控制學報,2013(2):46-50. ZHAO Meng, WEN Bo, WANG Zaisen, et al. A kind of template design method of gun barrel[J]. Journal of Gun Launch & Control, 2013(2):46-50. (in Chinese)

[6]李世國. Pro/TOOLKIT程序設計[M]. 北京:機械工業(yè)版社,2003. LI Shiguo. Pro/TOOLKIT program design[M]. Beijing: China Machine Press,2003. (in Chinese).

[7]潘大夫,汪渤,周志強. Matlab與C/C++混合編程技術研究[J]. 計算機工程與設計,2009,30(2):465-468. PAN Dafu, WANG Bo, Zhou Zhiqiang. Research on mixed programming technology of Matlab and C/C++[J]. Computer Engineering and Design, 2009,30(2):465-468. (in Chinese)

[8]金志明. 槍炮內彈道學[M]. 北京:北京理工大學出版社,2004. JIN Zhiming. Gun interior ballistics[M]. Beijing: Beijing Institute of Technology Press, 2004. (in Chinese)

GunBarrelDesignBasedonCombiningPro/ECustomizedDevelopmentwithMatlab

LI Zhengwei1, GAO Yuefei1, KE Biao2, XU Fengjun3

(1.Mechatronic Engineering College ,North University of China, Taiyuan 030051, Shanxi, China;2.Northwest Institute of Mechanical & Electrical Engineering, Xianyang 712099, Shaanxi, China;3.China Ordnance Equipment Research Institute, Beijing 102202, China)

According to the characteristics of the gun structure design, the design calculation and the solid modeling of the gun barrel were integrated into a design environment with the help of the technology of CAD to carry out the seamless connection with each design process and to automatically establish the parametric modeling of the part, thus this method can improve the design efficiency. Based on the Pro/TOOLKIT that was used to customize the user interface for Pro/E and the C++that was used to finish the interface design between Pro/E and Matlab, the design calculation of the gun barrel was implemented under the condition of the Pro/E, as well as the solid modeling of the barrel was performed automatically based on the dimension data after the calculation. This method can provide the reference for the integration of the design and parametric modeling of other parts of the gun.

Pro/E customized development; Matlab; barrel design; parametric modeling

2014-03-28;

2014-07-19

李正偉(1989-),男,碩士,主要從事武器系統(tǒng)動力學與仿真技術研究。E-mail:zhanwei100@163.com

TJ303

A

1673-6524(2014)04-0020-05

猜你喜歡
身管火炮二次開發(fā)
火炮身管壽命評估方法及其標準研究
火炮也減肥
淺談基于Revit平臺的二次開發(fā)
甘肅科技(2020年20期)2020-04-13 00:30:02
淺談Mastercam后處理器的二次開發(fā)
模具制造(2019年3期)2019-06-06 02:11:02
基于垂向固有振動仿真的身管口徑倍數設計研究
基于數值仿真的四種類型身管強度比較
機械工程師(2018年6期)2018-06-14 06:12:28
西門子Easy Screen對倒棱機床界面二次開發(fā)
基于Pro/E二次開發(fā)的推土鏟參數化模塊開發(fā)
身管兵器
陸戰(zhàn)之神——火炮
洛南县| 湛江市| 濮阳市| 邛崃市| 长葛市| 竹山县| 莫力| 仙桃市| 苏尼特右旗| 平远县| 科技| 高尔夫| 濮阳县| 津市市| 大城县| 杨浦区| 恩施市| 巢湖市| 青海省| 军事| 调兵山市| 广平县| 岳西县| 弥勒县| 拉孜县| 兴安盟| 星子县| 甘洛县| 衡山县| 新乡县| 鄢陵县| 霍邱县| 晋江市| 仙游县| 成安县| 鄂伦春自治旗| 全州县| 林口县| 玛沁县| 敦化市| 忻城县|