GRIP例题.doc

上传人:h**** 文档编号:1412197 上传时间:2019-02-24 格式:DOC 页数:14 大小:70.68KB
下载 相关 举报
GRIP例题.doc_第1页
第1页 / 共14页
GRIP例题.doc_第2页
第2页 / 共14页
GRIP例题.doc_第3页
第3页 / 共14页
GRIP例题.doc_第4页
第4页 / 共14页
GRIP例题.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、 GRIP例题 子程序及其调用 规定: 1) 以 PROC/语句开始 2)以 RETURN 语句结束 3)必须由主程序或其它子程序调用才起作用 例: Subroutine name: sub1.grs Abstract: PROC/ent, sp(3), ep(3) ENTITY/ent NUMBER/sp(3), ep(3) sp = & SPOINT (ent) 起点的 (x, y, z)坐标 ep = &EPOINT (ent) 终点的 (x, y, z)坐标 RETURN 写主程序 主程序名: Proc1. grs 被调用的子程序 sub1.grs ENTITY/net NUMBER/

2、a(3), b(3) MASK/3 ld: IDENT/Pick line, ent, resp JUMP/ld:,trm, resp CALL/sub1, ent, a, b 调用子程序 sub1 PRINT/a,b MASK/all trm: HALT 子程序的一般格式: PROC/形式参数表 变量申明语句 子程序主体 RETURN 可以有多个 RETURN 主程序的调用命令 CALL/子程序,实际参数表 虚实结合传递数据 .子程序的形式参数可以是 ENTITY, STRING, NUMBER 等变量名,也可以是一般变量。 .子程序 /主程序分开编译,通过 GRIP的 LINK链接。子程序

3、调用数量最多不超过 50个。 .虚元和实元之间 的类型一一对应(一般要求)个数相等。 例: sub2.grs PROC/x, y, n, nf NUMBER/x (3), y (3), n,nf (3) IFTHEN/x (1) = 0 or y (1) =0 DO / Loop1:, i, 1, 3 nf (i) = x (i) + y (i) Loop1: RETURN ENDIF IFTHEN/ x (1) y (1) DO / Loop2:, i, 1, 3 nf (i ) = x (i ) + 1 Loop2: RETURN ELSE DO / Loop3:, i, 1, 3 nf

4、(i) = x (i) *n + y (i) *n Loop3: RETURN ENDIF HALT 实元的字符串变量的维数、大小应大于或等于虚元的字符串变量的维数和大小: ENTITY / ln1,pt( 4 ) NUMBER / abc(3),cdf(3),num (5) 实元说明 DATA / abc,10,15,21 DATA / cdf,25,30,10 DATA / num,1.5,2.0,2.5,3.0,3.5 nba=2.0 CALL/ sub2,abc, cdf, nba, num (1.3) 调用子程序 HALT 虚实结合调用,简单变量可以不说明 5.3.3 GRIP交互式

5、操作 编程 见书 P118 例题:交互式多项选择 NUMBER / catvar ( 5 ) STRING / catstr ( 5, 40 ) DATA / catstr, Add layers, Remove layers, Delete category, Enter/change CAT description, Remove category description DATA / catvar, 0, 0, 0, 0, 0 l1: MCHOOSE/SELECT CAT OPTIONS,catstr, catvar, rsp JUMP / l1:, hal:, , , rsp PRIN

6、T / catvar MESSG / TEMP, demos MCHOOSE statement hal: HALT 运行结果: 例:给多个参数交互式赋值 DATA / hzds, 12.0, hzn, 6, vtds, 25.0, vtn, 5, dia, 2.4 l10: PARAM / RECT, HOLE DATA, ARRAY HZDS, hzds, NO. HORIZ ,INT, hzn, ARRAY VTDS, vtds, NO. VERT.,INT ,vtn, DIA, dia, rsp JUMP /l10:, Stop:, , rep Stop: HALT 运行结果: Cue

7、: SELECT CAT OPTIONS Add layers Remove layers Delete category Enter / change CAT description Remove category description OK Back Cancel Messge demos MCHOOSE statement O K 例: IDENT语句使用 : ident1. grs ENTITY / bc, pt ( 100) K=0 l10: k = k + 1 MASK / 2 IDENT / PICK POINT + ISTR(k), pt, CNT, k, resp 指示多个

8、点,并记下点数 JUMP / l10:, term:, , resp IF / k = 2, JUMP/ Err 1: l20: bc = BCURVE / pt ( 1.k) 生成 B 曲线 Cue: RECT HOLE DATA ARRAY HZDS NO. HORIZ ARRAY VTDS NO. VERT. DIA 12 . 0000 6 25 . 0000 5 2 . 4000 OK Back Cancel JUMP / term: Err1: MESSG / You must select more points JUMP / l10: term: HALT ident_2. gr

9、s ENTITY / bc, pt ( 100 ) k = 0 l10: k = k + 1 MASK / 2 IDENT / pick point + ISTR ( k ) , pt ( k ) , resp JUMP / rej1:, term:, , resp CHOOSE / CHOOSE OPTION , NEXT POINT, CREATE B-curve,rsp JUMP / rej2: term:, , ,l10:, l20,rsp IF / k = 2,JUMP / Err1: l20: bc = BCURVE / pt (1.k ) JUMP / term: rej1: k

