久久久国产一区二区_国产精品av电影_日韩精品中文字幕一区二区三区_精品一区二区三区免费毛片爱

 找回密碼
 注冊(cè)會(huì)員

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1850|回復(fù): 0

基于Pro/ENGINEER的炮用發(fā)射藥筒的快速設(shè)計(jì)

[復(fù)制鏈接]
1#
發(fā)表于 2008-8-6 11:29:01 | 只看該作者 |倒序?yàn)g覽 |閱讀模式
1 引言3 r& f4 P; X4 w$ E8 [6 l2 O  s7 S3 r
    傳統(tǒng)的藥筒設(shè)計(jì)是一個(gè)相當(dāng)煩瑣的過(guò)程,設(shè)計(jì)人員被動(dòng)地往返于公式和手冊(cè)之間,借助計(jì)算器一點(diǎn)一點(diǎn)地計(jì)算。這當(dāng)中有任何失誤都必須從頭再來(lái),即使計(jì)算過(guò)程中沒(méi)有任何失誤,當(dāng)計(jì)算結(jié)果不合適時(shí),一切也必須從頭再來(lái)。一個(gè)熟練的設(shè)計(jì)人員,在藥筒設(shè)計(jì)過(guò)程中,簡(jiǎn)單的計(jì)算一遍就需要一個(gè)星期以上時(shí)間。如何使這一設(shè)計(jì)過(guò)程變的簡(jiǎn)單、直觀,對(duì)設(shè)計(jì)人員來(lái)說(shuō)十分迫切。針對(duì)這一問(wèn)題,本文給出了基于Pro/ENGINEER快速建模并結(jié)合炮用發(fā)射藥筒理論設(shè)計(jì)的約束條件,給出了快速設(shè)計(jì)的方法及實(shí)例。! }8 Q9 k5 |# Q' P; B
2 炮用發(fā)射藥筒結(jié)構(gòu)分析及建模的約束方程
/ @( M, \3 f) \/ v) X* f 4 R& h9 K5 Y4 d# S8 C/ u- d
    藥筒的設(shè)計(jì)與火炮、彈丸及裝藥設(shè)計(jì)密切相關(guān)。本文以配制式火炮為例。藥筒的設(shè)計(jì)主要受藥室形狀及彈丸結(jié)構(gòu)限制[1]。
# Y* }8 A3 C6 e4 v( a! a, H
             圖 1 火炮藥室結(jié)構(gòu)示意圖              
