UG外挂开发教程2_GRIP基本语法
UG_grip
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.命令组:6.实例:6.1 二维作图实例:NUMBER/NUM(3)ENTITY/PN(5),LN(4),CR(4),SPLN,FLT,PLNDA TA/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,STA TUS,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/MA T(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/MA T(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,1HALT 6.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)。
grip_nc基础
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外挂开发教程GRIP曲面操作
自由曲面的建模实例
B-曲面的建模实例
曲面功能的建模实例
1
4.6.1 平面的建模实例
(1)圆弧或二次曲线生成平面
此函数的功能是利用圆弧、二次曲线或平面样条曲线生成平面。 格式:obj=PLANE/obj1 obj:生成的平面; obj1:圆弧、二次曲线或平面样条线。
2
4.6.1 平面的建模实例
(2)平行某个平面生成平面
6
4.6.1 平面的建模实例
(6)过一点且平行某个平面生成平面
此函数的功能是过存在的一个点生成平行于某个平面的平面。 格式:obj=PLANE/PARLEL,plane,THRU,point obj:生成的平面; plane:与平面obj平行的平面; point:平面obj经过的点。
7
4.6.1 平面的建模实例
14
4.6.3 圆柱面的建模实例
(2)点和直线生成圆柱面
此函数的功能是通过一个点和一条直线生成圆柱面,其建模原理是 直线绕点旋转一周生成圆柱面。 格式:obj=CYLNDR/CENTER,point,line obj:生成的圆柱面; point:圆柱面的中心,圆柱面的轴线通过此点; line:直线,与圆柱面的轴线平行。
pl1=plane/xyplan,15 pl2=plane/yzplan,15 pl3=plane/xzplan,15
9
4.6.1 平面的建模实例
(9)平面或曲面偏置
此函数的功能是将某个平面或曲面沿其法线方向偏置一定距离。 格式:obj=OFFSRF/obj1,distance[,TOLER,edge curve tolerance] obj:生成的偏置平面或曲面; obj1:平面或曲面; distance:偏置距离; TOLER,edge curve tolerance:生成的偏置面边界的公差。
UG软件应用2操作基础教程课件
•UG软件应用2操作基础教程
•24
UG 图层操作
工作图层
在一个部件的所有图层中,只有一个图层是当前工作层,所 有的操作只能在工作层上进行。而其他层则可通过对它们的 可见性、可选择性等的设置来操作。工作层不能设置为不可 见。
图层的类别
CURVES—曲线
DATUMS—基准
SHEETS—片体
SKETCHES—草图
•UG软件应用2操作基础教程
•26
UG 图层操作
练习
将图示曲面图层移动至20层,并将其设置为不可见
•UG软件应用2操作基础教程
•27
五、UG 首选项的设置
首选项的设置
可以根据自己的需要,改变系统默认的 一些设置,如对象的显示颜色、绘图区 的背景颜色、对话框中的小数点位数等。 本节主要介绍对象参数设置、用户界面 参数设置、选择参数设置和可视化参数 设置。
自动进入对应应用
简化并自动预设制
UG的文件名和文件夹名称不能包含中文字符
•UG软件应用2操作基础教程
•3
UG 基本文件操作
练习
练习内容:创建新的文件练习部件:(新建)
•UG软件应用2操作基础教程
•4
UG 基本文件操作
练习
练习内容:打开、关闭、另存、退出
•UG软件应用2操作基础教程
•5
二、UG 工作界面
•UG软件应用2操作基础教程
•33
UG 坐标系统
UG中坐标系的分类:
绝对坐标系 Absolute coordinate system (ACS) 绝对坐标系统是一个静态的坐标系统,存在于任何一个模型中, 它的存在是其他坐标系统存在的前提和基础。
工作坐标系 Work coordinate system (WCS) 工作坐标系统是建立在绝对坐标系统上的坐标系统,是我们建 模时用到的坐标系统,可根据需要进行定制,只能有一个,不 可删除,可隐藏。它可以灵活的变换位置和方向,方便我们的 使用。
UG外挂开发教程5_GRIP常用函数
一般来说,用GRIP语言生成的几何体都是在用户定义的工作视图 内。但是GRIP语言的GPA符号&WORKVW提供了选择上述8种视图的 命令。具体方法是: &WORKVW=number number的含义参见表4-1。
Number参数 1 2 3 4 视图 Top(俯视图) Front(前视图) Right(右视图) Left(左视图) Number参数 5 6 7 8 视图 Botton(仰视图) Back(后视图) Isometric End (正等侧视图) Isometric Home (正二测视图)
CAD软件二次开发 技术基础
第四章 几何体的建模(一)
1
本章主要内容
建模基础 坐标系的建模 点和点集的建模 基础曲线的建模 曲线的建模 平面和曲面的建模 实心体的建模
2
4.1 建模基础
工作视图 工作图层 工作坐标系和工作平面 位置修饰词
3
4.1.1 工作视图
15
4.2.7 视图生成坐标系
格式:obj=CSYS/view number [ ,ORIGIN,point ] obj:生成的坐标系实体; view number:工作视图的number参数; ORIGIN,point:坐标系实体的原点,为可选项。
UG外挂开发教程3_GRIP编程规则
真
假
假
21
2.3.2 逻辑结构及应用实例
IF语句
逻辑IF语句
格式:IF/logical expression,statement 若逻辑表达式logical expression为真,则执行statement语句; 若不为真,则不执行statement语句。
条件IF语句
格式:IF/numerical expression,[label1:,][label2:,][label3:] 若算数表达式numerical expression>0,则转向语句标号label1: 若算数表达式numerical expression=0,则转向语句标号labe2: 若算数表达式numerical expression<0,则转向语句标号labe3:
常数子集。子集的下标和上标都是常数,如a(1..5),b(2*3..9)。 固定数组子集。子集的下标是变量,上标是常数,如a(i..i+3)。 变量数组子集。子集的下标和上标是任意的数学表达式,如 a(absf(x)..j+3)。
子集的表示方法
12
2.2.3 字符串的运算、编辑
字符串的运算
【例2.5】:用于实现垂直于一条曲线生成多个平面。
7
2.2.1 变量的种类、声明和赋值
变量的声明
字符串变量
格式:string/name[(dim1[,dim2]],n)][,name([dim1[,dim2]]),n]+ name:变量名; dim1,dim2:字符串数组变量的维数; n:字符串的长度,n≤132。
String/str(10) String/str(3,10) String/str(2,2,10) $$简单字符串变量 $$一维字符串数组变量 $$二维字符串数组变量
UG编程的基础知识和技巧
UG编程的基础知识和技巧UG(Unigraphics)是一种广泛应用于工业设计和制造的三维计算机辅助设计(CAD)软件。
掌握UG编程的基础知识和技巧对于提高工作效率和完成复杂设计任务至关重要。
本文将介绍UG编程的基本原理、常用语法和技巧,并提供一些实用的示例帮助读者快速上手。
一、UG编程概述UG编程是指使用UG自带的编程语言对其进行二次开发和定制化。
UG编程可以帮助用户自动化执行繁琐的任务、增强软件的功能性、优化设计流程等。
UG编程语言主要有三种:基于特征的编程语言(Feature-Based Language,简称FBL)、基于操作的编程语言(Operation-Based Language,简称OBL)和通用程序语言(Generalized Program Language,简称GPL)。
在开始UG编程之前,我们首先需要了解这些编程语言的基本特性。
1. 基于特征的编程语言(FBL)UG软件中的建模过程是以特征为基础的,因此FBL是一种常用的UG编程语言。
FBL的编程思路是通过对特征进行定义、修改和删除,实现对三维模型的创建和编辑。
通过FBL编程,可以有效地创建和管理UG中的几何特征、约束关系及装配等操作。
2. 基于操作的编程语言(OBL)OBL是一种基于操作的UG编程语言,其核心思想是通过对模型的操作进行记录和回放,实现对模型的自动化设计和修改。
使用OBL编程,可以通过脚本完成UG软件中的各项操作,例如创建几何体、修改模型属性、应用约束关系等。
3. 通用程序语言(GPL)UG软件还支持通用程序语言,如C++、Visual Basic等。
使用通用程序语言进行UG编程,可以获得更高的灵活性和扩展性。
通用程序语言可以直接调用UG软件提供的API(应用程序接口),实现对UG 软件的深度定制和功能扩展。
二、UG编程常用语法和技巧要想熟练编程,除了对编程语言的了解外,还需要熟悉一些UG编程的常用语法和技巧。
UG外挂开发教程4_GRIP交互语句
【例3.9】
14
3.3 人机交互语句应用实例
(10)CRTWRT函数
在二次开发过程中,有时可能需要在屏幕上临时显 示一些信息,CRTWRT函数实现了这一功能。但此临时 信息不是真实存在的字符串或数字,用refresh功能刷新 后临时信息将消失。
格式:CRTWRT/’message’,XC,YC,ZC
5
3.2 交互语句的响应变量
choose/’choose option’,’输出unigraphics’ ,’输出open grip’,resp jump/l10:,trm:,,,l20:,l30:,resp 调用此函数之后,用户可进行四种操作: (1)选择“Back”,此时的response=1; (2)选择“Cancle”,此时的response=2; (3)选择“输出unigraphics”,此时的response=5; (4)选择“输出open grip”,此时response=6。 Jump语句中的语句标号按顺序表示对应的response值所要进行的操 作。 常用人机交互语句以及交互变量和对应的response值参见教材中的 表3-2。
【例3.5】
11
3.3 人机交互语句应用实例
(6)IDENT函数
GRIP函数最大的优点在于交互性能,程序运行过程 中可能需要选择几何体。IDENT函数就提供了这样一个 对话框,帮助用户实现这样的需求。
格式:IDENT/’message’,[SCOPE,{WORK|ASSY|REF}],obj list[,CNT,count][,CURSOR,x-coord,y-coord,z-coord] [,MEMBER,{ON|OFF}],response message:屏幕左下角提示栏显示的信息,不得超过40个字符; obj list:选择的实体列表; [,CNT,count]:记录选择的实体数量,为可选项; response:响应变量。
UG GRIP
UG/Open GRIP 库的应用UG 软件包中收集了许多GRIP 程序,可供我们引用和参考,对于初学者来说,如果能应用几个简单的、对实际工作有帮助的例子,势必会增强学习二次开发的兴趣和信心!对于搞CAM 的来说,在刀具的切削参数方面除了需要经验之外,有时候也需要定量的分析和计算,比如跨距(Stepover)和残留高度(Scallop)之间的关系。
假如我们精加工使用了R5的球刀,跨距为0.25,当我们改用R8的球刀时,为了达到同样的粗糙度,改用多大的跨距呢?这里我们就需要计算R5的球刀所能达到的残留高度,然后利用这个残留高度去计算R8的刀具的跨距。
UG/Open GRIP 库里就提供了这样的两个GRIP 程序。
方法如下:1. 解压: 解压\UGS180\GRIPLIB\下的griplib.tar 压缩包,会看到两个文件夹,其中的源程序存放在\source\grip\main 里,我们举例所用到的两个是scallop.grs 和stepover.grs ;如果你还没有编译过,请进行下面的步骤;1.编译: 运行GRADE ,2.运行UG OPEN GRIP 会看到GRADE 的界面首先我们需要改变GRIP文件存放的目录,输入4,回车,然后输入GRIP所在的路径D:\UGS180\GRIPLIB\source\grip\main,回车,输入2,回车(我们全部编译),会看到编译(Compile)成功的界面。
然后回车返回,输入3,回车,即进行链接(LINK),同样会看到链接成功的画面。
至此我们已经可以在UG界面里掉用这些GRIP程序了。
3. 执行:进入UG界面,点FILE→Execute UG/Open→GRIP,选择D:\UGS180\GRIPLIB\source\grip\main下面的Scallop.grx,会看到我们在刀具直径里面输入10,跨距里面输入0.25,点击OK,会看到计算结果在信息框里显示Scallop为0.0016。
UG_grip
6.8.2 从文件中读数据: FETCH/TXT,1,’test.txt’ RESET/1 READ/1,A FTERM/TXT,1 HALT
6.9 显示信息实例: PRINT/A,B,’10’,NUM(1..3) FETCH/TXT,1,’test.txt’ RESET/1 FPRINT/1 FTERM/TXT,1 NOTE/0,0,0,’LINE1’ HALT
编译环境:Unigraphics V14.0 ---- UG Open --- 更改路径
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;
DATA/NUM,2,2,2 PN(1)=POINT/0,0,0 PN(2)=POINT/1,1 LN(1)=LINE/0,0,0,1,1,1 LN(2)=LINE/1,1,2,2 LN(3)=LINE/PN(1..2) LN(4)=LINE/PN(1),ATANGL,45 PN(3)=POINT/ENDOF,YLARGE,LN(3) PN(4)=POINT/NUM(1..3) PN(5)=POINT/INTOF,LN(1),LN(2)
第五章 UG Open Grip语句的二次开发技术
列
按列优先
2010/9/27
•
实体数组
格式:
第5章 CAD系统二次开发技术
ENTITY/var1(dim1),var2(dim1,dim2),var3(dim1,dim2,dim3) 例如: ENTITY/pt(4),ln(2) ENTITY/spl(2,3),surf 网格曲线法 surf=SSURF/PRIMA,spl(1,1..3),CROSS,spl(2,1..3) sq(1,1..3)表示 sq(1,1)、sq(1, 2)、sq(1,3)三个实 体数组元素,表示 数组的子集。
• • • • • • •
2010/9/27
录
5.1 CAD系统二次开发的环境与途径 5.2 UG/OPEN GRIP开发环境 5.3 GRIP语言基础 5.4 几何体的生成 5.5 程序流程控制语句 5.6 人机交互语句 5.7 几何实体变换
第5章 CAD系统二次开发技术
内容简介:
本章将以UG软件为例,讲述CAD软件系统的二次 开发技术。
例5.7 ENTITY /cr1,pt1,pt2 cr1=CIRCLE/0,0,1 pt1= POINT /CENTER,cr1 pt2= POINT /cr1,ATANGL,45 HALT
pt2
2010/9/27
第5章 CAD系统二次开发技术
例5.8 ENTITY/pt1,pt2,pt3,pt4,cr1,cr2,cr2,ln1 ln1=LINE/-2,-1,0,1 cr1=CIRCLE/1,0,1,START,45,END,210 cr2=CIRCLE/-1.25,0,0.5 cr3=CIRCLE/-0.5,0,0.5 pt1=POINT/ENDOF,XSMALL,ln1 pt2=POINT/ENDOF,YLARGE,cr1 pt3= POINT/ YLARGE,INTOF,cr2,cr3 pt4= POINT/ YSMALL,INTOF,cr2,cr3 HALT
一篇对GRIP初学者很有帮助的文章
HALT $$ 结束语
$$ 注释
ENTITY/ln1,ln2
ENTITY/flt1,pl1,torus1
e=VLENF(a) $$ 取向量模
f=SCALVF(10,a) $$ 向量数乘
g=UNITF(a) $$ 向量归一化
PRINT/FSTR(c)
PRINT/FSTR(d(1))+','+FSTR(d(2))+','+FSTR(d(3))
PRINT/FSTR(e)
PRINT/FSTR(f(1))+','+FSTR(f(2))+','+FSTR(f(3))
sph2=SPHERE/(CIRCLE/CENTER,(POINT/0,0,0),RADIUS,2) $$ 画球
block1=SOLBLK/ORIGIN,2,2,2,SIZE,1,1,1 $$ 画方块
cone1=SOLCON/ORIGIN,3,3,3,HEIGHT,1,DIAMTR,1,0 $$ 画圆锥
c2=CIRCLE/CENTER,(POINT/0,0,0),TANTO,(LINE/2,0,0,2,2,0),START,0,END,90 $$ 过圆心与线相切起始角终止角
c3=CIRCLE/CENTER,(POINT/0,0,0),(POINT/3,0,0) $$ 过圆心和点
c4=CIRCLE/(POINT/4,0,0),(POINT/0,4,0),(POINT/-4,0,0) $$ 过三点画圆
ln4=LINE/(POINT/0,0,0),ATANGL,45 $$ 过(0,0,0)画45度线
UG外挂开发教程1_GRIP深入认识
第一章 GRIP快速入门
1
本章主要内容
UG/Open GRIP简介
GRIP编程——一个简单的应用实例
GRIP编程总结
编程步骤
GRAND编译环境
制作工具栏菜单
2
1.1 UG/Open GRIP简介
UG/Open GRIP是用于UG 二次开发的软件工具。GRIP 语言具完整的语法规则、程序结构、内部函数,GRIP程序 必须经过编译、链接,生成可执行程序之后才能运行。利用 GRIP程序能够实现与Unigraphics的各种交互操作。 与其他二次开发语言相比,GRIP具备简单、易学、交 互性强的优点。GRIP语言是面向工程师的语言。通过GRIP 编程,用户将专业知识与Unigraphics系统融合,就能更好 地发挥Unigraphics软件的功能。
<2>Compile
7
1.4.2 GRADE编译环境
<3>Link
在Enter Option中输入3,则选择Link功能,然后输入 编译成功的文件名(不需带.gri后缀)。若链接成功, 则在GRADE对话框中将提示信息“***1 GRIP PROGRAM LINKED WITHOUT ERROR”;若链接失 败,则提示信息“***1 GRIP PROGRAM FAILED LINKING. IT IS ******”; 一般情况下,只要编译成功,链接必定成功。但当主 程序包含子程序,而某个子程序的编译文件在当前目 录下不存在才可能发生链接错误。
11ቤተ መጻሕፍቲ ባይዱ
8
1.4.2 GRADE编译环境
基于GRIP语言的UG二次开发
基于GRIP语⾔的UG⼆次开发基于GRIP语⾔的UG⼆次开发⼀、总述UG/Open GRIP 是UG软件包中的⼀个重要模块,是EDS公司提供的⽤于UG⼆次开发的软件⼯具。
GRIP语⾔具备完整的语法规则、程序结构、内部函数、GRIP程序必须经过编译、连接、⽣成可执⾏⽂件之后才能运⾏。
利⽤GRIP 程序能够实现与Unigraphicsde 各种交互操作,例如⼏何体的创建、⽂件的管理、系统参数的控制、UG数据库的存取等。
与其他⼆次开发语⾔相⽐,GRIP具备简单易学、交互性能强的优点。
GRIP 语⾔是⾯向⼯程师的语⾔,它不需要具备专业的编程知识,但必须具备⼀定程度的三维建模基础。
通过GRIP编程,⽤户将专业知识与Unigraphics系统融合,就能更好地发挥Unigraphics软件的功能。
在本次的开发设计中将运⽤GRIP语⾔编程实现UG中的实体复制。
在三维造型过程中,有时需要将某个实体从⼀个坐标系复制到另⼀个坐标系,实体在两个坐标系中的相对位置相同。
利⽤UG命令执⾏此操作的步骤⼗分繁琐,因此若能将这⼀过程实现程序化,则将⼤⼤提供三维造型的效率。
但GRIP语⾔只提供实体平移、实体沿某个坐标轴旋转的函数,因此此程序的难点在于如何确定实体在坐标系中的旋转⾓度和旋转⽅向才能实现其在此坐标系中的相对位置与原始坐标系的相对位置保持⼀致。
⼆、程序的编程步骤(1)⾸先选择需要复制的实体pickent;(2)然后选择新坐标系的原点和坐标轴的确定⽅式;(3)将实体pickent和原始坐标系precsys平移到新坐标系fincsys的原点cenpt,⽣成过渡实体ent1和过渡坐标系movecsys;(4)计算过渡坐标系movecsys的X轴和坐标系fincsys的X轴之间的⾓度ang1;(5)过渡坐标系movecsys的X轴和坐标系fincsys的X轴⽣成过渡坐标系chancsys,并在此坐标系下沿Z轴将过渡实体ent1和过渡坐标系movecsys分别旋转ang1⾓度,⽣成过渡实体ent2和过渡坐标系workcsys;(6)计算过渡坐标系movecsys的Z轴和坐标系workcsys的Z轴之间的⾓度ang2;(7)过渡坐标系workcsys的Z轴和坐标系fincsys的Z轴⽣成另⼀过渡坐标系chancsys,并在此坐标系下沿Z轴将过渡实体ent2旋转ang2⾓度,最终⽣成实体copyent。
UG-Open,GRIP——鲜为人知的二次开发编程
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强,甚至还差的很远很很远。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
功能
存取绝对坐标系 对象颜色
存取类型
RO RW
数据类型
E N
范围
[ 1..15 ]
6
2.1.2 GRIP命令的三种格式
EDA符号格式
EDA是实体数据存取(Entity Datas Access)的缩写, 是访问UG数据库的一种工具,能获得各种对象的功能 性参数,如实体类型、实体颜色、实体坐标等。EDA 格式也是以&开头。
辅词
CENTER START AXIS THRU
含义
中心 开始 轴 通过
辅词
PRIMA CROSS INTOF ANGLE
含义
主方向 横方向 ……的交点 角度
辅词
ORIGIN DELETE DELTA IFERR
含义
原点 删除 增量 如果错误
附录A中的函数的主词和辅词都是大写,这只是为了将主词和辅词与其他 实体、变量或值区别开来,在源程序代码中主词和辅词没有大小写之分。
变量初始化
变量初始化一般针对字符串变量和数字变量进行。
DATA/a(10),1,2,3,4,5,6,7,8,910 DATA/str(20),’Unigraphics’
4
2.1.1 GRIP程序的结构是GRIP语言的一大特点
IDENT/’pick 10 points’,pts,cnt,ptnum,resp PARAM/’enter the radius’,’半径=’,radius,resp CHOOSE/’choose option’,’ point’,’line’,resp $$选择实体 $$输入参数 $$选择一个选项
加号 +
加号+的含义是对于括号内的内容可以重复选择。
MINF(arg[,arg]+) DATA/name,value[,value] +[name,value[,value] +]] + PARAM/’message’{,’option’[,INT],variable}+,response
13
谢谢!
EDA符号
&BLANK(obj) &NAME(obj) &TYPE(obj)
功能
隐藏状态 实体名 实体类型
存取类型
RO RW RO
数据类型
N S N
范围
[ 1..2 ] 30个字符 2-202
7
2.1.3 主词和辅词
如前所述,陈述格式的GRIP命令由主词和辅词 构成。
主词是GRIP命令中主要的命令词,每个函数只能有一 个主词,教材附录A中所有函数的第一个大写单词全部 都是主词; 辅词是主词的附加修饰词,函数可以没有辅词也可以 包含多个辅词。下表列出了常用的一些辅词。
Param/’enter the datas’,’start radius’,stradius,$ 输入起点半径 ‘end radius’,endradius,$ 输入终点半径 ‘center radius,cenradius’,$ 输入中点半径 resp jump/l10:,trm:,,resp
一个程序可以存在多个非语句行,也可没有非语句行,但程序不能 只存在非语句行。
Param/’enter the datas’,’start radius’,stradius,$ ‘end radius’,endradius,$ ‘center radius,cenradius’,$ resp jump/l10:,trm:,,resp
9
2.1.4 续行号和注释行号
注释行号
GRIP程序的行有两种:语句行和非语句行。 语句行构成源程序的主体,它们将被编译、链接。生 成机器指令,对程序的执行有影响。 非语句行都以注释行号($$)开头,后面的内容全部 为注释。
程序主体
程序主体是程序最重要的部分,程序所要达到的功能 通过此部分来实现。
Ln=LINE/0,0,0,1,1,1 Face=BSURF/CURVE,cur(1),cur(2)
结束语言
主程序以halt结束,子程序以return结束。
5
2.1.2 GRIP命令的三种格式
GRIP命令是GRIP语言的基本组成部分,有三 种表示方法: 陈述格式
CAD软件二次开发 技术基础
第二章 GRIP编程基础(一)
1
本章主要内容
GRIP书写规则 变量、数组和字符串 转移结构、逻辑结构和循环结构 子程序的应用
文件管理
2
2.1 GRIP书写规则
GRIP程序的结构 GRIP命令的三种格式 主词和辅词 续行号和注释行号
应用最为广泛,由主词或主词加辅词构成。
obj=LINE/point1,point2 obj=LINE/point,ATANGL,angle
GPA符号格式
GPA是全局参数存储(Global Parameter Access)的 缩写。GPA格式以符号&开头,最长有6个字母。
GPA符号
&ABS &ENTCLR
14
12
2.1.6 GRIP函数相关说明
大括号{ }
大括号{ }的含义是必须选择括号内用“|”隔开的内容 之中的某一项。
Obj=LINE/point1,{LEFT|RIGHT|point2},TANTO,curve
中括号[ ]
中括号[ ]的含义是对于括号内的内容可选可不选。
Obj=LINE/x1,y1,[z1],x2,y2,[z2]
8
2.1.4 续行号和注释行号
续行号
在GRIP程序中,每行只允许书写一个语句,不能书写 多个语句。
Ident/’pick a point’,pt,resp jump/l10:,trm:,,resp $$错误!!!
GRIP程序还规定,每行最多书写80个字符,包括标点 符号。因此若某行的程序字符超过80,则必须采用续 行号($)。当然,为使源程序代码层次清晰,若某行 程序字符不超过80也可采用续行号。例如,
11
2.1.5 语句标号
语句标号是放置在GRIP语句前面,其主要作用是 为了实现程序的循环。 语句标号必须是以字母开头的任意字母和数字的 六位组合。 一个程序可以包含语句标号,也可以不包含语句 标号,但不能存在相同的语句标号。
Do/L10:,index,1,2 Flag(i)=1
L10: Sum=flag(1)+flag(2) $$计算flag(2)数组的和 $$数组flag(2)赋值
在程序的开头,为了便于读者理解程序,通常会注明此程序 的相关信息,如程序用途、变量说明、子程序解释等。 在程序中间,为了理解某一行或几个程序的含义,在这些程 序行附近也可以添加一些注释。
【例2.1】
10
2.1.4 续行号和注释行号
注释行号
程序的注释位于单独一行,当然程序注释也可以和程序 语句位于同一行,前提是该行程序代码和注释的总字数不得 大于80。 此外,在续行号($)后面的语句也是注释,例如:
语句标号
GRIP函数相关说明 3
2. 1. 1 GRIP程序的结构
通常情况下,一个GRIP程序由下面5部分组成: 变量声明
GRIP变量的种类有三种:entity、string和number。
ENTITY/pt,ln,face(50) NUMBER/a(10),b(10,10),c(10,10,10) STRING/str(20)