10、 = k 1 JUMP / l10: rej2: k = k 1 JUMP / l20: Errl: MESSG/ You must select more points JUMP / l10: term: HALT 5.3.3.2 文件管理 几何信息、尺寸 PART文件 模型文件 ,信息完备 属性参数 TEXT文件 文本文件,可供阅读。 建立部件文件、 建立文本文件 CREATE / PART CREATE / TXT 读取文件 读部件文件 FETCH / PART , 读文本文件 FETCH / TXT, 保存文件 FILE / PART, FILE / TXT, FDEL / , COP

11、Y / , FMOVE / 删除 拷贝 移动 文件 目录操作: 建立 CRDIR / , 打开 DOPEN / ,SOPEN/, 关闭目录 DCLOSE/,SCLOSE / 5.3.3.3 文本文件的输入输出语句 数据格式 自由格式 用分隔符隔开: 空格、“”、“;” “,”等,一般用“,” 映象字符串 以“ #”开头,用 代表映象场 如: # . 123.456 映象字符串一般要加 USING 读语句 格式: READ / file # , LINEO, line # , USING , Image String , IFEND, label : , IFERR, Label , varia

12、ble list File # 临时文件的通道号 LINEO, line # 读入临时文件中该行号的数据 USING, Image String 用映象字符串定义数据格式 IFEND, label : 若执行到文件的末尾,则转移到语句标号 IFERR, label : 若执行到文件的错误,则转移到语句标号 5.4 用 GRIP语言生成 UG几何实体 1) 工作视图 (缺省 . 1) 1 TOP, 2 FRONT, 3 RIGHT, 4 LEFT 5 BOTTOM, 6 BACK, 7 正轴测, 8 斜轴测 2 ) 工作图层 (缺省 1 ) 1 256 改变工作图层: 改变工作图层的状态 LAY

13、ER / work , n &LYRSEL ( layer number , IFERR label: = 1 可选,打开 layer number赋值 2 不可选,关闭 3)位置修饰词的使用 例 . 求两条曲 线的交点 pt1 = PO INT / YLARGE, INTOF, cn1, cn2 pt2 = POINT / YSMALL, INTOF, cn1, cn2 4)常用辅词 CENTER 中心; RADIUS 半径; DIAMTR 直径 START 开始角; END 终止角: ON 在 上 TANTO 相切于; PERPTO 垂直于; PARLEL 平行于 VECT 矢量;(三个分

14、量); ANGLE 角度(度); DELTA 增量 ENDOF 的端点 INTOF 的交点; CSYS 坐标系 AXIS 轴; SIZE 边数 / 尺寸; ORIGIN 原点 THRU 通过; LEFT 左边; RIGHT 右边; CNT 计数 NOTRIM 不修剪; TOLER 容差; PRIMA 主方向 CROSS 横方向; KNOT 节点; CLOSED 闭合(曲线) OPEN 开口(曲线); DELETE 删除; BLANK 隐藏 IFERR 如果错误 5)定义坐标系(原点加上 Xc 、 Yc、 Zc,相对于现有工作坐标系定义新的工作坐标系) 例:三点定义新的工作坐 标系 ENTITY

15、 / pt1 , pt2 , pt4 , csys1 pt1 = POINT / 1, 1, 1 pt2 = POINT / 2, 2, 1 pt3 = POINT / 2, 2, 1 csys1 = CSYS / pt1, pt2, pt3 HALT 例:圆弧和一个点定义新的工作坐标系 ENTITY / cr1, pt1, csys1, csys2 cr1 = CIRCLE / 0, 0, 1, 1 pt1 = POINT / 1, 1, 0 csys1 = CSYS / cr1 csys2 = CSYS / csys1, ORIGIN, pt1 & WCS = csys2 指定为当前工作坐

16、标系 &WCSDRW = &YES 显示该 WCS HALT 已知三点、两条直线、一点一直线、二次曲线、已存在的坐标系等都可建立新的坐标系。 实体生成例题 例 1:样条曲线 ENTITY /p(4),spln(2) p(1)=POINT/-1,0 p(2) = POINT / 0,0 p(3)= POINT / 1,0.866 p(4)= POINT / 2,0.75 spln(1)=SPLINE/p spln(2)=SPLINE/CLOSE,p HALT 例 2:生成六角螺母 ENTITY/ent(7), pim, pim1, cy1, con, cr1, cr2, pt &ENTCLR=&

17、RED &WCSDRW=&YES $显示坐标系 l1: PARAM/ENTER PARAMS OF NUT, $ OUTER DIA =, dia1, $ $六角螺母外径 HEIGHT=, h, $ $六角螺母高度 HOLE DIA =, hd, resp $螺孔直径 JUMP/l1:, l99:, , resp dia2=dia1/2 pim=SOLPRI/ORIGIN, 0, 0, 0, HEIGHT, h, $ DIAMTR, dia1, SIDE, 6 $生成六角棱柱体 cy1=SOLCYL/ ORIGIN, 0, 0, 0, HEIGHT, h, $ DIAMTR, hd $生成圆柱体 cr1=CIRCLE/0,0,0, dia1 $以 dia1为半径绘锥底圆

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 试题真题

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。