主要結(jié)構(gòu)尺寸計(jì)算公式如下: * r( H  k# B: a1 X, t
f1 :  Dk=Dd-2U0k     f2 :  Lk=(0.20 ~ 0.30)d     f3 :  d k=Dk-2tk 0 f8 J6 n* l; H8 n9 J' a' E
f4 :  Dy=Dj          f7 :  Dj=Da-2U0j            f8 :  Ly=La$ v& p5 u0 L# s+ p
f9 :  td=(0.06 ~ 0.15)Dj                         f10 : ty=Sp-x0, R, u. ^$ U" {/ o% e2 H8 m. l3 c
式中:2 f( o) _) k' F5 u
Dk—筒口部外徑;                   U0k—口部初始間隙;
" R, b2 T2 c' H' Qdk—口部?jī)?nèi)徑;            la —接際部初始間隙;            
) W) C- O: `- v% W8 ?+ E* JDj—接際部直徑;                   Lk—口部長(zhǎng)度
: z5 a3 T2 ^7 Y* V% gU0j—接際部初始間隙;              Ly—筒體外部長(zhǎng)度0 O4 U- H! y9 j+ j5 @* R1 P5 ?
td—底部厚度;                    ty.—底緣厚度;9 b; F8 _& m1 A6 X- h9 P
Sp—炮栓鏡面至藥室尾端面距離;    x0—藥筒地平面與栓體鏡面的初始間隙; + }9 _# f2 b9 |- y4 f+ z; A
    這些方程中共有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ù)也隨之改變。                     8 p0 P9 [, L/ F
    可以通過(guò)約束圖利用圖解法解出未知變量[2]。藥筒的結(jié)構(gòu)尺寸示意圖如圖3所示。
. I. p: t! b# G$ ^

/ F; K" y+ q3 w5 ~! T* y0 F圖2 方程約束網(wǎng)絡(luò)圖
) E9 b, o, E" P6 C6 K
圖3 藥筒的結(jié)構(gòu)尺寸示意圖
3 快速建模實(shí)現(xiàn)方法
' T8 j+ o6 j; `, e* {/ G: ]! X/ ^5 u# {    快速建模就是通過(guò)輸入?yún)?shù),由Pro/ENGINEER系統(tǒng)快速產(chǎn)生模型的過(guò)程,模型的相關(guān)屬性也可自動(dòng)給出。Pro/ENGINEER提供了強(qiáng)大的用戶二次開(kāi)發(fā)程序包Pro/Toolkit,通過(guò)它可以直接對(duì)Pro/ENGINEER的數(shù)據(jù)庫(kù)進(jìn)行操作。本文即以Pro/Toolkit為開(kāi)發(fā)工具,實(shí)現(xiàn)了藥筒的快速設(shè)計(jì)與建模。Pro/ENGINEER的快速建模二次開(kāi)發(fā)包括以下幾部分[3]。3 m  g6 q2 D0 h# J: G3 P
3.1  用戶接口
# E; N) T/ _5 j    用戶接口是人機(jī)交互的界面,它包括菜單及菜單文件兩部分。菜單文件擴(kuò)展名為*.mnu或*.aux。*.mnu菜單完全獨(dú)立于已有菜單,*.aux則附加于已有菜單。菜單文件有固定格式,每組數(shù)據(jù)分三行,每一個(gè)菜單按鈕對(duì)應(yīng)一組數(shù)據(jù)。菜單文件為純文本文件。
7 |. `- _2 @# b' Z- S% e. L; V3.2  信息文件
* }& q! K% G  b9 f    信息文件包括了類(lèi)型無(wú)關(guān)菜單以及數(shù)據(jù)輸入提示等所有文本信息,它和菜單文件一樣,也是使用表單的形式,每四行為一組。使用表結(jié)構(gòu)的好處是當(dāng)需要改動(dòng)程序顯示時(shí),可以只改動(dòng)信息文件,而不必改動(dòng)原程序。
! o3 w- s# r  c2 n  I. D3.3  程序接口
9 R% Y! S( y1 v在Pro/Toolkit中,其函數(shù)結(jié)構(gòu)一般如下:# c# \/ k3 b: V! E0 C
User_Appone()        {              }            用戶功能函數(shù)7 j( ]- @  M7 A6 @* a
User_Apptwo()        {              }
0 q' F0 H. Q5 @. Y......! y4 u) F/ b" k2 ?
User_initialize()       {   ......       }           程序入口6 m, U1 J8 K8 L- ^  f# W
User_terminate()       {     ......     }            程序出口
2 m5 P, T8 U. V6 ]5 N2 E* G. p    其中,入口函數(shù)和出口函數(shù)是必須的,其他函數(shù)則是用戶定義函數(shù),用以實(shí)現(xiàn)一定的功能。: u' c4 [9 f# F% r6 d6 Y% l
3.4  注冊(cè)文件: T& o  f" H1 \3 e3 \- V& w
    注冊(cè)文件用以指明程序運(yùn)行模式、資源位置以及程序運(yùn)行版本等。其中,運(yùn)行方式包括多線程和動(dòng)態(tài)連接庫(kù)兩種。第一種方法的好處是調(diào)試比較容易。第二種方法的優(yōu)點(diǎn)是運(yùn)行速度較快,生成的文件比較小。
( }# C$ g4 W$ a9 h( q- n; b3.5  編譯平臺(tái)
+ w, k( G8 ^3 }2 a% ^6 _- y    程序的編譯需要第三方編譯平臺(tái),如TC、Mircosoft C等。選用了Mircosoft公司的Visual C++ 6.0作為編譯平臺(tái)。利用Visual C++ 6.0的強(qiáng)大功能使得數(shù)據(jù)管理方便,調(diào)試輕松直觀[4]。$ [  f) C1 O( F$ ~+ P7 d" y
4 藥筒的快速建模2 R9 i1 n( S. \& o/ t
    (1)在參數(shù)輸入方面,使用了菜單結(jié)合對(duì)話框的方式,參數(shù)輸入方便直觀。菜單結(jié)構(gòu)如圖4所示。Yaotong Design是在Pro/ENGINEER的Part菜單上添加的系統(tǒng)菜單,這樣既可以實(shí)現(xiàn)用戶特定功能,又可以利用Pro/ENGINEER平臺(tái)的強(qiáng)大功能,方便用戶設(shè)計(jì)。在模型的實(shí)現(xiàn)方面,采用了基于UDF的二次開(kāi)發(fā)技術(shù),可以顯著地降低開(kāi)發(fā)的工作量,提高開(kāi)發(fā)靈活性。/ g% ~' M/ D' d/ L+ o! e0 M
% q: n- Z* k2 N( ?$ \! V
圖4 藥筒設(shè)計(jì)菜單系統(tǒng)
    (2)模型的接口程序和實(shí)現(xiàn)程序。以下為藥筒快速建模程序入口和出口,它注冊(cè)了菜單文件以及響應(yīng)函數(shù)。
8 O, J# w* D0 q- B; Euser_initialize()
, g1 i& T3 R7 |: _1 X{ int menu_id ,err;0 J0 n6 M5 S  l7 v5 Z9 r; M( m2 K
ProMenuFileRegister("PART","part.       mnu",&menu_id);        - F- |; g# z% ~7 x" i4 l% h
ProMenuAuxfileRegister("PART","part.aux",&menu_id);                        
" C7 U* c3 o) Z6 k6 q* @err=ProMenubuttonActionSet("part","_YaotongDesign",(ProMenubuttonAction)UserYaotongSystem,NULL,0);                 4 \. V, J9 |3 b+ D
return(0); }! v1 U2 X$ ?* x2 q7 e9 k+ A) q
void user_terminate(){} ;  / C# {  P9 b, P7 R
以下為藥筒建模實(shí)現(xiàn)程序,它定義了UDF文件及驅(qū)動(dòng)參數(shù)等。
* {, I1 \+ g* p# I& k6 kUserYaotongCreate(){  ......
9 i; j# S5 Z& `! e: b3 r6 DProStringToWstring(data.name,"yaotongudf.gph");         指定UDF文件
/ k7 Q; d$ V$ Z) C8 U7 H data.n_var_dims=15;
) V2 k, b! y& J; t3 a# Q% f" I data.var_dims=(Pro_udf_var_dim*)calloc(15,sizeof(Pro_udf_var_dim));6 a( `6 D$ w. g2 x# @' z4 b
ProStringToWstring(data.var_dims[0].name,"YTJ_zg");   變量賦值
" R2 z5 L) B: R/ J# A7 n data.var_dims[0].type=PROUDFVAR_DIM;7 E& C# z1 l1 Z/ d' F1 z% ~
data.var_dims[0].value=_YTJ_zg;   . Z0 V* o' R; ~5 j. Q
    ......
