第五章CAD软件系统二次开发技术_第1页
第五章CAD软件系统二次开发技术_第2页
第五章CAD软件系统二次开发技术_第3页
第五章CAD软件系统二次开发技术_第4页
第五章CAD软件系统二次开发技术_第5页
已阅读5页,还剩95页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2022-4-29关于关于CAD系统系统适用性适用性的的几个问题几个问题 “CAD系统系统仅仅仅仅是一块需要花很多钱的是一块需要花很多钱的高级图高级图板板!”这种说法对吗?这种说法对吗? UG生成的模型能否供其它生成的模型能否供其它异构异构的的CAD系统(如系统(如Pro/E、AutoCAD等)使用?反之行吗?等)使用?反之行吗? 如何才能用如何才能用UG系统系统同时同时完成机械零件(如齿轮)完成机械零件(如齿轮)的参数计算和结构建模设计(即的参数计算和结构建模设计(即参数化设计参数化设计)?)? 可以将一个通用可以将一个通用CAD软件系统改造成满足用户个软件系统改造成满足用户个性化需求的性化

2、需求的高效专用高效专用的系统吗?的系统吗?2022-4-29当前当前CAD技术面临的基本问题技术面临的基本问题 问题一问题一、以几何建模技术为核心,不能充分地满、以几何建模技术为核心,不能充分地满足产品设计需求。足产品设计需求。 问题二问题二、各自自然发展起来的异构的、各自自然发展起来的异构的CAD系统,系统,形成了多个形成了多个“信息化孤岛信息化孤岛”。 问题四问题四、必须提供工具和方法,使用户能够自主扩、必须提供工具和方法,使用户能够自主扩展商用展商用CAD系统的功能,解决工程设计问题。系统的功能,解决工程设计问题。 问题三问题三、则重系统的通用性和用户的覆盖面,、则重系统的通用性和用户的

3、覆盖面, “功能丰富、效率不高功能丰富、效率不高” 是商用是商用CAD系统的普遍系统的普遍问题。问题。2022-4-29本章学习要求与学习方法本章学习要求与学习方法了解了解 CADCAD支撑支撑软件软件二次开发二次开发的目的、途经和方法。的目的、途经和方法。第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术掌握掌握 UG/OPEN GRIPUG/OPEN GRIP二次开发编程技术。二次开发编程技术。学习诀窍:学习诀窍:明确二次开发目标、体会编程差异、明确二次开发目标、体会编程差异、熟悉系统资源、重视读写结合、坚持多编程多调试。熟悉系统资源、重视读写结合、坚持多编程

4、多调试。2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术 3 3、改善、改善CADCAD支撑软件系统的支撑软件系统的适用性适用性。将。将程序设程序设计语言计语言与与系统资源系统资源紧密结合解决问题。紧密结合解决问题。第1节 CAD系统二次开发的环境与途径 2 2、提高、提高CADCAD支撑软件系统的支撑软件系统的使用效率使用效率。通过。通过开发开发专用菜单、命令、模型库专用菜单、命令、模型库等实现。等实现。 CADCAD支撑软件系统二次开发的目的(三大目标)支撑软件系统二次开发的目的(三大目标) 1 1、实现异构、实现异构CADCAD软件系统之

5、间的软件系统之间的数据共享数据共享。利。利用用STEPSTEP、IGESIGES等等数据交换标准数据交换标准和和接口软件接口软件。2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术 利用利用CADCAD系统的系统的嵌入式语言嵌入式语言或或API开发方法开发方法第1节 CAD系统二次开发的环境与途径 通用通用CADCAD软件系统软件系统用户化用户化开发方法开发方法 CADCAD支撑软件系统二次开发的三类主要方法支撑软件系统二次开发的三类主要方法 数据文件共享数据文件共享开发方法开发方法 OPEN GRIP是是UG的一个重要模块,的一个重要模块, 它

6、有完整的语它有完整的语法规则、程序结构、内部函数,法规则、程序结构、内部函数, 是一种是一种嵌入在嵌入在UGUG中的中的程序设计语言程序设计语言。GRIP程序经过编译、链接,生成可执程序经过编译、链接,生成可执行文件之行文件之 后才能运行。后才能运行。 GRIP具有简单、易学、交互性能强的优点,是具有简单、易学、交互性能强的优点,是面面 向工程师的二次开发语言向工程师的二次开发语言,要求具备一定的,要求具备一定的UG三三 维建模基础。维建模基础。 利用利用GRIP(Graphics InteractiveProgramming) 程序能够程序能够实现对实现对UGUG的各种交互操作的各种交互操作

