第二讲 AutoLISP语言基础ppt课件.ppt

第二讲 AutoLISP语言基础ppt课件.ppt

ID:59236316

大小:748.00 KB

页数:70页

时间:2020-09-26

第二讲 AutoLISP语言基础ppt课件.ppt_第1页
第二讲 AutoLISP语言基础ppt课件.ppt_第2页
第二讲 AutoLISP语言基础ppt课件.ppt_第3页
第二讲 AutoLISP语言基础ppt课件.ppt_第4页
第二讲 AutoLISP语言基础ppt课件.ppt_第5页
资源描述:

《第二讲 AutoLISP语言基础ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《AutoLISP语言基础》第2讲2.1AutoLISP程序语言LISP语言:(listprocessinglanguage)是人工智能学科领域中广泛采用的一种程序设计语言,是一种计算机的表处理语言。AutoLISP语言:是一种嵌入在AutoCAD内部的LISP编程语言,是LISP语言和AutoCAD有机结合的产物。本节主要介绍AutoLISP的数据类型、程序结构、内部函数以及AutoLISP的编程方法。2.2AutoLISP数据类型整数-2147483647~2147483648实型数2.45,-0.38,-4.56

2、E8符号原子x,y1,ax2,abc,…除().,“;5个字符以外的任何可打印字符。Setq是一个赋值函数,如(SetqX25)查看某个符号的当前约束值(将一个值赋给符号)方法:Command:!X注意:程序中定义的符号或变量名称不能与系统定义的函数和符号名相同,否则后面的定义将取代已有的定义,从而引起混乱。《2.2数据类型》字符串“fx”“AutoCAD”“2.36”是由双引号括起来的字符序列组成的,字母的大小写和空格字符都是有意义的。表(COSphai)′(258)AutoLISP中广泛使用,表提供了在一个符号中存

3、储大量相关数值的有效方法。如:(setqa10)(setqa(+b(d2)))表有标准表和引用表2种基本类型。标准表括号中首元素必须是合法的已存在的AutoLISP的函数;引用表是在左括号前加一撇号,如‘(xy),表示对此表不做求值处理,而是供其它函数引用。《2.2数据类型》文件描述符(setqf(open“d:myfile.dat”“r”))其返回值就是AutoLISP赋予被打开文件的标识号。实体名(setqe1(entlast))其返回值就是赋予图形实体的标识号。选择集(setqs1(ssget“x”‘((0.“

4、circle”))))其返回值就是由当前图形数据库中所有圆构成的集合。AutoLISP的内部变量:pi3.14159T逻辑变量真NIL逻辑变量假PAUSE函数中等待用户输入《2.2数据类型》2.3AutoLISP程序结构前缀表示法将运算符号放在操作数之前,如X=(A+B)*C,若用AutoLISP表示则为:(setqX(*(+AB)C))程序结构组成一个完整的AutoLISP程序是由一系列按顺序排列的表达式组成的,最里面的表先被求值。程序注释以一个分号“;”开始,并在一行的末尾结束。《2.3程序结构》在程序中使用内部函

5、数的规则:1)内部函数必须放在表中第一个元素的位置,且所有括号都必须左右配对;2)函数与参数之间至少用一个空格来分开,多个空格和一个空格作用相同;3)一个表可分成多行书写,一行也可以书写多个表;4)字符不分大小写,分号后的字符为注释。《2.3程序结构》函数的定义:(defun<函数名>(<参数表>)<表达式1><表达式2>………<表达式n>)说明:1).Defun是AutoLISP的一个特殊函数,由它定义的函数是构成程序的主体,在程序中定义的函数可以用函数名来调用;《2.3程序结构》2).<函数名>必须为符号原子,在程

6、序调入内存产生了一个函数定义之后,<函数名>将被放到原子表ATOMLIST中。3).<参数表>有如下几种格式:(<形参1><形参2>…/<局部变量1><局部变量2>…)(<形参1><形参2>…)(/<局部变量1><局部变量2>…)();即不带任何参数的空表。(注:形参在函数调用时必须用实参取代,“/”前后须有空格。)4).<表达式1><表达式2>…<表达式n>是任意的表达式,它们可以是所定义函数的的调用,以形成函数的递归定义。这些表达式是函数的定义体,它们在函数调用时将依次求值,用于完成所需的功能。《2.3程序结构》A

7、utoLISP程序结构实例:;***********************************************;**这个程序计算a和b平方和的平方根**;**用法:交互输入两个实型数a,b的值**;**该程序计算并输出结果在屏幕上。**;***********************************************(defunsqtab(/ab);定义函数(setqa(getreal“a=:”));等待输入a的值(setqb(getreal“b=:”));等待输入b的值(setqc

8、(sqrt(+(*aa)(*bb))));计算平方根(print“c=“)(princc)(princ));end《2.3程序结构》2.4AutoLISP基本函数(六类)(一)数学运算函数(17种)+、-、*、/、1-、1+、abs、sin、cos、atan、sqrt、min、max、expt、log、gcd、rem1)(+〈数〉

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。