我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網(wǎng)站首頁 > Proe教程

炮用發(fā)射藥筒利用Pro/E的快速設(shè)計

時間:2011-02-23 08:42:51 來源:

  本文在Pro/ENGINEER上利用Pro/TOOLKIT進(jìn)行藥筒快速建模二次開發(fā)的方法,并給出了藥筒快速建模快速設(shè)計應(yīng)用實例。

  1 引言

  傳統(tǒng)的藥筒設(shè)計是一個相當(dāng)煩瑣的過程,設(shè)計人員被動地往返于公式和手冊之間,借助計算器一點一點地計算。這當(dāng)中有任何失誤都必須從頭再來,即使計算過程中沒有任何失誤,當(dāng)計算結(jié)果不合適時,一切也必須從頭再來。一個熟練的設(shè)計人員,在藥筒設(shè)計過程中,簡單的計算一遍就需要一個星期以上時間。如何使這一設(shè)計過程變的簡單、直觀,對設(shè)計人員來說十分迫切。針對這一問題,本文給出了基于Pro/ENGINEER快速建模并結(jié)合炮用發(fā)射藥筒理論設(shè)計的約束條件,給出了快速設(shè)計的方法及實例。

  2 炮用發(fā)射藥筒結(jié)構(gòu)分析及建模的約束方程

  藥筒的設(shè)計與火炮、彈丸及裝藥設(shè)計密切相關(guān)。本文以配制式火炮為例。藥筒的設(shè)計主要受藥室形狀及彈丸結(jié)構(gòu)限制[1]。

  


圖 1 火炮藥室結(jié)構(gòu)示意圖

  主要結(jié)構(gòu)尺寸計算公式如下:

  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è)計者給定。當(dāng)改變了已知參數(shù)時未知參數(shù)也隨之改變。

  可以通過約束圖利用圖解法解出未知變量[2]。藥筒的結(jié)構(gòu)尺寸示意圖如圖3所示。

  


圖2 方程約束網(wǎng)絡(luò)圖

  


圖3 藥筒的結(jié)構(gòu)尺寸示意圖

  3 快速建模實現(xiàn)方法

  快速建模就是通過輸入?yún)?shù),由Pro/ENGINEER系統(tǒng)快速產(chǎn)生模型的過程,模型的相關(guān)屬性也可自動給出。Pro/ENGINEER提供了強大的用戶二次開發(fā)程序包Pro/Toolkit,通過它可以直接對Pro/ENGINEER的數(shù)據(jù)庫進(jìn)行操作。本文即以Pro/Toolkit為開發(fā)工具,實現(xiàn)了藥筒的快速設(shè)計與建模。Pro/ENGINEER的快速建模二次開發(fā)包括以下幾部分[3]。

  3.1 用戶接口

  用戶接口是人機交互的界面,它包括菜單及菜單文件兩部分。菜單文件擴展名為*.mnu或*.aux。*.mnu菜單完全獨立于已有菜單,*.aux則附加于已有菜單。菜單文件有固定格式,每組數(shù)據(jù)分三行,每一個菜單按鈕對應(yīng)一組數(shù)據(jù)。菜單文件為純文本文件。

  3.2 信息文件

  信息文件包括了類型無關(guān)菜單以及數(shù)據(jù)輸入提示等所有文本信息,它和菜單文件一樣,也是使用表單的形式,每四行為一組。使用表結(jié)構(gòu)的好處是當(dāng)需要改動程序顯示時,可以只改動信息文件,而不必改動原程序。

  3.3 程序接口

  在Pro/Toolkit中,其函數(shù)結(jié)構(gòu)一般如下:

  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ù)輸入方面,使用了菜單結(jié)合對話框的方式,參數(shù)輸入方便直觀。菜單結(jié)構(gòu)如圖4所示。Yaotong Design是在Pro/ENGINEER的Part菜單上添加的系統(tǒng)菜單,這樣既可以實現(xiàn)用戶特定功能,又可以利用Pro/ENGINEER平臺的強大功能,方便用戶設(shè)計。在模型的實現(xiàn)方面,采用了基于UDF的二次開發(fā)技術(shù),可以顯著地降低開發(fā)的工作量,提高開發(fā)靈活性。

  (2)模型的接口程序和實現(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(){} ;

  以下為藥筒建模實現(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; 指定模型獨立性

  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)可以直接用鼠標(biāo)雙擊需要修改的特征,選中需要修改的尺寸即可進(jìn)行交互式尺寸修改和編輯。修改后的效果可以迅速從模型上反映出來。(2)通過幾何參數(shù)輸入對話框輸入要修改結(jié)構(gòu)的尺寸數(shù)值來完成對尺寸的修改。參數(shù)輸入對話框如圖6所示,直接輸入需要修改參數(shù)的新數(shù)值即可。

  5 結(jié)束語

  利用快速建模技術(shù),可以大幅度提高設(shè)計效率,減輕設(shè)計人員的勞動強度,縮短產(chǎn)品設(shè)計周期,可使產(chǎn)品的設(shè)計變的直觀、輕松,可在產(chǎn)品設(shè)計的初期易于發(fā)現(xiàn)設(shè)計缺陷。產(chǎn)品可以方便地通過PDM系統(tǒng)進(jìn)行管理。