7、,如创建几何,如创建几何 体、管理文件、控制系统参数、存取体、管理文件、控制系统参数、存取UG数据库等。数据库等。UG/OPEN GRIP UG/OPEN API(又称(又称User Function)是一个允)是一个允许程序访问并改变许程序访问并改变UG对象模型的对象模型的程序集程序集。它封装。它封装了近了近2000个个UG操作函数。操作函数。 UG/OPEN API可以方便地对可以方便地对UG图形终端、文件管图形终端、文件管理系统和数据库进行操作,绝大多数理系统和数据库进行操作,绝大多数UG操作都可操作都可以用以用UG/OPEN API函数实现。开发者通过函数实现。开发者通过使用使用VC+

8、调用这些函数,达到系统用户化的目的。调用这些函数,达到系统用户化的目的。UG/OPEN API 运用运用UG/OPEN API能够实现:能够实现: 对对UGUG模型及文件进行操作模型及文件进行操作,包括建立模型、,包括建立模型、查询模型对象、建立并遍历装配体、创建工程图等;查询模型对象、建立并遍历装配体、创建工程图等; 在在UG主界面中主界面中创建用户交互式界面创建用户交互式界面; 创建并管理创建并管理用户定义对象用户定义对象等。等。 这些函数和过程分别在这些函数和过程分别在/ugopen目录下的头文目录下的头文件(件(.h)中定义。)中定义。2022-4-29第5章 基于特征的基于特征的CA

9、DCAD软件系统二次开发技术软件系统二次开发技术 UG/GRIPUG/GRIP实用编程基础。清华大学出版社,王庆林。实用编程基础。清华大学出版社,王庆林。20022002本章以本章以UGUG的嵌入式语言的嵌入式语言OPEN GRIPOPEN GRIP为例,讲解通为例,讲解通用用CADCAD支撑软件系统的二次开发技术基础支撑软件系统的二次开发技术基础 参考书:参考书: UGUG在线帮助文档和教材的附录在线帮助文档和教材的附录 计算机辅助设计原理(计算机辅助设计原理(CADCAD)和应用技术。湖南)和应用技术。湖南大学大学出版社,刘子建等。大学大学出版社,刘子建等。199819982022-4-2

10、9第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术第2节 UG NX/OPEN GRIP开发环境1. 软件环境和语法基础;软件环境和语法基础;2. 数据类型及其操作;数据类型及其操作;3. 程序结构(顺序、分支、循环结构,子程序程序结构(顺序、分支、循环结构,子程序等)等)4. 语言的特殊功能(如语言的特殊功能(如GRIP的交互式操作、实的交互式操作、实体生成与控制等)体生成与控制等) 程序设计学习的主要内容程序设计学习的主要内容2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术第2节 UG NX/OPEN GRI

11、P开发环境1. 进入进入UG Tools/UG Open GRIP(GRADE);(1)点击)点击“开始开始”“所有程序所有程序” Siemens NX8.0NX 工具工具 NX OpenGrip 即可启动即可启动GRADE(注:只要成功运行了(注:只要成功运行了“NX许可工具许可工具”, GRADE可以单独使用)可以单独使用)(2) GRADE的界面如下:的界面如下: NX/Open Grip程序设计一般步骤程序设计一般步骤2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术第2节 UG NX/OPEN GRIP开发环境 NX/Open Grip

12、程序设计一般步骤程序设计一般步骤2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术第2节 UG NX/OPEN GRIP开发环境2. 编写源程序,得编写源程序,得.grs文件(用记事本编写);文件(用记事本编写);3. 编译(编译(Compile)得)得.gri文件;文件;4. 链接(链接(Link)得)得.grx文件;文件;5. 在在UG中运行中运行(Ctrl_G) 文件文件执行执行Grip运行运行.grx文件。文件。注:通过注:通过“帮助帮助”“命令查找器命令查找器”可以显示隐可以显示隐藏了的藏了的“执行执行”命令。命令。 NX/Open G

