您所在的位置:e-works首页 > 产品创新数字化(PLM) > CAD

基于Pro/ENGINEER的炮用发射药筒快速设计

发表时间:2008-8-11 CAD世界网
本文介绍了以C,C++语言为工具,在Pro/ENGINEER上利用Pro/TOOLKIT进行药筒快速建模二次开发的方法,并给出了药筒快速建模快速设计应用实例。
   1 引言
  
    传统的药筒设计是一个相当烦琐的过程,设计人员被动地往返于公式和手册之间,借助计算器一点一点地计算。这当中有任何失误都必须从头再来,即使计算过程中没有任何失误,当计算结果不合适时,一切也必须从头再来。一个熟练的设计人员,在药筒设计过程中,简单的计算一遍就需要一个星期以上时间。如何使这一设计过程变的简单、直观,对设计人员来说十分迫切。针对这一问题,本文给出了基于Pro/ENGINEER快速建模并结合炮用发射药筒理论设计的约束条件,给出了快速设计的方法及实例。
  
    2 炮用发射药筒结构分析及建模的约束方程
  
    药筒的设计与火炮、弹丸及装药设计密切相关。本文以配制式火炮为例。药筒的设计主要受药室形状及弹丸结构限制[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-口部内径; la -接际部初始间隙;
    Dj-接际部直径; Lk-口部长度
    U0j-接际部初始间隙; Ly-筒体外部长度
    td-底部厚度; ty.-底缘厚度;
    Sp-炮栓镜面至药室尾端面距离; x0-药筒地平面与栓体镜面的初始间隙;
   
    这些方程中共有12个已知参数(Dd、U0k、d、Dj、U0x、lb、la、Da 、U0j 、La、Sp、x0)和8个未知参数(Dk、dk、Dy、Dj、Ly、td、ty、Lk),已知参数由设计者给定。当改变了已知参数时未知参数也随之改变。
   
    可以通过约束图利用图解法解出未知变量[2]。药筒的结构尺寸示意图如图3所示。
    


    图2 方程约束网络图
   


    图3 药筒的结构尺寸示意图

   
    3 快速建模实现方法
  
    快速建模就是通过输入参数,由Pro/ENGINEER系统快速产生模型的过程,模型的相关属性也可自动给出。Pro/ENGINEER提供了强大的用户二次开发程序包Pro/Toolkit,通过它可以直接对Pro/ENGINEER的数据库进行操作。本文即以Pro/Toolkit为开发工具,实现了药筒的快速设计与建模。Pro/ENGINEER的快速建模二次开发包括以下几部分[3]。
  
    3.1 用户接口
   
    用户接口是人机交互的界面,它包括菜单及菜单文件两部分。菜单文件扩展名为*.mnu或*.aux。*.mnu菜单完全独立于已有菜单,*.aux则附加于已有菜单。菜单文件有固定格式,每组数据分三行,每一个菜单按钮对应一组数据。菜单文件为纯文本文件。
   
    3.2 信息文件
   
    信息文件包括了类型无关菜单以及数据输入提示等所有文本信息,它和菜单文件一样,也是使用表单的形式,每四行为一组。使用表结构的好处是当需要改动程序显示时,可以只改动信息文件,而不必改动原程序。
   
    3.3 程序接口
   
    在Pro/Toolkit中,其函数结构一般如下:
   
    User_Appone() { } 用户功能函数
    User_Apptwo() { }
    ......
    User_initialize() { ...... } 程序入口
    User_terminate() { ...... } 程序出口
   
    其中,入口函数和出口函数是必须的,其他函数则是用户定义函数,用以实现一定的功能。

责任编辑:童伟
2
;