田 明 刘思宇
(长春理工大学 光电工程学院,长春130022)
Unigraphics(简称UG)这款软件拥有强大的CAD、CAM 的功能。但是由于在机械设计领域工程师们时常会面对一些重复的零件加工,而由于机械零件的千变万化,零件的标准化库就成了减轻工作负担,加快研发速度的必要产品。
UG 恰恰提供给了工程师一个与软件系统紧密结合的语言UG/open_grip.UG/open_grip,它是面向工程师的语言,所以其特点就是简单,方便,好用。工程师们只要具有初步的编程知识就可以很好的掌握GRIP语言,把公司的专业知识与UG 软件相结合,比较容易进行二次开发,更好的发挥Unigraphics 软件的功能。
光学零件主要以各种透镜为主,在光学仪器结构设计时需要不断的重复每个镜片的空间位置的摆放,每一片物镜都要重新建模,这给开发人员带来很多重复性的工作,浪费了大量宝贵的时间,并且是研发周期很长。因此一个完善的光学透镜的参数化建模零件库,可以解决以上种种的在开发过程中的问题,让开发人员更好的,更快的完成研发工作。
UG GRIP 语言跟所有计算机语言一样,必须经过编写,编译,连接,才可以被UG 执行。
首先在NX TOOLS 中启动UG GRIP 程序,出现如图1 所示工作区:
图1 工作界面
图2 编写界面
在这个开发程序中,我们只要掌握和熟悉前四项功能,就可以完成对UG 的二次开发。以凸透镜为例,首先我们要选定文件建立的位置,输入指令4,然后输入文件的位置(如:D:Program FilesUGSssss)。然后输入指令1,新建文件toujing1.grs,打开如图2 所示的编写界面进行编写,编写程序如下:
ENTITY/SOL,SOL1,ENT,ENT1,ENT2,ENT3,pt1,pt2,pt3
&ENTCLR=&yellow
&WCSDRW=&yes
A1:
PARAM/’ENTER SOLSPH OF NUT’,$
‘物镜中心厚度=’,h,$
‘圆柱直径=’,hd,$
‘球面1 直径=’,r,$
‘球面2 直径=’,r1,$
‘镜片间隔=’,z,resp
JUMP/A3:,A3:,resp
l=((r+r1)/2-h)+z
SOL=SOLSPH/ORIGIN,0,0,z,DIAMTR,r
SOL1=SOLSPH/ORIGIN,0,0,l,DIAMTR,r1
ENT=INTERS/SOL,WITH,SOL1
A2:
pt1=POINT/0,1,0
pt2=POINT/1,0,0
pt3=POINT/0,0,1
ENT2=CSYS/pt1,pt2,pt3,ORIGIN,0,0,0
j=r+h+z
ENT1=SOLCYL/ORIGIN,0,0,0,HEIGHT,j,DIAMTR,hd
ENT3=INTERS/ENT,WITH,ENT1
A3:
HALT
在我们完成了编写之后保存生成的是以.grs 为后缀名的文件,然后输入2 进行编译,这个过程主要是对语句进行改错,纠正。UG GRIP 非常的人性化,错误会很直接的告知开发人员,使整个过程变的更简单,并且更有乐趣。如果编译没有错误的话会生成一个以.gri 为后缀名的文件,输入3 进行连接即可。最后生成的文件是以.grx 为后缀名的文件,这个文件就是最终可以被UG 执行的文件。
这样我们就完成了对凸透镜的参数建模过程,一共设置了5 个参数供使用人员更改。打开UG 界面,执行文件toujing1.grx 文件会出现图3 所示的参数键入界面。
图3 参数界面
在这个界面中,按照光学设计的要求输入参数生成一片凸透镜,如图4 所示:
图4 参数生成的凸透镜
用户的菜单定制是人机交汇的关键,菜单是否合理,鲜明,友好,直接决定了文件调取的实用性和快捷性,对库文件的保存,整理,提取起到了决定性的作用。菜单制作技术(user tools definition),简称UTD 是一种简单快捷的菜单制作方法,以下为菜单创建过程。
1)首先创建文件夹D:usersarea,并在此文件夹下分5 个子文件夹,分别为bitmap,grip,macros,ufun,user_tools.打开系统环境变量,变量为UGS,变量值设置为D:usersarea.或直接把文件统一放置在UGS目录下,如(D:UGSaaaa)
2)以50*50 的图片尺寸绘制扩展程序组图标,保存成扩展名为BMP 的图形文件,图形文件最好与GRIP 文件名相同,方便查找和关联。此图形作为菜单的一级菜单,直观,快捷,友好。
3)用记事本建立扩展名为.utd 的文件,内容如下:
TITLE 物镜建模与装配
VERSION 0
ICONS
LABEL 光学零件库
COLUMNS 3
NAME 凸透镜
BITMAP D:Program FilesUGSaaaa oujing1.bmp
TYPE GRIP
ACTION D:Program FilesUGSaaaa oujing1.grx
NAME 凹透镜
BITMAP D:Program FilesUGSaaaa oujing4.bmp
TYPE GRIP
ACTION D:Program FilesUGSaaaa oujing4.grx
NAME 正月弯
BITMAP D:Program FilesUGSaaaa oujing2.bmp
TYPE GRIP
ACTION D:Program FilesUGSaaaa oujing2.grx
NAME 反月弯
BITMAP D:Program FilesUGSaaaa oujing3.bmp
TYPE GRIP
ACTION D:Program FilesUGSaaaa oujing3.grx
4)用记事本建立ercikaifa.tbr 文件,扩展名为“.tbr”,内容如下
TITLE 物镜建模与装配
VERSION 120
DOCK TOP
BUTTON 物镜建模与装配
LABEL 物镜建模与装配
BITMAP D:Program FilesUGSaaaaercikaifa.bmp
ACTION D:Program FilesUGSaaaaercikaifa.utd
5)在目录”D:UGSUGIImenus”中找到custom_dins.dat 文件,用记事本打开。并在问价末尾加上D:usersareauser_tools.然后保存
6)启动UG,打开TOOLS 下拉菜单中的CUSTOMIZE 命令,单击TOOLBARS 页面左侧的“Load”按钮,弹出对话框选择D:Program FilesUGSaaaaercikaifa.tbr 文件。单击OK。
运行结果如图5、图6 所示:
图5 一级菜单
图6 二级菜单
以上我们完成了光学零件库的开发及人机交互的设计,如图7 所示是结构设计人员基于光学设计人员的光学设计图纸完成的一组镜片的装配图。全面的体现出整个库的实用性和便捷性。
图7 装配图
通过UG GRIP 语言对UG 进行二次开发,目的在于减轻研发人员的重复工作,及工作强度,并且缩短研发周期。文章对常用的四种透镜进行参数化建库,完成了友好的人机交互处理,使得使用人员更方便快捷,直接生成,直接装配即可。
[1] 王庆林.UG/Open GRIP 实用编程基础[M].北京:清华大学出版社,2002:130-134.
[2] J.K.Astrom and B.Wittenmark.Computer Controlled Sustems[M].Prentice_Hall,1984.
[3] 张幼军.UG CAD/CAM 基础教程[M].北京:清华大学出版社,2006.
[4] 曾向阳.UG NX 高级开发实例[M].北京:电子工业出版社,2004.
[5] 李玉胜,孙殿柱,刘信奎.UG 软件的二次开发研究与应用[J].淄博学院学报,2002(6):63-67.
[6] 吴家洲,吴波,杨叔子.UG 软件的二次开发[J].机床与液压,2001(5):89-91.