13、rip程序设计一般步骤程序设计一般步骤2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术第2节 UG/OPEN GRIP开发环境 GRIP命令的三种格式命令的三种格式 陈述格式(陈述格式(Statement Format) SF格式格式 全局参数存取格式(全局参数存取格式(Global Parameter Access) GPA格式格式 实体数据存取格式(实体数据存取格式(Entity Data Access) EDA格式格式 GRIPGRIP程序结构及语言命令的三种格式程序结构及语言命令的三种格式 程序由若干条程序由若干条GRIP语句语句组成,

14、语句由组成,语句由GRIP命令命令组成组成2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术第2节 UG/OPEN GRIP开发环境1、SF格式格式命令命令 由由主词主词、辅词辅词和参数构成,中间用和参数构成,中间用“/ /”分开分开 只有只有主词主词( (参数参数) )就形成就形成OPEN GRIPOPEN GRIP的的标准函数标准函数 陈述格式命令包括标准函数、几何变换、投影变陈述格式命令包括标准函数、几何变换、投影变换、曲线曲面、几何实体生成、实体编辑、定义换、曲线曲面、几何实体生成、实体编辑、定义字体和线型、定义坐标系、显示控制、文件操作

15、字体和线型、定义坐标系、显示控制、文件操作等等400400多多个命令个命令 GRIPGRIP命令的三种格式命令的三种格式v 由主词、辅词和参数构成,中间用由主词、辅词和参数构成,中间用“/”/”分开分开 ln1=LINE/0,0,0,10,0,0 ln1=LINE/0,0,0,10,0,0 $ $在由在由(0,0,0)(0,0,0)和点和点(10,0,0)(10,0,0)生成一条直线生成一条直线 ln=LINE/PARLEL,ln1,YSMALL,1.0 ln=LINE/PARLEL,ln1,YSMALL,1.0 $ $在直线在直线ln1ln1下方下方1.01.0处绘制一条平行线处绘制一条平行

16、线例题:例题:ENTITY/ln1,ln2,cl1,ptENTITY/ln1,ln2,cl1,pt ln1=LINE/0,0,0,1800 ln1=LINE/0,0,0,1800 ln2=LINE/PARLEL,ln1,XSMALL,1000 ln2=LINE/PARLEL,ln1,XSMALL,1000 pt=POINT/-500,1800 pt=POINT/-500,1800 cl1=CIRCLE/CENTER,pt,RADIUS,500,180 cl1=CIRCLE/CENTER,pt,RADIUS,500,180HALTHALT 常用辅词表常用辅词表辅词辅词功能功能辅词辅词功能功能辅词

17、辅词功能功能AXIS轴轴BLANK隐藏隐藏CENTER中心中心CNT计数计数CROSS横向横向CLOSED闭合闭合CSYS坐标系坐标系DELTA增量增量DELETE删除删除KNOT节点节点ENDOF的端点的端点DIAMTR直径直径LEFT左边左边IFERR如果错误如果错误NOTRIM不修剪不修剪ON在在上上INTOF的交点的交点ORIGIN原点原点OPEN开口开口(曲线曲线)PRIMA主方向主方向PARLEL平行于平行于SIZE边数边数START开始开始(角角)PERPTO垂直于垂直于THRU通过通过TANTO相切于相切于RADIUS半径半径VECT矢量矢量TOLER容差容差RIGHT右边右边

18、2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术第2节 UG/OPEN GRIP开发环境2、GPA格式格式命令命令 以以“&”开头,最长为开头,最长为6 6个字母,用个字母,用GPA命命令可令可访问(设置)和存取访问(设置)和存取UG的系统变量的系统变量 GPA命令命令有确定的与系统变量相关的含义、有确定的与系统变量相关的含义、数据类型和参数取值范围数据类型和参数取值范围 GPA命令共有命令共有180180个个左右。如左右。如&ENTCLR=&red&ENTCLR=&red、&FONT=1&FONT=1、&HMAT=&steel&HMAT=&s

19、teel等等 GRIPGRIP命令的三种格式命令的三种格式2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术第2节 UG/OPEN GRIP开发环境3、EDA格式格式命令命令 以以“&”开头,用于开头,用于访问访问UG数据库数据库中的各种资源中的各种资源 EDA命令有确定的存取类型、数据类型等要求命令有确定的存取类型、数据类型等要求 EDA命令可以访问命令可以访问UG数据库中所有实体属性、数据库中所有实体属性、几何参数、位置坐标等,包括几何参数、位置坐标等,包括120120多多个命令。如个命令。如&TYPE(obj)&TYPE(obj)、&LAY

20、ER(obj)&LAYER(obj)、&NORMAL(0bj)&NORMAL(0bj)等等 GRIPGRIP命令的三种格式命令的三种格式ENTITY/ln1,ln2 &ENTCLR=&yellow $设置实体颜色设置实体颜色 &FONT=1 $设置实体线型为实线设置实体线型为实线 ln1=LINE/0,0,4,0 $直线直线ln1为黄色实线为黄色实线 &FONT=2 $设置线型为虚线设置线型为虚线 ln2=LINE/4,4,0,4 $直线直线ln2ln2为黄色虚线为黄色虚线HALTHALT将已有直线的颜色改为红色(写功能)将已有直线的颜色改为红色(写功能) &COLOR(ln1)=&red &

21、COLOR(ln1)=&red提取点提取点pt1pt1的坐标值(读功能),放入数组的坐标值(读功能),放入数组cd(3)cd(3)中中 cd=&POINT(pt1) cd=&POINT(pt1)序号序号功能功能EDA命令命令访问类型访问类型数据类型数据类型范围范围1线型线型&FONT(ent)RWNUMBER1.72颜色颜色&COLOR(ent)RWNUMBER1.153线宽线宽&LWIDTH(ent)RWNUMBER1.34层层&LAYER(ent)RWNUMBER1.256 常用的实体数据存取(常用的实体数据存取(EDAEDA)命令)命令2022-4-29第5章 基于特征的基于特征的CAD

22、CAD软件系统二次开发技术软件系统二次开发技术 初始化语句部分初始化语句部分第2节 UG/OPEN GRIP开发环境 GRIP程序组成程序组成 申明语句部分申明语句部分 交互语句部分交互语句部分 过程处理语句部分过程处理语句部分 结束语句部分(结束语句部分(HALTHALT语句)语句)2022-4-29GRIP程序结构例子:程序结构例子:$ 申明语句部分申明语句部分 ENTITY / ln1, ln2, ln3, pt(20) STRING / str(30) NUMBER / a(10), B(2,3), c(2,3,2)$ 初始化语句部分初始化语句部分 DATA / a(10), 1, 2

23、, 3, 4, 5, 6, 7, 8, 9, 10 DATA / str(30), This is a good GRIP program. k = k+1$ 交互式语句部分交互式语句部分 IDENT / Pick point+ISTR(k),pt(k),rsp $选择和识别实体选择和识别实体 CHOOSE / Choose option,Next point,Create B-curve,rsp $菜单选择菜单选择 GPOS / Pick dir point+ISTR(k),x1,y1,z1,rsp $打开点构造菜单,选择点打开点构造菜单,选择点$ 过程处理语句部分过程处理语句部分 ln1

24、= LINE / 4, 4, 0, 4 ln2 = LINE / 0, 4, 0, 0 &NAME(ln1) = LINE ONE $ EDA命令命令 &NAME(ln2) = LINE TWO $结束语句部分结束语句部分 HALT2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术 语句标号从小到大,或有一定规律性;语句标号从小到大,或有一定规律性;第2节 UG/OPEN GRIP二次开发环境 GRIPGRIP编程注意事项编程注意事项 采用分段缩进方式书写,采用分段缩进方式书写,多用注释语句,增强多用注释语句,增强程序的可读性;程序的可读性; 变

25、量名应与工程术语相近,便于理解;变量名应与工程术语相近,便于理解; 主词和辅词通常用大写,变量用小写,便于阅读。主词和辅词通常用大写,变量用小写,便于阅读。2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术 字符串变量(包括简单与下标变量)字符串变量(包括简单与下标变量)第3节 GRIP语言基础 变量的分类(三类变量)变量的分类(三类变量) 数字变量数字变量 下标变量下标变量 实体变量(实体变量(包括简单与下标变量包括简单与下标变量) 简单变量简单变量2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技

26、术 可以是全字母或者字母与数字的组合;可以是全字母或者字母与数字的组合;第3节 GRIP语言基础 GRIP变量命名的规则变量命名的规则 长度不得超过长度不得超过3232个字符;个字符; 不得含有逗号不得含有逗号“,”和特殊字符如和特殊字符如“$”、“”、“&”等。等。第一个字符必须是字母;第一个字符必须是字母;2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术 (下标)下标)字符串字符串变量的申明变量的申明STRING/name(dim1,dim2,n),name(dim1,dim2),n/name(dim1,dim2,n),name(dim1,

27、dim2),n+ +例如:例如:STRING/str1STRING/str1,ch(10),frm(2,80)ch(10),frm(2,80)第3节 GRIP语言基础 GRIP变量的声明变量的声明 (下标)数字变量的申明下标)数字变量的申明NUMBER/name(dim1,dim2,dim3),name(dim1,dim2,dim3)/name(dim1,dim2,dim3),name(dim1,dim2,dim3)+ +例如:例如:NUMBER/d1NUMBER/d1,r1r1,a(10),b(2,5),c(3,5,10a(10),b(2,5),c(3,5,10) (下标)下标)实体变量的申

28、明实体变量的申明ENTITY/name(dim1,dim2,dim3),name(dim1,dim2,dim3)/name(dim1,dim2,dim3),name(dim1,dim2,dim3)+ +例如:例如:ENTITY/ln,pt(20),cl(4,5)ENTITY/ln,pt(20),cl(4,5)2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术 一般赋值语句一般赋值语句第3节 GRIP语言基础 GRIP赋值语句赋值语句 算术运算符及其优先顺序(算术运算符及其优先顺序(p112p112) 也可以用也可以用DATA/DATA/语句赋值,

29、如语句赋值,如 用等式赋值,等式左边是被赋值的变量,右边是值用等式赋值,等式左边是被赋值的变量,右边是值NUMBER / m, n(3)STRING / ch(3, 30)DATA / m, 5.0, n, 6.0, 7.0, 8.0, ch, Information, Business, PDM2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术第3节 GRIP语言基础 GRIP赋值语句赋值语句 &NULSTR是是GPA常数,表示一个空的字符串,它用于常数,表示一个空的字符串,它用于赋一个空值给字符串变量;赋一个空值给字符串变量; 赋空值赋空值

30、&NULENT是是GPA常数,表示一个空的实体,它用于赋常数,表示一个空的实体,它用于赋一个空值给实体变量。一个空值给实体变量。STRING / str(50)ENTITY / part_edge(4) str = &NULSTR $GPA常数,表示一个空字符串常数,表示一个空字符串 part_edge(1) = LINE / 0, 0, 0, 1, 2, 0 part_edge(2) = &NULENT $ GPA常数,表示一个空实体常数,表示一个空实体2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术第3节 GRIP语言基础 GRIP赋值语句

31、赋值语句 实体变量赋值语句实体变量赋值语句赋值结果是生成了一个实体赋值结果是生成了一个实体 例例1:ENTITY / pt, cl pt = POINT / 0, 1 cl = CIRCLE / CENTER, pt, RADIUS, 1.5, START, 0, END, 180 HALT 例例2 2:ENTITY / pt NUMBER / cd(3) MASK / 2 $只有点实体可选只有点实体可选 l1: IDENT / Pick a point, pt, resp JUMP / l1:, term:, , resp cd = &POINT(pt) $EDA命令,提取点命令,提取点pt

32、的坐标值,赋给变量的坐标值,赋给变量cd PRINT / cd term: HALT2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术第3节 GRIP语言基础矢量函数使用矢量函数使用例题例题例例1 1: ENTITY / pt,l NUMBER / a(3) l = LINE / 0, 0, 4, 3 a = CPOSF(l, 0.5) $ CPOSF(ent, $ scalar)定义线上的位置定义线上的位置 pt = POINT / a HALT2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术第

33、3节 GRIP语言基础矢量函数使用矢量函数使用例题例题例例2 2: ENTITY / surf NUMBER / a(3), b(3) MASK / 43 $只能选择只能选择B-surface l1: IDENT / Pick a surface, surf, resp JUMP / l1:, term:, , resp a = SDDUF(surf, 0.5, 0.6) $ SDDUF(ent,u,v)对对u求偏导数求偏导数 b = SDDVF(surf, 0.5, 0.6) $ SDDVF(ent,u,v)对对v求偏导数求偏导数 PRINT / a, b term: HALT2022-4-

34、29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术第3节 GRIP语言基础 嵌套语句嵌套语句 GRIPGRIP语法规定,在一个语法规定,在一个GRIPGRIP语句中可以嵌入另一个语句中可以嵌入另一个GRIPGRIP语语句,这种句,这种GRIPGRIP语句称之为嵌套语句或复合语句。语句称之为嵌套语句或复合语句。 例如:例如:ln = LINE/(pt1=POINT/0,1),(pt2=POINT/4,5)ln = LINE/(pt1=POINT/0,1),(pt2=POINT/4,5) 在复合语句内嵌套的语句必须是一个完整的语句并且要用在复合语句内嵌套的语句必须

35、是一个完整的语句并且要用圆括号括起来。圆括号括起来。GRIPGRIP规定,在一个规定,在一个GRIPGRIP语句中,嵌套的语句语句中,嵌套的语句层数不得超过层数不得超过1010。2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术第3节 GRIP语言基础 数组数组 数字数组数字数组 字符串数组字符串数组 实体数组实体数组2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术第3节 GRIP语言基础 数组数组 数字数组数字数组 一维数组一维数组 下面的程序中,下面的程序中,artart就是一个一维数组。就是

36、一个一维数组。 ENTITY / pt NUMBER / art(3) DATA / art, 0, 100, 100 pt = POINT / art HALT2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术第3节 GRIP语言基础 数组数组 数字数组数字数组 二维数组二维数组例如:例如:NUMBER / a(5,2)DATA / a, 2.1, 7.8, 5.6, 9.2, 1, 0, 0, 0, 0, 2.9 列列行行列列1列列2列列3列列4列列5行行1行行2A(1,1)=2.1A(1,2)=7.8A(2,1)=5.6A(2,2)=9.2

37、A(3,1)=1A(3,2)=0A(4,1)=0A(4,2)=0A(5,1)=0A(5,2)=2.92022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术第3节 GRIP语言基础 数组数组 数字数组数字数组 三维数组三维数组NUMBER / b(4, 3, 2)DATA / b, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, $ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24 列 深 行列1列2列3列4深深深深12121212行1127813141920行234910151

38、62122行3561112171823242022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术第3节 GRIP语言基础 字符串数组字符串数组 例如:例如:STRING / str1(20), str2(3, 30)等。等。 实体数组实体数组 例如:例如:ENTITY / pt(4),sq(2,3)等;等;特别地特别地: :sq(1,1.3)是是数组子集,数组子集,表示表示sq(1,1)、sq(1,2)、sq(1,3)三个实体数组元素。三个实体数组元素。2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术

39、第3节 GRIP语言基础 子集子集 定义:子集是一个数组的一部分元素的集合定义:子集是一个数组的一部分元素的集合,用用 “(下标(下标.上标)上标)”表示。子集是对整个数组变量而言的。表示。子集是对整个数组变量而言的。 常见的子集表达方法:常见的子集表达方法:1、常数子集:、常数子集:c1(2.5), c2(3*3.12)2、固定长度数组子集:、固定长度数组子集:n1(j.j+5), n2(i,j,k.k+3)3、变量数组子集:、变量数组子集:n(ABSF(x+3).i*2) 子集使用的规定:上标子集使用的规定:上标下标,下标,DATA语句中不能使用子集语句中不能使用子集2022-4-29第5

40、章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术第3节 GRIP语言基础 程序流程控制语句程序流程控制语句 无条件转移语句无条件转移语句(对应于(对应于GOTOGOTO语句)语句) 当程序执行到该语句时,立即转向,执行语句标号当程序执行到该语句时,立即转向,执行语句标号所指的语句;所指的语句; 格式:格式: JUMP / label: $label:为语句标号:为语句标号2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术第3节 GRIP语言基础 程序流程控制语句程序流程控制语句 条件转移语句条件转移语句(对应于(对应于

41、ON.GOTO语句)语句) 语句根据条件表达式(语句根据条件表达式(Expression)的的值值实现程序运行的转移实现程序运行的转移格式:格式:JUMP / label:+, Expression例如,下面的程序段将根据例如,下面的程序段将根据resp的返回值的返回值控制程序运行的顺序控制程序运行的顺序CHOOSE / Choose option, Next curve, Create surf, respJUMP / rej1:, trm:, , , 110:, 210:, resp 用于交互式语句的用于交互式语句的表达式变量表达式变量respresp作用作用说明:说明: 当当respre

42、sp的值为的值为1 1时,程序跳转到时,程序跳转到rej1:rej1:,为,为2 2时跳转到时跳转到trm:,trm:,为为3 3和和4 4时时为空语句,即当为空语句,即当respresp的值为的值为3 3或或4 4时不转移,程序继续向下执行,选时不转移,程序继续向下执行,选择择“N.”N.”、“C.”C.”时分别跳转到时分别跳转到110110:和:和210210:。:。2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术第3节 GRIP语言基础 构成表达式构成表达式(Expression)的关系运算符和的关系运算符和 逻辑运算符逻辑运算符 关系运

43、算符:关系运算符: 一共有一共有6 6种,分别是种,分别是=、 、= 、 = 逻辑运算符:逻辑运算符: 一共有与(一共有与(ANDAND)、或()、或(OROR)、非()、非(NOTNOT)三种)三种 2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术第3节 GRIP语言基础 逻辑逻辑IF语句语句 (简单分支语句)(简单分支语句) 逻辑逻辑IFIF语句中,当表达式为真时,执行随后的语句中,当表达式为真时,执行随后的 语句(语句( Statement )。)。 格式:IF / Expression, Statement 例如:IF / a88,x=

44、99 2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术第3节 GRIP语言基础 条件条件IF语句语句(三分支语句)(三分支语句) 格式: IF / Numerical Expression, label1:,label2:,label3: 当数字表达式的值当数字表达式的值000时则执行第三个语句时则执行第三个语句标号后的语句标号后的语句 如下面程序的运行情况如下面程序的运行情况 IF/ASCIIIF/ASCII(chch) 65, ,100:, $ 65, ,100:, $ 表达式表达式=0=0时转向时转向100100: $ $ 其余转向空其余

45、转向空2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术第3节 GRIP语言基础 块块IF语句语句(多分支语句,有多个表达式)(多分支语句,有多个表达式) 需要在某些条件满足时进行某种操作,不满足时则进行另需要在某些条件满足时进行某种操作,不满足时则进行另一种操作。可以用块一种操作。可以用块IFIF语句实现这种功能。语句实现这种功能。 格式:格式: IFTHEN / Expression1 Statement block1 ELSEIF / Expression2 Statement block2 ELSE Statement block3 EN

46、DIF 请看请看下面的例题下面的例题例例5-15-1:有下图所示控制规律,画出其流程图并编写:有下图所示控制规律,画出其流程图并编写 GRIP GRIP程序段。程序段。ot1tt2t3xtx0Att3tt2tt1tt0 x=0Nullx=x0+t*(A-x0)/t1x=Ax=A*(t3-t)/(t3- t2) IFTHEN/tt3 x=0 ELSEIF/tt2 x=a*(t3-t)/(t3-t2) ELSEIF/tt1 x=a ELSEIF/t0 x=x0+t*(a-x0)/t1 ELSE PRINT/No definition ENDIF 2022-4-29第5章 基于特征的基于特征的CAD

47、CAD软件系统二次开发技术软件系统二次开发技术第3节 GRIP语言基础 循环语句循环语句“当型当型”循环循环 “当型当型”循环用循环用IFTHEN语句(对应于语句(对应于块块IF语句语句)和)和JUMP语句组合实现。从语句组合实现。从IFTHEN语句的表达式的值来判断是否进语句的表达式的值来判断是否进行循环。行循环。当表达式的值为当表达式的值为“真真”时进行循环时进行循环。 格式: label: IFTHEN / Expression Statement block JUMP / label: ENDIF2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次

48、开发技术第3节 GRIP语言基础当当循环循环例题例题例例1 1: STRING / ch NUMBER / i ch= CONDITION A i=1 str: IFTHEN/CMPSTR(SUBSTR(ch,i,1), ) 0 i=i+1 JUMP/str: ENDIF PRINT/SUBSTR(ch,1,i) $打印打印“CONDITION” HALT2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术第3节 GRIP语言基础 循环语句循环语句“直到型直到型”循环循环 “直到型直到型”循环用循环用逻辑逻辑IFIF语句语句实现。先执行循环体内的各

49、实现。先执行循环体内的各语句,遇到逻辑语句,遇到逻辑IFIF语句时,对表达式进行求值,如果结果语句时,对表达式进行求值,如果结果为真,则再执行一次循环体内语句,为真,则再执行一次循环体内语句,直到表达式的值为直到表达式的值为“假假”时结束循环时结束循环。 格式: label: Statement block IF / Expression, JUMP / label:2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术第3节 GRIP语言基础 循环语句循环语句DO循环循环 用用DO语句实现的循环称为语句实现的循环称为DO循环。循环。DO循环由一个循

50、环由一个DO语语句的循环体句的循环体组成。组成。 格式: DO / label:, Variable, start, end ,increment Statement block label: 2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术第3节 GRIP语言基础 有关有关DO循环的一些规定循环的一些规定 循环步长循环步长(increment)是可选项,缺省值为是可选项,缺省值为1 1;循环变量循环变量Variable的初值、终值、步长可以分别是常的初值、终值、步长可以分别是常 数、变量和表达式。如果是变量则应先赋值,如果是数、变量和表达式。

51、如果是变量则应先赋值,如果是 表达式则先对表达式求值;表达式则先对表达式求值;循环次数循环次数可以从循环初值、终值、步长计算出来;可以从循环初值、终值、步长计算出来;循环变量在循环变量在循环体内不能再赋新值循环体内不能再赋新值;循环变量的初值、终值、步长在循环变量的初值、终值、步长在循环期间不能改变循环期间不能改变;可可向循环体向循环体外转移外转移,但,但不能不能向循环体向循环体内转移内转移;从非正常从非正常出口出口转出时,转出时,循环变量保持当前值循环变量保持当前值。2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术第3节 GRIP语言基础子程

52、序及其调用子程序及其调用 规定:规定:1) 1) 子程序子程序以以PROC/ 语句开始语句开始 2 2)以)以RETURN语句结束语句结束 3 3)子程序必须由主程序或其它子程序调用才能运行)子程序必须由主程序或其它子程序调用才能运行例例1: Subroutine name: sub1.grs Subroutine name: sub1.grs 编写子程序并以编写子程序并以sub1.grssub1.grs保存保存 Abstract:Abstract:提取实体端点数据提取实体端点数据 PROC /PROC / ent, sp(3), ep(3)ent, sp(3), ep(3) ENTITY /

