運(yùn)用proeNGINEER設(shè)計(jì)炮用發(fā)射藥筒
2013-07-14 by:廣州proe/creo培訓(xùn)中心 來源:仿真在線
運(yùn)用proeNGINEER設(shè)計(jì)炮用發(fā)射藥筒
1 引言
傳統(tǒng)的藥筒設(shè)計(jì)是一個(gè)相當(dāng)煩瑣的過程,設(shè)計(jì)人員被動地往返于公式和手冊之間,借助計(jì)算器一點(diǎn)一點(diǎn)地計(jì)算。這當(dāng)中有任何失誤都必須從頭再來,即使計(jì)算過程中沒有任何失誤,當(dāng)計(jì)算結(jié)果不合適時(shí),一切也必須從頭再來。一個(gè)熟練的設(shè)計(jì)人員,在藥筒設(shè)計(jì)過程中,簡單的計(jì)算一遍就需要一個(gè)星期以上時(shí)間。如何使這一設(shè)計(jì)過程變的簡單、直觀,對設(shè)計(jì)人員來說十分迫切。針對這一問題,本文給出了基于proeNGINEER快速建模并結(jié)合炮用發(fā)射藥筒理論設(shè)計(jì)的約束條件,給出了快速設(shè)計(jì)的方法及實(shí)例。
2 炮用發(fā)射藥筒結(jié)構(gòu)分析及建模的約束方程
藥筒的設(shè)計(jì)與火炮、彈丸及裝藥設(shè)計(jì)密切相關(guān)。本文以配制式火炮為例。藥筒的設(shè)計(jì)主要受藥室形狀及彈丸結(jié)構(gòu)限制。
主要結(jié)構(gòu)尺寸計(jì)算公式如下:
f1 : Dk=Dd-2U0k f2 : Lk=(0.20 ~ 0.30)d f3 : d k=Dk-2tk
f4 : Dy=Dj f7 : Dj=Da-2U0j f8 : Ly=La
f9 : td=(0.06 ~ 0.15)Dj f10 : ty=Sp-x0
式中:
Dk-筒口部外徑; U0k-口部初始間隙;
dk-口部內(nèi)徑; la -接際部初始間隙;
Dj-接際部直徑; Lk-口部長度
U0j-接際部初始間隙; Ly-筒體外部長度
td-底部厚度; ty.-底緣厚度;
Sp-炮栓鏡面至藥室尾端面距離; x0-藥筒地平面與栓體鏡面的初始間隙;
這些方程中共有12個(gè)已知參數(shù)(Dd、U0k、d、Dj、U0x、lb、la、Da 、U0j 、La、Sp、x0)和8個(gè)未知參數(shù)(Dk、dk、Dy、Dj、Ly、td、ty、Lk),已知參數(shù)由設(shè)計(jì)者給定。當(dāng)改變了已知參數(shù)時(shí)未知參數(shù)也隨之改變。
可以通過約束圖利用圖解法解出未知變量。
3 快速建模實(shí)現(xiàn)方法
快速建模就是通過輸入?yún)?shù),由proeNGINEER系統(tǒng)快速產(chǎn)生模型的過程,模型的相關(guān)屬性也可自動給出。proeNGINEER提供了強(qiáng)大的用戶二次開發(fā)程序包Pro/Toolkit,通過它可以直接對proeNGINEER的數(shù)據(jù)庫進(jìn)行操作。本文即以Pro/Toolkit為開發(fā)工具,實(shí)現(xiàn)了藥筒的快速設(shè)計(jì)與建模。proeNGINEER的快速建模二次開發(fā)包括以下幾部分。
3.1 用戶接口
用戶接口是人機(jī)交互的界面,它包括菜單及菜單文件兩部分。菜單文件擴(kuò)展名為*.mnu或*.aux。*.mnu菜單完全獨(dú)立于已有菜單,*.aux則附加于已有菜單。菜單文件有固定格式,每組數(shù)據(jù)分三行,每一個(gè)菜單按鈕對應(yīng)一組數(shù)據(jù)。菜單文件為純文本文件。
3.2 信息文件
信息文件包括了類型無關(guān)菜單以及數(shù)據(jù)輸入提示等所有文本信息,它和菜單文件一樣,也是使用表單的形式,每四行為一組。使用表結(jié)構(gòu)的好處是當(dāng)需要改動程序顯示時(shí),可以只改動信息文件,而不必改動原程序。
3.3 程序接口
在Pro/Toolkit中,其函數(shù)結(jié)構(gòu)一般如下:
User_Appone() { } 用戶功能函數(shù)
User_Apptwo() { }
......
User_initialize() { ...... } 程序入口
User_terminate() { ...... } 程序出口
其中,入口函數(shù)和出口函數(shù)是必須的,其他函數(shù)則是用戶定義函數(shù),用以實(shí)現(xiàn)一定的功能。
3.4 注冊文件
注冊文件用以指明程序運(yùn)行模式、資源位置以及程序運(yùn)行版本等。其中,運(yùn)行方式包括多線程和動態(tài)連接庫兩種。第一種方法的好處是調(diào)試比較容易。第二種方法的優(yōu)點(diǎn)是運(yùn)行速度較快,生成的文件比較小。
3.5 編譯平臺
程序的編譯需要第三方編譯平臺,如TC、Mircosoft C等。選用了Mircosoft公司的Visual C++ 6.0作為編譯平臺。利用Visual C++ 6.0的強(qiáng)大功能使得數(shù)據(jù)管理方便,調(diào)試輕松直觀。
4 藥筒的快速建模
(1)在參數(shù)輸入方面,使用了菜單結(jié)合對話框的方式,參數(shù)輸入方便直觀。Yaotong Design是在proeNGINEER的Part菜單上添加的系統(tǒng)菜單,這樣既可以實(shí)現(xiàn)用戶特定功能,又可以利用proeNGINEER平臺的強(qiáng)大功能,方便用戶設(shè)計(jì)。在模型的實(shí)現(xiàn)方面,采用了基于UDF的二次開發(fā)技術(shù),可以顯著地降低開發(fā)的工作量,提高開發(fā)靈活性。
(2)模型的接口程序和實(shí)現(xiàn)程序。以下為藥筒快速建模程序入口和出口,它注冊了菜單文件以及響應(yīng)函數(shù)。
user_initialize()
{ int menu_id ,err;
ProMenuFileRegister("PART","part. mnu",&menu_id);
ProMenuAuxfileRegister("PART","part.aux",&menu_id);
err=ProMenubuttonActionSet("part","_YaotongDesign",(ProMenubuttonAction)UserYaotongSystem,NULL,0);
return(0); }
void user_terminate(){} ;
以下為藥筒建模實(shí)現(xiàn)程序,它定義了UDF文件及驅(qū)動參數(shù)等。
UserYaotongCreate(){ ......
ProStringToWstring(data.name,"yaotongudf.gph"); 指定UDF文件
data.n_var_dims=15;
data.var_dims=(Pro_udf_var_dim*)calloc(15,sizeof(Pro_udf_var_dim));
ProStringToWstring(data.var_dims[0].name,"YTJ_zg"); 變量賦值
data.var_dims[0].type=PROUDFVAR_DIM;
data.var_dims[0].value=_YTJ_zg;
......
data.n_references=0; 指定參考基準(zhǔn)
data.dependency=PROUDFDEP_INDEPENDENT; 指定模型獨(dú)立性
prodb_create_group(p_model,&data,NULL,NULL,0); 創(chuàng)建模型
ProWindowRepaint(PRO_VALUE_UNUSED); 顯示模型
free(data.var_dims);
return(0); }
在藥筒模型生成以后,可以通過以下兩種方法修改編輯藥筒的尺寸:(1)可以直接用鼠標(biāo)雙擊需要修改的特征,選中需要修改的尺寸即可進(jìn)行交互式尺寸修改和編輯。修改后的效果可以迅速從模型上反映出來。(2)通過幾何參數(shù)輸入對話框輸入要修改結(jié)構(gòu)的尺寸數(shù)值來完成對尺寸的修改。參數(shù)輸入對話框如圖6所示,直接輸入需要修改參數(shù)的新數(shù)值即可。
相關(guān)標(biāo)簽搜索:運(yùn)用proeNGINEER設(shè)計(jì)炮用發(fā)射藥筒 紹興 無錫 proe培訓(xùn) 三維產(chǎn)品設(shè)計(jì) Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn) Abaqus培訓(xùn) Autoform培訓(xùn) 有限元培訓(xùn) Solidworks培訓(xùn) UG模具培訓(xùn)