刁飞
摘要:现代的制造业计算机辅助设计的二次开发编程越来越被广泛使用。为了更好地提高工作效率,减少工作操作步骤的重复性,同时降低工作中错误发生率,要学会掌握UG/Open GRIP语言,它是面向工程师的编程计算机语言,是Unigraphics NX用户常用的一种二次开发工具。用GRIP语言开发的程序与Unigraphics NX交互运行,完成某些专业上需要的特定的功能。让越来越多的Unigraphics NX用户了解UG/Open GRIP语言,使每一个Unigraphics NX用户使用水平上了一个新的台阶。
关键词:UG NX GRIP源程序 陈述格式 GPA符号格式 EDA命令格式
0 引言
随着科学技术的飞速发展,产品功能要求的日益增多,复杂性增加,寿命期缩短,更新换代速度加快。然而,产品的设计,尤其是机械产品的设计,由于方案设计陈旧,更显得力不从心,跟不上新时代发展的步伐。在NX设计过程中,以计算机作为重要工具,帮助工程师的一切实用技术的总和称为计算机辅助设计(CAD,ComputerAidedDesign)。计算机辅助设计包括的内容很多,如:概念设计、优化设计、有限元分析、计算机仿真、计算机辅助绘图、计算机辅助设计过程管理等。近年来CAD技术广泛应用于各个行业。CAD功能实现了目前制造行业中常规的工程技术、设计和绘画功能的自动化。已从二维绘图普及到完全三维设计模型,从静态设计到运动仿真。从传統制造应用到快速制造技术应用等方面发展。而CAM功能却为使用Unigraphics设计模型描绘完成部分的现代机器工具提供了NC编程技术。
在当今的科学时代,Unigraphics NX软件使用成为制造业、航天工业、汽车行业等多种行业的主流,凭借强大的混合式模型建立功能,已成为CAD/CAM最重要的组合性软件。同时UG/Open GRIP语言逐渐受到UG NX(UnigraphicsNX4.0)使用者和NX编程工程师的欢迎,也成为Unigraphics NX软件必不可少的一部分。
1 Unigraphics NX(简称UG NX)软件介绍
Unigraphics NX(简称UG NX)是当前世界上最先进和紧密集成的,面向制造行业的CAID/CAD/CAM/CAE高端软件,它为制造行业产品开发的全过程提供解决方案,功能包括:概念设计、工业设计、性能分析和制造。
Unigraphics NX是一个全三维,双精度系统,可以用它来精确地描绘几乎任何几何形状,将这些形状结合起来,就可以设计,分析产品以及绘图。
学机械专业、模具设计专业的朋友都知道,在大学学习计算机辅助设计软件是AutoCAD2004和AutoCAD 2007,AutoCAD软件是大学最基础的软件,中级别的软件,现在仍然有些单位使用,AutoCAD画2D特别方便,我们通常是配合起来使用的,但是Auto CAD就只有CAD一个模块;而UG是高级别的软件,是专门画3D的,AutoCAD能画3D但是没有UG强,甚至还差的很远很很远。UG NX包含CAD(计算机辅助设计)、CAM(计算机辅助制造)、CAE(计算机辅助分析)等多种模块。
笔者推荐两个功能成熟且全面的UG NX软件,在当今社会,有很多制造业公司内部流行使用此软件,如图1。
■
2 UG/Open GRIP简介
UG/Open GRIP是Unigraphics NX CAD/CAM软件包中的一个模块,是Unigraphics NX软件的二次开发工具之一。由于UG/Open GRIP具有简单,易学,易用的特点,深受工程师的欢迎,得到广泛的应用。
UG/Open GRIP语言用来创建类似FORTRAN一样的程序,与Unigraphics系统集成。由于GRIP与Unigraphics系统紧密集成,所以,利用GRIP程序可以完成与Unigraphics的各种交互操作。例如调用一些实体生成语句,创建几何体和制图实体,可以控制UG系统参数,实现文件管理功能,可以存取UG数据库,提取几何体的数据和属性,可以编辑修改已存在的几何体参数等。此外,GRIP语言与一般的通用语言一样,有完整的语法规则,程序结构,内部函数,以及与其它通用语言程序的相互调用等。GRIP程序同样要经过编译,链接后,生成可执行程序,才能运行。
3 UG/Open GRIP的使用与编辑
使用UG/Open GRIP程序设计与JAVA程序设计相比较,JAVA程序设计的进入步骤如下:
①先打开JAVA软件。②建立包及包的名称。③建立类及类的名称。④建立文件及文件名称。⑤进入编辑程序阶段。⑥编辑完了可以进行测试。⑦测试没问题可以输出。
JAVA程序设计按最基本的,最简单的来说,至少要7个步骤。
UG/Open GRIP程序设计的进入步骤如下:
①打开UG/Open GRIP程序软件(打开“开始”菜单→选择目录“程序”→选择子目录“NX 4.0”→选择“TOOLS”→选择“UG/Open GRIP”)。
②弹出窗口进入UG/Open GRIP程序开发环境,如图2。(如选择1.EDIT)并输入文件名并建立文件。
③就直接进入编程阶段了。
④编程完成后,直接测试。
⑤测试完了后可以输出。
UG/Open GRIP程序设计顶多就用了5个步骤。5个步骤,如果更改文件程序内容,还是按5个步骤顺序来就可以了,而JAVA就不一定了,打开软件还得现找文件打开更改……初学者要是刚接触UG/Open GRIP程序设计并不困难,一看就知道怎么操作,通俗易懂。
注意:选择功能时,先在如图2中的Enter option后面输入功能编号,按下回车,然后输入文件名,输入完了再按下回车。
说到UG/Open GRIP程序软件的功能,下面介绍最常用的功能,如图2。
①Edit。 编写或修改一个GRIP程序。程序扩展名为.grs。输入完文件名后,自动弹出记事本,用户就可以编写或修改GRIP源程序了。
②Compile 测试GRIP程序是否有错误。如果显示出“1 GRIP PROGRAM COMPILED WITHOUT ERROR”那句话就说明此程序不存在语句错误。如果显示出“0 GRIP PROGRAM COMPILED WITHOUT ERROR”,那就说明程序语句有问题,得重新修改。
③Link进入链接并输出GRIP文件。
④Change Directory 选择建立文件的目录。
⑤QUIT 退出此程序
其它功能,如List Directory,sent output to,compile listing等几个功能不常用,在此就不一一详细介绍了。
4 UG/Open GRIP语句格式分类
UG NX用户或编程者们可以利用GRIP语言来进行二次开发编程,也可以节省大部分操作及步骤,也可节省时间并提高工作效率,在进行UG/Open GRIP语言编程过程中,一个GRIP语句是由一个或几个GRIP命令组成,语句不区分大小写。GRIP语句共分为三种格式:陈述格式、GPA符号格式和EDA的符号格式。
4.1 陈述格式。陈述格式是由GRIP命令由主词(目标对象)加辅词组成。这种格式是最常见的,最广泛使用的格式。在任何UG NX软件中,每一个陈述格式都可以针对一个或几个实体,也可以针对行为、属性等。
例:GCONIC/P(1),P(2),P(3),VECT,1,2,0,1,-2,0
4.2 GPA符号格式。GPA符号格式是以“&”符号开始,由GRIP命令与常数相连,也就是说将此命令输入数值。可通过输入(存取)的常数或者参数来更改当前命令系统设置。
例:&ENTCLR=&RED
&FONT=1
4.3 EDA的符號格式。EDA的符号格式也是以“&”开始,由GRIP命令通过常数和参数来针对目标的对象来进行更改属性。
例:&COLOR(OBJ)=&RED
&COLOR(OBJ)=2
5 GRIP源程序的结构
一个源程序是由一系列的GRIP语句组成,一个源程序是由5部分组成:①申明语句部分。②初始化语句部分。③交互语句部分。④过程处理语句部分。⑤结束语句部分。
6 GRIP源程序的调用及运行
Link链接并输出GRIP文件(生成一个新的文件)之后,如何使用GRIP文件呢?
①可打开UG NX软件,通过菜单项来调用GRIP文件,[File]→[Execute]→[GRIP],然后选择想要运用的GRIP文件,运行此程序。
②在UG NX软件环境下,按下键盘的快捷键Ctrl+G,然后选择GRIP文件,运行此程序。
总之,UG/Open GRIP的应用范围一般有下列几方面:同类零件编程、特有的几何功能、计算和分析、绘图、零件标准化、文件管理和数据访问。
用GRIP语言编写GRIP源程序。可以用Windows的记事本(Notepad)编写,存盘为*****grs;或在Edit功能,新编或修改GRIP源程序。GRIP源程序除了有必要的主程序之外,还可能包含若干子程序,子程序可以单独进行编写和编译,然后与主程序链接。编译GRIP源程序,即用Compile进行编译。如果编译出现错误,则在屏幕窗口中显示错误信息。或将错误信息输出到指定的文件中,供用户查询。在编译输出信息中,向用户提示错误发生的位置和错误类型,提示用户修改源程序,继续调试源程序。如果编译没有错误,则生成一个新文件*****.gri,然后进入下一步。
7 结论
UG/Open GRIP二次开发编程的特点是简单,方便,好用。
只要具有初步的编程知识,很容易学会GRIP语言,比较容易的进行二次开发。工程师们可通过GRIP编程,把公司的专业知识与Unigraphics NX系统融合,可以更好地发挥Unigraphics NX软件的个人附加功能并提高工作效率。
参考文献:
[1]王庆林.UG/Open GRIP实用编程基础[M].清华大学出版社,2002.1.
[2]黄勇,张博林,薛运锋.UG二次开发与数据库应用基础与典型范例[M].电子工业出版社,2008.1
[3]林政忠,邱协政,陈建树,杨瑞雄.Unigraphics CAD基础篇[M].北京大学出版社,2000.12.