53、 ent ENTITY / ent NUMBER / sp(3), ep(3) NUMBER / sp(3), ep(3) sp = &SPOINT(ent) sp = &SPOINT(ent) 实体实体ent起点的起点的(x, y, z)(x, y, z)坐标坐标 ep = &EPOINT(ent) ep = &EPOINT(ent) 实体实体ent终点的终点的(x, y, z)(x, y, z)坐标坐标 RETURNRETURN2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术第3节 GRIP语言基础 子程序的一般格式:子程序的一般格式: P

54、ROC/PROC/形式参数表形式参数表 变量申明语句变量申明语句 子程序主体子程序主体 RETURN RETURN 可以有多个可以有多个RETURNRETURN主程序的调用命令主程序的调用命令 CALL/CALL/ 子程序名子程序名 ,实际参数表实际参数表 虚实结合传递数据虚实结合传递数据 、子程序的形式参数可以是子程序的形式参数可以是ENTITYENTITY,STRINGSTRING,NUMBERNUMBER等变量名,也可以等变量名,也可以 是一般变量。是一般变量。 、子程序和主程序子程序和主程序分开编译分开编译,通过通过GRIPGRIP的的LINKLINK链接链接。子程序调用数量。子程序调

55、用数量 最多不超过最多不超过5050个。个。 、形式参数与对应的实际参数的形式参数与对应的实际参数的数据类型相同数据类型相同,个数相等个数相等。 2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术第3节 GRIP语言基础例例2:编写主程序编写主程序 主程序名:主程序名:main1. grsmain1. grs 被调用的子程序名:被调用的子程序名:sub1.grssub1.grs ENTITY/entENTITY/ent NUMBER/a(3), b(3) NUMBER/a(3), b(3) MASK/3 $ MASK/3 $限定线(限定线(LIN

56、ELINE)可被操作)可被操作 ld: ld: IDENT/ IDENT/Pick linePick line, ent, resp, ent, resp JUMP/ld:,trm:, ,resp JUMP/ld:,trm:, ,resp CALL/CALL/sub1sub1, ent, a, b, ent, a, b, 调用子程序:调用子程序:sub1sub1 PRINT/a,b PRINT/a,b MASK/all $ MASK/all $所有实体均可被操作所有实体均可被操作 trm: trm: HALT HALT2022-4-29关注关注CAD软件技术的几个软件技术的几个“123”! C

