1 引 言
在通用CAD、CAE等环境下开发集成专用软件是通用软件很好的发展方向和取得实效的途径 [1]。基于低端CAD软件的开发与集成在国内外已有多年研究,取得了许多成功的应用并积累了大量的经验,而基于高端CAD软件的开发与集成,国内迄今为止感兴趣的人多,研究的人少,研究尚处于起步和探索阶段,可借鉴的经验也少,更缺乏成熟的实用成果。
飞机操纵系统是飞机系统中十分复杂的子系统,设计时需要考虑的因素较多,不仅需要考虑功能方面的要求,还需考虑强度、刚度等方面的要求,从而导致其设计难度较大。飞机使用实践表明:使用过程中出现的许多问题都因设计考虑不周所致,对操纵系统也同样如此。现代设计系统的一个主要要求在于已有设计的可再使用性,所以解决该问题的有效方法之一就是采用知识驱动的设计方案,建立先进的飞机操纵系统设计平台。这不仅可以提高产品质量,缩短研制周期,降低设计成本,而且对减轻劳动强度也是十分有益的。
UG是集CAD/CAE/CAM于一体的通用软件,具有强大的CAD、CAM功能,基于完全的三维实体复合建模、特征建模和装配建模技术,能够设计出复杂的产品模型,可用于整个产品的开发过程;同时 UG又具有良好的开放性,为用户提供了功能强大的二次开发工具,包括供用户定制菜单的UG/Open Menu Script,供用户构造UG风格对话框的用户界面设计模块UG/Open UIStyler,供用户进行功能开发的UG/Open[2]。利用这些工具,用户就可针对其具体要求,如行业的特殊需要,对UG进行开发,实现相应功能。
2 零件参数化设计
参数化设计方法的目的是存储设计的整个过程,从而设计出一族而不是单一的产品模型[3]。在计算机辅助设计系统中,不同型号的产品往往只是尺寸不同而结构相同,映射到几何模型中,就是几何信息不同而拓扑信息相同。因此,在对零件进行拓扑结构归类的基础上建立参数化模型,保证设计过程中几何拓扑关系一致,同时提取几何特征参数并进行用户化命名,建立几何信息和参数的对应机制,通过编辑参数值直接或间接修改几何实体,实现参数化设计。UG环境下,可通过UG/Open提供的相应功能函数编辑零件参数表达式(Expression),即修改参数值,从而编辑几何实体,来实现参数化设计。为确保装配程序对零部件的正确调用,实现装配过程中的自动坐标定位,在参数化模型中还应加入装配用方位参照信息。
2.1 硬式机械操纵系统主要构件几何参数分析
飞机机械操纵系统的传动机构通常分为软式、硬式和混合式三种。其中硬式传动机构主要由摇臂和传动杆等构件所组成[4]。
2.1.1 摇 臂
摇臂主要用来传递力、位移或改变它们的大小和方向,有的仅作支持用。结构形式通常包括单摇臂、双摇臂和复合式摇臂。其中单摇臂提取5个特征参数,双摇臂提取9个几何特征参数,复合式摇臂要具体分析。摇臂参数主要包括摇臂臂长、摇臂间夹角等。图1为双摇臂几何特征参数定义。
2.1.2 传 动 杆
传动杆又称拉杆,由两端耳片接头和管材组成。通常把一端或两端耳片接头设计成螺纹连接,便于微调杆长,进行系统装配。根据其结构特点,提取两个几何特征参数,一个是两端耳片接头转轴矢量之间的角度,另一个是杆长,即传动杆两端耳片接头转轴中心之间的距离。
2.2 基于UG二次开发实现零件参数化设计
下面以双摇臂为例说明实现过程。
利用UG/Open UIStyler定制双摇臂对话框,如图1所示。定制完成后,生成的三个文件分别为DR.h,DR_template.c和DR.dlg。按具体要求对DR_template.c进行编码,即可实现双摇臂参数化设计,流程描述如下,其中Parameter_Information控件的功能为显示特征参数信息,Apply控件的功能为编辑特征参数信息。
Parameter_Information()//显示特征参数信息
{
UF初始化,获取UG/Open API License;
根据控件ID获取所要访问的零件特征参数;
if(所要访问的特征参数存在)
显示特征参数信息;
else
提示用户,并给出可能原因;
UF终止,归还占用的License;
}
Apply()//编辑特征参数信息
{
UF初始化,获取UG/Open API License;
根据控件ID获取所要访问的零件特征参数;
if(所要访问的特征参数存在)
{
获取所要访问特征参数的新值;
if(参数新值在允许范围之内)
修改特征参数值;
else
提示用户重新赋值;
}
else
提示用户,并给出可能原因;
UF终止,归还占用的License;
}
创建UG菜单文件DR.men,内容如下:
VERSION 170
EDIT UG_GATEWAY_MAIN_MENUBAR //编辑主菜单
BEFORE UG_HELP //将第一级菜单置于Help之前
CASCADE_BUTTON UISTYLER_DLG //菜单类型为下拉式
LABEL Para&meter //定义菜单标题及快捷键
END_OF_BEFORE //结束第一级菜单的编辑
MENU UISTYLER_DLG //编辑第二级菜单
BUTTON DOUBLEROCKERS_BTN //第二级菜单ID
LABEL Double Rockers... //定义菜单标题
ACTIONS DR.dlg //运行DR.dlg
END_OF_MENU //结束第二级菜单的编辑
2.3 配置开发环境
在UG根目录${UGII_BASE_DIR}下创建二次开发用文件夹,如USER,在此文件夹内创建文件夹startup,application和udo[5],并将DR.dlg放到application下,DR.dll和DR.men放到startup下,udo用来存放动态连接库。去除UG环境变量文件ugii_env.dat中语句#UGII_USER_DIR=${HOME}前的“#”号以使该语句有效,同时将${HOME}改为${UGII_BASE_DIR}USER。
添加如下系统环境变量:
变量名:UGII_CUSTOM_DIRECTORY_FILE
变量值:${UGII_BASE_DIR}USER
完成上述任务后启动UG,则会在菜单栏中菜单Help前增加新菜单Parameter,如图2所示。
图2 新菜单Parameter
参照图1修改一双摇臂特征参数,结果如图3所示,其中特征参数angle0的新值为150度。
(a) 修改前 (b) 修改后
图3 双摇臂特征参数修改
3 虚拟装配自动化
UG采用“利用部件链接关系建立装配”的虚拟装配模式。这种模式可检查目标装配体自身静态干涉、模仿产品的装配过程、定义拆装路径,并可仿真机构运动,分析机构的运动性能,从而分析产品及其装配元件的可装配性,衡量装配设计阶段产品设计结果的好坏[6]。而上述功能只能在人机交互方式下实现,当目标装配体为大型复杂系统时,存在操作过程烦琐、操作者易疲劳和重复性差等诸多不足。针对这种情况,提出虚拟装配自动化解决方案,描述如下:
从文件读入或自定制界面输入零部件在装配图中的目标方位,通过装配程序对装配用方位参照信息(坐标矩阵)进行坐标转换,实现零部件自动坐标定位。变高强度的人机交互操作为命令式操作,使重复、烦琐的手工操作程序化,从而自动完成虚拟装配,达到提高生产效率的目的。
为能在飞机操纵系统装配后顺利进行动、静态干涉检查等后续工作,需要在每次链接零部件、导入零件事件(part occurrences)之后,对零件事件进行ID标识,使之成为一个节点。
操纵系统虚拟装配自动化流程如下:
Assemble() //虚拟装配自动化
{
获取预装配零部件的装配用方位参照信息;
获取零部件在装配件图中的方位;
链接零部件,导入零件事件;
空间方位转换;
标识零件事件,使之成为节点;
};
基于上述方法实现的飞机操纵系统的典型组件装配图、全系统装配图分别见图4、图5。
图4 典型组件装配图
图5 飞机操纵系统全系统装配图
4 结 束 语
二次开发UG实现飞机操纵系统零件参数化设计与虚拟装配自动化方案在很大程度上解决了工厂技术人员的劳动强度问题,缩短了设计周期,降低了设计成本。本研究是飞机硬式机械操纵系统设计平台的核心技术内容之一,该平台已在中埃两国签署的关于中埃两国合作生产80架K8E飞机的合同中得到成功应用。