UG外挂开发教程1_GRIP深入认识
- 格式:ppt
- 大小:314.51 KB
- 文档页数:11
GRIP教程___手把手教你GRIP编程(一)GRIP, 教程, 手把手GRIP, 教程, 手把手1,Grip启动和编译:先找到UG的安装路径,如D:\ProgramFiles\UGS\NX3.0。
进入该路径下的UGOPEN目录,找到grade.bat文件,打开它,将环境变量base_dir设置成set base_dir=C:\Program Files\EDS\UnigraphicsNX,保存并运行。
2, Grip程序的编写和编译:在Grip的运行程序中,键入4,将你编写的Grip程序所在的目录写入并回车。
在Grip的运行程序中,键入1,写入新建Grip程序的文件名并回车,此时Grip会打开写字板,你可以在其中写入你的程序。
在Grip的运行程序中,键入2,写入所编译的文件名,编译无错后,键入3,写入所链接的文件名,链接无错后完成。
3, 你所编写的Grip程序保存成*.grs文件,编译后Grip会生成*.gri文件,链接后Grip会生成*.grx文件,此文件为Grip的运行文件。
4,Grip程序的运行:打开UG,点击File->Execute->Grip,选择*.grx文件,就可运行它。
5,编译时应先编译子函数文件,生成*.gri,子函数文件不需要链接,此时再编译主函数文件,生成*.gri,最后链接成*.grx。
6, Grip主函数文件必须以HALT结束,Grip子函数文件必须以RETURN结束。
7,定义的变量不能超过6个字符,Grip会认为Point_1和Point_2是同一个变量。
一行不能超过80个字符,若超过,可用$符号来换行。
8,Grip不区分大小写,也就是Grip会认为POINT和point都是画点函数,但是我建议Grip的函数名和关键字用大写,用户定义的变量用小写。
但是用户定义的变量不能和Grip的函数名和关键字重名。
9, Grip的帮助文件里一个简便的Grip函数查找方法:打开帮助文件...\Word &Symbol Lists\Major Word List,根据首字母来查函数。
1 打开UG、GRIP 编辑器在 UG 中找到UG TOOL→NX OPEN GRIP,打开 GRIP 编辑器,如图 1 所示。
图1 启动GRIP 路径示意图2 确定工作路径,建立GRS文件在图2所示的界面中输入4回车,再输入工作路径用来存放GRIP二次开发的文件,路径只要是英文即可。
比如:'D:\MYUG\'。
图2 GRIP 工作界面再输入1回车,输入要建立的文件名。
如 'NCOP'。
完成上述操作后,GRIP 将产生三个文件,存储源代码的文本文件(ASCII text file),扩展名为*.GRS;编译后文件扩展名为*.GRI;连接后文件扩展名为*.GRX 。
3 在NCOP.GRS中输入如下代码ENTITY/OBJ(25),SURF1(5000),cbnd(90),BEIDENTITY/surf2(5000)NUMBER/NUML00:PARAM/'请您输入料厚数据',$'输入料厚数据',LH,RSPJUMP/L00:,,,RSPMESSG/'请选择加工几何体'L10:IDENT/'请选择加工面',surf1,CNT,NUM,$CURSOR,X,Y,Z,RSPJUMP/L10:,L20:,,RSPL20:MESSG/'请选择加工边界'mask/3ident/'选择曲线边界',cbnd,cnt,cbnd_cnt,rspuJUMP/O4:,O9:,,rspu&MODULE = &MACH $$ 激活加工模块$$&MCS=&WCS $$ 使用当前坐标为加工坐标$$$$ 以下为选择使用的模版及要生成的操作名称$$$$标记A&OPTSET='D:\resource\template_set\nc_grip.opt'OPER/NEW, OPNAME, 'c.50','cam_metric_template', 'c.50'TOOL/'B30',MILL,30,15,100 $$刀具设置,具体为‘MILL’类$$$的直径30,半径15,刀长100&tname='B30' $$选择使用该刀具TAXIS/0,0,1 $$刀轴方向,使用I,J,K方式。
UG/Open Grip介绍1.结构:NUMBER/A,B,C,NUM1(10),NUM2(10)(10)ENTITY/PN,LN,CR,SOLID,BS,P(100),L(10)STRING/FNAME(50)正文HALT2.编写过程:环境:Notepad源程序: .grs 编译文件:*.gri 链接文件(可执行文件):*.grx编译环境:Unigraphics V14.0 ---- UG Open GRIP2 --- 编译3 --- 链接4 --- 更改路径6 --- 改变结果输出形式(1 — 屏幕输出;3 --- 文件输出)3.注意点:3.1$$ :是注释符;3.2编写的代码一行不得超过80个字符,可用$来进行换行,但$必须接在+-*/,符号下;3.3画图命令的一般格式:实体变量名=函数名/数字、变量名、操作符;3.4涉及系统的参数一般应用到的符号:&3.5定义的变量名不得超过6位,例NUMBER1和NUMBER2系统会认为是同一个变量;3.6函数传递的参数不得超过25个;3.7三角函数和反三角函数是对角度进行运算的;3.8一般数字型变量可以不必定义,系统对未定义的变量默认为数字型;3.9程序结束,必须用HALT结尾;函数结束,必须用RETURN结尾;3.10用单引号表示字符串;3.11一般程序用大写英文编写;3.12没有正切三角运算符;3.13主程序必须链接成*.grx,子程序只须编译成*.gri;3.14连续数组变量用.. 表示,例PN=POINT/NUM(1..3)4.运算符:数学运算符:SQRTF ( )、LOGF ( )、ABSF ( )、INTF ( )、MODF ( )、MINF ( )、MAXF ( )、SINF ( )、COSF ( )、ASINF ( )、ACOSF ( )、ATANF ( );逻辑运算符:= =、<>、<、>、<=、>=、NOT、AND、OR;5.命令组:功能类函数名用途函数名用途NUMBER/数字型ENTITY/实体型变量定义STRING/字符串型CHRSTR()转换ASCII码FSTR()将浮点型转化为字符型字符串操作SUBSTR()取字符ISTR()将整型转化为字符型REPSTR()替换字符LENF()返回字符个数DOTF()向量内积VLENF()向量模向量运算SCALVF()向量数乘UNITF()单位向量DATE日期TIME时间其它操作符DATA/数组赋值POINT/点LINE/直线CIRCLE/圆ELLIPS/椭圆FILLET/倒圆SPLINE/多义线二维功能CRVTRM/曲线剪切PLANE/平面CTRIM/延伸SECT/截面线SOLEDG/实体边界线曲线功能INTSEC/曲面交线ISOCRV/曲面边界线REVSRF/旋转生成曲面TABCYL/拉伸生成曲面FILSRF/曲面倒角OFFSRF/平移放大曲面CYLNDR/圆柱曲面BSURF/SWPSRF Swept曲面功能CONE/圆台曲面BSURF/CURVE Through CurvesSPHERE/球面BSURF/MESH Through Curve MeshSOLEXT/拉伸生成实体SOLREV/旋转生成实体UNITE/合并SUBTRA/相减INTERS/相交SOLBLK/立方体SOLCYL/圆柱SOLCON/圆锥三维功能SOLPRI/棱体SOLSPH/球体SOLTOR/圆环体SEW/缝合曲面SOLCUT/切实体BLEND/实体倒角MATRIX/TRANSL平移矩阵MATRIX/SCALE缩放矩阵MATRIX/XYROT旋转矩阵MATRIX/MIRROR镜象矩阵编辑功能TRANSF/编辑坐标系CSYS/设置坐标系CHOOSE/选择界面PARAM/参数界面GPOS/坐标点界面IDENT/选择界面界面功能MESSG/信息框TEXT/字符输入界面&PSPEC取文件目录&PNAME取文件名&WCS取当前坐标系&ABS取绝对坐标系&ENTCLR定义实体颜色&BGCLR取背景颜色参数查询&POINT取点坐标&LENGTH取直线长&CENTER取圆心坐标&SPOINT取直线起点坐标&RADIUS取圆半径&EPOINT取直线终点坐标IFTHEN/判断语句JUMP/跳转语句逻辑语句DO/循环语句DELETE/删除语句函数功能CALL/调用函数PROC/子函数FDEL/删除文件FMOVE/移动文件FCOPY/拷贝文件CRDIR/建立子目录CREATE/建立新文件FETCH/打开文件写FAPEND/打开文件追加RESET/设置头指针文件功能READ/读数据WRITE/写数据APPEND/追加数据FILE/文件存盘FTERM/关闭文件GROUP/组合UNGRP/取消组合CHAIN/链接实体组MASK/标记其它功能PRINT/显示信息FPRINT/显示文件结束语句HALT主程序结束RETURN子程序结束6.实例:6.1 二维作图实例:NUMBER/NUM(3)ENTITY/PN(5),LN(4),CR(4),SPLN,FLT,PLNDATA/NUM,2,2,2PN(1)=POINT/0,0,0PN(2)=POINT/1,1LN(1)=LINE/0,0,0,1,1,1LN(2)=LINE/1,1,2,2LN(3)=LINE/PN(1..2)LN(4)=LINE/PN(1),ATANGL,45PN(3)=POINT/ENDOF,YLARGE,LN(3)PN(4)=POINT/NUM(1..3)PN(5)=POINT/INTOF,LN(1),LN(2)SPLN=SPLINE/PN(1..4)CR(1)=CIRCLE/0,0,1CR(2)=CIRCLE/CENTER,PN(1),RADIUS,1,$ START,0,END,90CR(3)=CIRCLE/PN(1..3)CR(4)=CIRCLE/CENTER,PN(1),PN(2)FLT=FILLET/LN(1),LN(2),CENTER,PN(1),$ RADIUS,0.5,NOTRIMCRVTRM/LN(1),REF,PN(1),FIRST,LN(2),INT,$ PN(2), NOTRIM,STATUS,STAT CTRIM/LN(1),1,STARTCTRIM/LN(1),-1,ENDPLN=PLANE/XYPLANHALT6.2 三维作图实例:ENTITY/SOLID(5),SOL(2)SOLID(1)=SOLEXT/LN(1..4),HEIGHT,1,$AXIS,0,0,1SOLID(2)=SOLREV/LN(1..4),ORIGIN,0,0,0,$ATANGL,360,AXIS,0,0,1SOLID(3)=UNITE/SOLID(1),WITH,SOLID(2) SOLID(4)=INTERS/SOLID(1),WITH,SOLID(2) SOLID(5)=SUBTRA/SOLID(1),WITH,SOLID(2) BLEND/SOLID(1),RADIUS,1,PN(1)SOL=SOLCUT/SOLID(1),WITH,PLN,CNT,C HALT 6.3 曲面作图实例:ENTITY/BS(3),SOLIDBS(1)=BSURF/MESH,LN(1..2),WITH,LN(3..4) BS(2)=BSURF/CURVE,LN(1..5),ENDOF,P(1..5) BS(3)=BSURF/SWPSRF,TRACRV,LN(1),LN(2), $GENCRV,OBJSOLID=SEW/BS(1..3)HALT6.4 编辑作图实例:NUMBER/MAT(12)ENTITY/LNN,LN(5)MAT=MATRIX/TRANSL,1,1,1LN(2)=TRANSF/MAT,LN(1)MAT=MATRIX/SCALE,2,1,1LN(3)=TRANSF/MAT,LN(1)MAT=MATRIX/XYROT,45LN(4)=TRANSF/MAT,LN(1),MOVEMAT=MATRIX/MIRROR,LNNLN(5)=TRANSF/MAT,LN(1)HALT6.5 编辑坐标系实例:NUMBER/MAT(12)ENTITY/CSYS(5)&WCS=&ABSCSYS(1)=&WCSMAT=MATRIX/TRANSL,1,1,1CSYS(2)=TRANSF/MAT,CSYS(1)CSYS(3)=CSYS/LN(1),LN(2)CSYS(4)=CSYS/CSYS(1),ORIGIN,PN(1)CSYS(5)=CSYS/’TOP’HALT6.6 逻辑语句实例:6.6.1 判断语句:IFTHEN/A>NUMTEMP=AELSEIF/B>NUMTEMP=BELSETEMP=CENDIFIFTHEN/A>B AND A>CNUM=AENDIF6.6.2 跳转语句:L1:A=A+1JUMP/L1:6.6.3 循环语句:DO/L2:,I,1,10,2A=A+1L2:6.7 界面操作实例:6.7.1 选择界面:NUMBER/RESPL0:CHOOSE/’Please choose options!’,’OPTION1’,$’OPTION2’,RESPJUMP/L0:,TERM:,,,L1:,L2:,RESPL1:NUM=1JUMP/TERM:L2:NUM=2TERM:HALT6.7.2 参数输入界面:NUMBER/RESPL0:PARAM/’Input these values!’,’A’,NUMA,’B’,$ INT,NUMB,RESPJUMP/L0:,TERM:,,,RESPPN=POINT/NUMA,NUMBTERM:HALT6.7.3 信息输出界面:MESSG/’ERROR!’6.8 文件操作实例:6.8.1 创建新文件写数据:A=10CREATE/TXT,1,’test.txt’WRITE/1,AFILE/TXT,1FTERM/TXT,1HALT6.8.2 从文件中读数据:FETCH/TXT,1,’test.txt’RESET/1READ/1,AFTERM/TXT,1HALT6.9 显示信息实例:PRINT/A,B,’10’,NUM(1..3)FETCH/TXT,1,’test.txt’RESET/1FPRINT/1FTERM/TXT,1NOTE/0,0,0,’LINE1’HALT6.10 参数查询实例:NUMBER/NUM(3)STRING/STR1(10),STR2(10)STR1=&PSPECSTR2=&PNAME&ENTCLR=&BLUENUM=&POINT(PN)HALT6.11 其它实例:ENTITY/GROGRO=GROUP/PN(1..5),LN,CR,COLID UNGRP/GRODELETE/PN(1..5)。
UG-Open,GRIP——鲜为人知的二次开发编程随着科学技术的飞速发展,产品功能要求的日益增多,复杂性增加,寿命期缩短,更新换代速度加快。
然而,产品的设计,尤其是机械产品的设计,由于方案设计陈旧,更显得力不从心,跟不上新时代发展的步伐。
在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是一个全三维,双精度系统,可以用它来精确地描绘几乎任何几何形状,将这些形状结合起来,就可以设计,分析产品以及绘图。
学机械专业、模具设计专业的朋友都知道,在大学学习计算机辅助设计软件是Auto*****和AutoCAD 2007,AutoCAD软件是大学最基础的软件,中级别的软件,现在仍然有些单位使用,AutoCAD画2D 特别方便,我们通常是配合起来使用的,但是Auto CAD就只有CAD 一个模块;而UG是高级别的软件,是专门画3D的,AutoCAD能画3D但是没有UG强,甚至还差的很远很很远。