57、AD软件的三种类型?软件的三种类型? CAD的三种主要模型?的三种主要模型? CAD支撑软件二次开发的三个主要目的?支撑软件二次开发的三个主要目的? CAD支撑软件二次开发的三种主要方法?支撑软件二次开发的三种主要方法? 结构化程序的三个部分?结构化程序的三个部分? 程序设计的三种主要结构?程序设计的三种主要结构? OPEN GRIP的三种命令?的三种命令? OPEN GRIP的三类变量?的三类变量? OPEN GRIP的三种数组?的三种数组?2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术第3节 GRIP语言基础 人机交互语句人机交互语句 在

58、在UG/GRIPUG/GRIP中,人机交互语句很重要,用户利用中,人机交互语句很重要,用户利用 它来与它来与UGUG系统对话,完成人机交互操作。人机系统对话,完成人机交互操作。人机 交互操作在用户开发交互操作在用户开发GRIPGRIP应用程序时需要经常应用程序时需要经常 用到。用到。 2022-4-29第5章 基于特征的基于特征的CADCAD软件系统二次开发技术软件系统二次开发技术第3节 GRIP语言基础 人机交互语句人机交互语句 (P117-P122) POS/ /:供用户用光标:供用户用光标选择屏幕上的一个点;选择屏幕上的一个点; CHOOSE/:显示对话框,供用户进行单项选择;:显示对话

