欢迎来到天天文库
浏览记录
ID:45600532
大小:2.87 MB
页数:114页
时间:2019-11-15
《《维几何建模方法》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第六章二维几何建模方法6.1交互几何建模6.2AUTOLISP语言6.3参数化几何建模6.4形状特征法拼合法几何建模2021/10/726.1交互几何建模自学返回第六章2021/10/73解释型语言用户编写的源程序代码直接由解释器解释并执行。平台和操作系统独立AutoLisp程序可移植性好,程序可在多种平台和操作系统上运行。版本独立AutoLisp语言向后兼容,为任意版本AutoCAD编写的AutoLisp程序可以在以后版本的AutoCAD中运行。6.2AutoLisp语言2021/10/74AutoLisp与主流编程语言
2、的比较:AutoLisp与其他语言最大的区别是用表存放数据,没有数组、结构等。变量没有明确的类型,变量类型在赋值时动态确定,不用事先定义变量类型。没有语句、关键词以及运算符。它是函数定位的语言,所有运算都由函数调用完成。2021/10/75Autolisp有如下优点:(1)Lisp是所用编程语言中最容易学习和掌握的。(2)Autolisp提供的大多数函数都是直接针对AutoCAD的操作,可用它编写访问AutoCAD的数据库的操作。(3)解释执行,立竿见影可以在AutoCAD的提示符:command:下逐条输入Autolis
3、p指令,立即得到结果。(4)Autolisp可在功能强大的开发工具Visuallisp上开发运行2021/10/76AutoLISP是开发AutoCAD的最主要的工具。用户可以利用AutoLISP语言实现对AutoCAD当前图形数据库的直接访问和修改,增加AutoCAD新命令和开发参数化绘图程序等。2021/10/77(1)符号符号用于存储数据,“符号”与“变量”含义相当,可互相交换使用。符号:除了一些特殊字符(如(、)、.、‘、“、;)以外的任何可打印字符;符号的大小写是等效的。不允许使用数字作为符号名的第一位。合法符号
4、:abc、$AD、a3;非法的符号:(a)、3d、a.b、A;等6.2.1AutoLISP的数据类型2021/10/78(2)字符串字符串是由双引号引起来的字符序列组成。字符串中同一字母的大小写被认为是不同的字符,空格也是一个有意义的字符。例如:〝ABC〝≠〝abc〝〝abc〝≠〝abc〝在字符串中用〝〝可以添加控制字符。例如:r:表示回车;:表示换行;〝:表示〝;e:表示ESC键2021/10/79(3)表它是指放在一对左、右圆括号中的元素的有序集合。表中的项称为表的元素。元素可以是:整型数、实型数、字符串、
5、符号、表、函数名;例1:(21304560)为一个表,包含4个元素。例2:(setqa63)为一个表,表中包含3个元素。2021/10/710在AutoLISP语言中,用表来表示图形中点的坐标。例如:(56.430.08.0)表示三维点的坐标;第一、二、三个元素分别对应点的X、Y、Z坐标值。(setqa63)表中三个元素:setq--为函数名;a--变量;表示:a=63(setqb(+a108))表示:b=a+1082021/10/711表有两种基本类型:标准表和引用表;标准表:表中第一个元素必须是一个合法的已存在的Aut
6、olisp函数,AutoCAD将按照此函数的功能完成其操作;例如:(setqb(+a108))引用表:在表前加一单引号(ˊ),表示不对此表作求值处理。例如:(setqpoˊ(1005896))表示:Po=(10015896)2021/10/712(4)文件描述符文件描述符是一个指针,指向用AutoLISP语言的OPEN函数打开了的某个文件。该指针返回为一个数字标号;在访问该文件时,根据该文件描述符对指定文件进行操作。例如:(setqfp(open“myfile.dat”“w”))(print“1563”fp)第一句:以写的
7、方式打开数据文件myfile.dat,并把文件的指针赋予文件描述符fp;第二句:将字符串“1563”输出到fp指向的数据文件。2021/10/713(5)实体名实体名是AutoCAD系统在绘图过程中赋予所绘实体的一个数字符号。利用实体名,AutoLISP函数可以查找到实体的数据库记录,并对实体进行各种处理。例如:(setqelast(entlast))把最后绘制的实体用变量elast表示。(6)选择集选择集是多个实体的集合。在AutoLISP程序中可以构造一个选择集,并把它赋予一个变量(或符号)供其它函数调用。2021/1
8、0/7141.AutoLISP语言表达式与高级语言的区别高级语言采用“中缀表示法”:运算符、赋值符位于中间。如:表达式x=(a+b)·c→x=(a+b)*cAutoLISP语言采用“前缀表示法”:运算符、赋值符位于前面。如:表达式x=(a+b)·c→(setqx(*(+ab)c))式中:setq→=6.
此文档下载收益归作者所有