2.3 配置开发环境 - U' h% N7 X5 R- x# d* M; I
5 T2 r, N( {7 D3 { 在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。
X4 l1 X/ N s+ F
$ `' ]$ ~+ s9 N 添加如下系统环境变量: ( p7 J% @6 C4 T( S" w
# {; E1 }% W3 T( b: d 变量名:UGII_CUSTOM_DIRECTORY_FILE
/ j0 q9 Z. Q# G- f" h 变量值:${UGII_BASE_DIR}\USER
4 q) p x0 [# ?% @& b3 Q& Y
+ k O3 v& J% X/ A. ^' }3 f2 t* E0 u 完成上述任务后启动UG,则会在菜单栏中菜单Help前增加新菜单Parameter,如图2所示。 - F: c- N+ R5 n* b. J
4 f- J( ]% z7 ?5 |图2 新菜单Parameter 参照图1修改一双摇臂特征参数,结果如图3所示,其中特征参数angle0的新值为150度。 (a) 修改前 (b) 修改后 6 [0 D" h# Q+ ]/ ?2 ~! \3 i
图3 双摇臂特征参数修改 3 虚拟装配自动化
( h8 ~8 k; D1 ^2 l/ S$ l 2 s. c3 g K: \2 P# i9 m
UG采用“利用部件链接关系建立装配”的虚拟装配模式。这种模式可检查目标装配体自身静态干涉、模仿产品的装配过程、定义拆装路径,并可仿真机构运动,分析机构的运动性能,从而分析产品及其装配元件的可装配性,衡量装配设计阶段产品设计结果的好坏[6]。而上述功能只能在人机交互方式下实现,当目标装配体为大型复杂系统时,存在操作过程烦琐、操作者易疲劳和重复性差等诸多不足。针对这种情况,提出虚拟装配自动化解决方案,描述如下:
' D5 g# N' d7 w' @5 J$ j 0 L4 j; f. p+ [$ J( j. b
从文件读入或自定制界面输入零部件在装配图中的目标方位,通过装配程序对装配用方位参照信息(坐标矩阵)进行坐标转换,实现零部件自动坐标定位。变高强度的人机交互操作为命令式操作,使重复、烦琐的手工操作程序化,从而自动完成虚拟装配,达到提高生产效率的目的。 $ ?2 |% F: c/ z
7 w4 q# { G: Q: `* ^: f, x2 O
为能在飞机操纵系统装配后顺利进行动、静态干涉检查等后续工作,需要在每次链接零部件、导入零件事件(part occurrences)之后,对零件事件进行ID标识,使之成为一个节点。
$ ~* l! p3 G$ _2 L( j. x
# R/ q( R9 ]2 U3 u* j& x8 e0 f 操纵系统虚拟装配自动化流程如下:
% ^. f" k7 A7 m* E% [ ' `: P% F; F4 n
Assemble() //虚拟装配自动化 , T: X3 l! F9 M; _8 l. i( P
{ : E! \- }) }2 ~% o' n2 i
获取预装配零部件的装配用方位参照信息;
7 I, r a) x; B5 w5 o) G 获取零部件在装配件图中的方位;
* y6 O$ N) P- N% M, c' X 链接零部件,导入零件事件;
% b7 T ~: C2 y9 a) u+ z1 {) b 空间方位转换;
& T; P! X+ J* M1 W; ^8 L: Z 标识零件事件,使之成为节点; ( S# `' S: A+ K$ l" d2 m
}; # i; B6 d$ @4 o( I: t+ a8 o. d2 V
3 Q# p7 T x+ S g1 S 基于上述方法实现的飞机操纵系统的典型组件装配图、全系统装配图分别见图4、图5。 - I% T) d9 y! `: n1 v; |
图4 典型组件装配图 图5 飞机操纵系统全系统装配图 4 结 束 语 ' K9 B; t3 z' `% s
8 a' ~9 j* j( {
二次开发UG实现飞机操纵系统零件参数化设计与虚拟装配自动化方案在很大程度上解决了工厂技术人员的劳动强度问题,缩短了设计周期,降低了设计成本。本研究是飞机硬式机械操纵系统设计平台的核心技术内容之一,该平台已在中埃两国签署的关于中埃两国合作生产80架K8E飞机的合同中得到成功应用。 - j( S7 b4 a" @* g' Z( \( Z
|