59、框,供用户进行单项选择; GPOS/:打开点构造菜单,供用户交互式生成一个点:打开点构造菜单,供用户交互式生成一个点; MCHOOSE/:显示对话框,供用户进行多项选择;:显示对话框,供用户进行多项选择; PARAM/:供用户完成多个参数的交互式赋值;:供用户完成多个参数的交互式赋值; IDENT/:供用户完成实体的选择,并显示实体名;:供用户完成实体的选择,并显示实体名;TEXT/:供用户输入字符串变量的值;:供用户输入字符串变量的值; MESSG/:显示提示等信息。显示提示等信息。 2022-4-29第5章 基于特征技术的基于特征技术的CADCAD软件系统二次开发技术软件系统二次开发技术第

60、3节 GRIP语言基础 人机交互语句人机交互语句 交互式语句都包含响应变量,执行时会产生确定的交互式语句都包含响应变量,执行时会产生确定的响应响应变量返回值变量返回值。不同的交互语句,对应于用户的不同操作,。不同的交互语句,对应于用户的不同操作,返回的响应变量值也不同。返回的响应变量值也不同。交互式语句通常与交互式语句通常与JUMP语句语句配对使用,其响应变量与配对使用,其响应变量与JUMP语句的表达式一一对应。语句的表达式一一对应。各种各种人机交互式语句响应变量返回值见人机交互式语句响应变量返回值见P118表表5-62022-4-29第5章 基于特征技术的基于特征技术的CADCAD软件系统二

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论