, H6 N6 D# ?1 Q, j data.n_references=0;        指定參考基準(zhǔn)     
* v5 L$ l) M; d data.dependency=PROUDFDEP_INDEPENDENT;    指定模型獨(dú)立性5 Q; n& ^# R, I% a& A) U6 j" ]5 M$ ?
prodb_create_group(p_model,&data,NULL,NULL,0);   創(chuàng)建模型3 }/ V7 Z: ^3 `5 l; G
ProWindowRepaint(PRO_VALUE_UNUSED);    顯示模型; u* f- ?% p# v
free(data.var_dims);
; L- l, E6 x+ A7 e- g0 c0 l return(0);  }
7 b: l( U5 y2 s1 q: u# a& ]+ J通過(guò)以上方法產(chǎn)生的模型如圖5所示。! R% W. S; R* Y" Y6 I8 T  W% f5 I

) `2 \; z2 D. N9 {" j: j圖5 藥筒實(shí)體模型
) ~. y) W/ t1 K/ s
圖6 藥筒幾何參數(shù)輸入界面
    在藥筒模型生成以后,可以通過(guò)以下兩種方法修改編輯藥筒的尺寸:(1)可以直接用鼠標(biāo)雙擊需要修改的特征,選中需要修改的尺寸即可進(jìn)行交互式尺寸修改和編輯。修改后的效果可以迅速?gòu)哪P蜕戏从吵鰜?lái)。(2)通過(guò)幾何參數(shù)輸入對(duì)話框輸入要修改結(jié)構(gòu)的尺寸數(shù)值來(lái)完成對(duì)尺寸的修改。參數(shù)輸入對(duì)話框如圖6所示,直接輸入需要修改參數(shù)的新數(shù)值即可。                                                
- Y" B0 g+ O7 a2 E% Y; o2 j! b( n5 結(jié)束語(yǔ)3 u4 f: S1 K7 N' B  K
    利用快速建模技術(shù),可以大幅度提高設(shè)計(jì)效率,減輕設(shè)計(jì)人員的勞動(dòng)強(qiáng)度,縮短產(chǎn)品設(shè)計(jì)周期,可使產(chǎn)品的設(shè)計(jì)變的直觀、輕松,可在產(chǎn)品設(shè)計(jì)的初期易于發(fā)現(xiàn)設(shè)計(jì)缺陷。產(chǎn)品可以方便地通過(guò)PDM系統(tǒng)進(jìn)行管理
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

Archiver|手機(jī)版|小黑屋|機(jī)械社區(qū) ( 京ICP備10217105號(hào)-1,京ICP證050210號(hào),浙公網(wǎng)安備33038202004372號(hào) )

GMT+8, 2025-8-23 21:27 , Processed in 0.058966 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回復(fù) 返回頂部 返回列表