2024年5月4日发(作者:中兴u880看电视)
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)
正文
HALT
2. 编写过程:
环境:Notepad
源程序:.grs 编译文件:*.gri 链接文件(可执行文件):*.grx
编译环境:Unigraphics V14.0 ---- UG Open GRIP
2 --- 编译 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/
STRING/
CHRSTR()
SUBSTR()
REPSTR()
用途
数字型
字符串型
转换ASCII码
取字符
替换字符
函数名
ENTITY/
FSTR()
ISTR()
LENF()
用途
实体型
将浮点型转化为字符型
将整型转化为字符型
返回字符个数
1
向量运算
其它操作符
二维功能
曲线功能
曲面功能
三维功能
编辑功能
坐标系
界面功能
参数查询
逻辑语句
函数功能
文件功能
其它功能
结束语句
DOTF()
SCALVF()
DATE
DATA/
POINT/
CIRCLE/
FILLET/
CRVTRM/
CTRIM/
SECT/
INTSEC/
REVSRF/
FILSRF/
CYLNDR/
CONE/
SPHERE/
SOLEXT/
UNITE/
INTERS/
SOLCYL/
SOLPRI/
SOLTOR/
SOLCUT/
MATRIX/TRANSL
MATRIX/XYROT
TRANSF/
CSYS/
CHOOSE/
GPOS/
MESSG/
&PSPEC
&WCS
&ENTCLR
&POINT
&CENTER
&RADIUS
IFTHEN/
DO/
CALL/
FDEL/
FCOPY/
CREATE/
FAPEND/
READ/
APPEND/
FTERM/
GROUP/
CHAIN/
PRINT/
HALT
向量内积
向量数乘
日期
数组赋值
点
圆
倒圆
曲线剪切
延伸
截面线
曲面交线
旋转生成曲面
曲面倒角
圆柱曲面
圆台曲面
球面
拉伸生成实体
合并
相交
圆柱
棱体
圆环体
切实体
平移矩阵
旋转矩阵
编辑
设置坐标系
选择界面
坐标点界面
信息框
取文件目录
取当前坐标系
定义实体颜色
取点坐标
取圆心坐标
取圆半径
判断语句
循环语句
调用函数
删除文件
拷贝文件
建立新文件
打开文件追加
读数据
追加数据
关闭文件
组合
链接实体组
显示信息
主程序结束
VLENF()
UNITF()
TIME
LINE/
ELLIPS/
SPLINE/
PLANE/
SOLEDG/
ISOCRV/
TABCYL/
OFFSRF/
BSURF/SWPSRF
BSURF/CURVE
BSURF/MESH
SOLREV/
SUBTRA/
SOLBLK/
SOLCON/
SOLSPH/
SEW/
BLEND/
MATRIX/SCALE
MATRIX/MIRROR
PARAM/
IDENT/
TEXT/
&PNAME
&ABS
&BGCLR
&LENGTH
&SPOINT
&EPOINT
JUMP/
DELETE/
PROC/
FMOVE/
CRDIR/
FETCH/
RESET/
WRITE/
FILE/
UNGRP/
MASK/
FPRINT/
RETURN
向量模
单位向量
时间
直线
椭圆
多义线
平面
实体边界线
曲面边界线
拉伸生成曲面
平移放大曲面
Swept
Through Curves
Through Curve Mesh
旋转生成实体
相减
立方体
圆锥
球体
缝合曲面
实体倒角
缩放矩阵
镜象矩阵
参数界面
选择界面
字符输入界面
取文件名
取绝对坐标系
取背景颜色
取直线长
取直线起点坐标
取直线终点坐标
跳转语句
删除语句
子函数
移动文件
建立子目录
打开文件写
设置头指针
写数据
文件存盘
取消组合
标记
显示文件
子程序结束
2
6. 实例:
6.1 二维作图实例:
NUMBER/NUM(3)
ENTITY/PN(5),LN(4),CR(4),SPLN,FLT,PLN
DATA/NUM,2,2,2
6.3 曲面作图实例:
ENTITY/BS(3),SOLID
BS(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),$
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)
SPLN=SPLINE/PN(1..4)
CR(1)=CIRCLE/0,0,1
CR(2)=CIRCLE/CENTER,PN(1),RADIUS,1,$
START,0,END,90
CR(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,NOTRIM
CRVTRM/LN(1),REF,PN(1),FIRST,LN(2),INT,$
PN(2), NOTRIM,STATUS,STAT
CTRIM/LN(1),1,START
CTRIM/LN(1),-1,END
PLN=PLANE/XYPLAN
HALT
6.2 三维作图实例:
ENTITY/SOLID(5),SOL(2)
SOLID(1)=SOLEXT/LN(1..4),HEIGHT,1,$
AXIS,0,0,1
SOLID(2)=SOLREV/LN(1..4),ORIGIN,0,0,0,$
ATANGL,360,AXIS,0,0,1
SOLID(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
GENCRV,OBJ
SOLID=SEW/BS(1..3)
HALT
6.4 编辑作图实例:
NUMBER/MAT(12)
ENTITY/LNN,LN(5)
MAT=MATRIX/TRANSL,1,1,1
LN(2)=TRANSF/MAT,LN(1)
MAT=MATRIX/SCALE,2,1,1
LN(3)=TRANSF/MAT,LN(1)
MAT=MATRIX/XYROT,45
LN(4)=TRANSF/MAT,LN(1),MOVE
MAT=MATRIX/MIRROR,LNN
LN(5)=TRANSF/MAT,LN(1)
HALT
6.5 编辑坐标系实例:
NUMBER/MAT(12)
ENTITY/CSYS(5)
&WCS=&ABS
CSYS(1)=&WCS
MAT=MATRIX/TRANSL,1,1,1
CSYS(2)=TRANSF/MAT,CSYS(1)
CSYS(3)=CSYS/LN(1),LN(2)
CSYS(4)=CSYS/CSYS(1),ORIGIN,PN(1)
CSYS(5)=CSYS/’TOP’
HALT
6.6 逻辑语句实例:
6.6.1 判断语句:
IFTHEN/A>NUM
TEMP=A
ELSEIF/B>NUM
TEMP=B
ELSE
TEMP=C
ENDIF
3
IFTHEN/A>B AND A>C
NUM=A
ENDIF
6.6.2 跳转语句:
L1:
A=A+1
JUMP/L1:
6.6.3 循环语句:
DO/L2:,I,1,10,2
A=A+1
L2:
6.7 界面操作实例:
6.7.1 选择界面:
NUMBER/RESP
L0:
CHOOSE/’Please choose options!’,’OPTION1’,$
’OPTION2’,RESP
JUMP/L0:,TERM:,,,L1:,L2:,RESP
L1:
NUM=1
JUMP/TERM:
L2:
NUM=2
TERM:
HALT
6.7.2 参数输入界面:
NUMBER/RESP
L0:
PARAM/’Input these values!’,’A’,NUMA,’B’,$
INT,NUMB,RESP
JUMP/L0:,TERM:,,,RESP
PN=POINT/NUMA,NUMB
TERM:
HALT
6.7.3 信息输出界面:
MESSG/’ERROR!’
6.8 文件操作实例:
6.8.1 创建新文件写数据:
A=10
CREATE/TXT,1,’’
WRITE/1,A
FILE/TXT,1
FTERM/TXT,1
HALT
6.8.2 从文件中读数据:
FETCH/TXT,1,’’
RESET/1
READ/1,A
FTERM/TXT,1
HALT
6.9 显示信息实例:
PRINT/A,B,’10’,NUM(1..3)
FETCH/TXT,1,’’
RESET/1
FPRINT/1
FTERM/TXT,1
NOTE/0,0,0,’LINE1’
HALT
6.10 参数查询实例:
NUMBER/NUM(3)
STRING/STR1(10),STR2(10)
STR1=&PSPEC
STR2=&PNAME
&ENTCLR=&BLUE
NUM=&POINT(PN)
HALT
6.11 其它实例:
ENTITY/GRO
GRO=GROUP/PN(1..5),LN,CR,COLID
UNGRP/GRO
DELETE/PN(1..5)
。
7.2 编写菜单文件:
打开Notepad,编写*.men文件:
VERSION 120
EDIT UG_GATEWAY_MAIN_MENUBAR
BEFORE UG_HELP
CASCADE_BUTTON GEAR_BTN
LABEL Gear Modeling
END_OF_BEFORE
MENU GEAR_BTN
CASCADE_BUTTON GEAR1_BTN
LABEL Involute Straight Cylindrical Gear
4
CASCADE_BUTTON GEAR2_BTN
LABEL Involute Helical Cylindrical Gear
SEPARATOR
BUTTON HELP_BTN
LABEL Gear Modeling Help
ACTIONS
END_OF_MENU
MENU GEAR1_BTN
BUTTON GEAR11_BTN
LABEL Single Gear
ACTIONS gear_
BUTTON GEAR12_BTN
LABEL Gear Pair
ACTIONS gear_
END_OF_MENU
MENU GEAR2_BTN
BUTTON GEAR21_BTN
LABEL Single Gear
ACTIONS gear_
BUTTON GEAR22_BTN
LABEL Gear Pair
ACTIONS gear_
END_OF_MENU
5
发布者:admin,转转请注明出处:http://www.yc00.com/num/1714828584a2523820.html
评论列表(0条)