proe技術-炮用發(fā)射藥筒快速設計
2013-05-18 by:廣州有限元分析、培訓中心-1CAE.COM 來源:仿真在線
CAD世界網(wǎng)
關鍵字:注冊文件 藥筒 特征 快速建模
本文介紹了以C,C++語言為工具,在proeNGINEER上利用Pro/TOOLKIT進行藥筒快速建模二次開發(fā)的方法,并給出了藥筒快速建??焖僭O計應用實例。
1 引言
傳統(tǒng)的藥筒設計是一個相當煩瑣的過程,設計人員被動地往返于公式和手冊之間,借助計算器一點一點地計算。這當中有任何失誤都必須從頭再來,即使計算過程中沒有任何失誤,當計算結果不合適時,一切也必須從頭再來。一個熟練的設計人員,在藥筒設計過程中,簡單的計算一遍就需要一個星期以上時間。如何使這一設計過程變的簡單、直觀,對設計人員來說十分迫切。針對這一問題,本文給出了基于proeNGINEER快速建模并結合炮用發(fā)射藥筒理論設計的約束條件,給出了快速設計的方法及實例。
2 炮用發(fā)射藥筒結構分析及建模的約束方程
藥筒的設計與火炮、彈丸及裝藥設計密切相關。本文以配制式火炮為例。藥筒的設計主要受藥室形狀及彈丸結構限制[1]。
圖 1 火炮藥室結構示意圖
主要結構尺寸計算公式如下:
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個已知參數(shù)(Dd、U0k、d、Dj、U0x、lb、la、Da 、U0j 、La、Sp、x0)和8個未知參數(shù)(Dk、dk、Dy、Dj、Ly、td、ty、Lk),已知參數(shù)由設計者給定。當改變了已知參數(shù)時未知參數(shù)也隨之改變。
可以通過約束圖利用圖解法解出未知變量[2]。藥筒的結構尺寸示意圖如圖3所示。
圖2 方程約束網(wǎng)絡圖
圖3 藥筒的結構尺寸示意圖
3 快速建模實現(xiàn)方法
快速建模就是通過輸入?yún)?shù),由proeNGINEER系統(tǒng)快速產(chǎn)生模型的過程,模型的相關屬性也可自動給出。proeNGINEER提供了強大的用戶二次開發(fā)程序包Pro/Toolkit,通過它可以直接對proeNGINEER的數(shù)據(jù)庫進行操作。本文即以Pro/Toolkit為開發(fā)工具,實現(xiàn)了藥筒的快速設計與建模。proeNGINEER的快速建模二次開發(fā)包括以下幾部分[3]。
3.1 用戶接口
用戶接口是人機交互的界面,它包括菜單及菜單文件兩部分。菜單文件擴展名為*.mnu或*.aux。*.mnu菜單完全獨立于已有菜單,*.aux則附加于已有菜單。菜單文件有固定格式,每組數(shù)據(jù)分三行,每一個菜單按鈕對應一組數(shù)據(jù)。菜單文件為純文本文件。
3.2 信息文件
信息文件包括了類型無關菜單以及數(shù)據(jù)輸入提示等所有文本信息,它和菜單文件一樣,也是使用表單的形式,每四行為一組。使用表結構的好處是當需要改動程序顯示時,可以只改動信息文件,而不必改動原程序。
3.3 程序接口
在Pro/Toolkit中,其函數(shù)結構一般如下:
User_Appone() { } 用戶功能函數(shù)
User_Apptwo() { }
......
User_initialize() { ...... } 程序入口
User_terminate() { ...... } 程序出口
其中,入口函數(shù)和出口函數(shù)是必須的,其他函數(shù)則是用戶定義函數(shù),用以實現(xiàn)一定的功能。
3.4 注冊文件
注冊文件用以指明程序運行模式、資源位置以及程序運行版本等。其中,運行方式包括多線程和動態(tài)連接庫兩種。第一種方法的好處是調(diào)試比較容易。第二種方法的優(yōu)點是運行速度較快,生成的文件比較小。
3.5 編譯平臺
程序的編譯需要第三方編譯平臺,如TC、Mircosoft C等。選用了Mircosoft公司的Visual C++ 6.0作為編譯平臺。利用Visual C++ 6.0的強大功能使得數(shù)據(jù)管理方便,調(diào)試輕松直觀[4]。
4 藥筒的快速建模
(1)在參數(shù)輸入方面,使用了菜單結合對話框的方式,參數(shù)輸入方便直觀。菜單結構如圖4所示。Yaotong Design是在proeNGINEER的Part菜單上添加的系統(tǒng)菜單,這樣既可以實現(xiàn)用戶特定功能,又可以利用proeNGINEER平臺的強大功能,方便用戶設計。在模型的實現(xiàn)方面,采用了基于UDF的二次開發(fā)技術,可以顯著地降低開發(fā)的工作量,提高開發(fā)靈活性。
圖4 藥筒設計菜單系統(tǒng)
(2)模型的接口程序和實現(xiàn)程序。以下為藥筒快速建模程序入口和出口,它注冊了菜單文件以及響應函數(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(){} ;
以下為藥筒建模實現(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; 指定參考基準
data.dependency=PROUDFDEP_INDEPENDENT; 指定模型獨立性
prodb_create_group(p_model,&data,NULL,NULL,0); 創(chuàng)建模型
ProWindowRepaint(PRO_VALUE_UNUSED); 顯示模型
free(data.var_dims);
return(0); }
通過以上方法產(chǎn)生的模型如圖5所示。
圖5 藥筒實體模型
圖6 藥筒幾何參數(shù)輸入界面
在藥筒模型生成以后,可以通過以下兩種方法修改編輯藥筒的尺寸:(1)可以直接用鼠標雙擊需要修改的特征,選中需要修改的尺寸即可進行交互式尺寸修改和編輯。修改后的效果可以迅速從模型上反映出來。(2)通過幾何參數(shù)輸入對話框輸入要修改結構的尺寸數(shù)值來完成對尺寸的修改。參數(shù)輸入對話框如圖6所示,直接輸入需要修改參數(shù)的新數(shù)值即可。
5 結束語
利用快速建模技術,可以大幅度提高設計效率,減輕設計人員的勞動強度,縮短產(chǎn)品設計周期,可使產(chǎn)品的設計變的直觀、輕松,可在產(chǎn)品設計的初期易于發(fā)現(xiàn)設計缺陷。產(chǎn)品可以方便地通過PDM系統(tǒng)進行管理。
相關標簽搜索:proe技術-炮用發(fā)射藥筒快速設計 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓 Abaqus培訓 Autoform培訓 有限元培訓 Solidworks培訓 UG模具培訓 PROE培訓 運動仿真