网站大量收购独家精品文档,联系QQ:2885784924

第五章 AutoLISP.doc

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AutoCAD二次开发 AutoLISP表达式 AutoLISP处理的对象是符号表达式(简称表达式),是LISP程序的基本单元。表达式相当于其他编程语言中程序的语句。 (1)表达式构成 表达式是包含函数关键字,并按AutoLISP语言规则书写的字符串。字符串中可以有数、串和符号。数或串的值是数或串本身,符号的值是赋给该符号的值。多数情况下,表达式以表的形式存在,其格式如下: (函数名 【参数】…) 表达式由左括号开始,右括号结束,表达式可以嵌套,不伦嵌套几层,其左右括号必须是配对的。表达式形式的表中,左括号之后的第一个元素必须是函数名。 (2)表达式的表示 大多数程序语言的表达式采用中缀表示法,即运算符在操作数中间,如:x=y+z。AutoLISP采用前缀表示法,将函数名或运算符放在所有操作数之前,如:(setq x (+ y z)) (3)表达式返回值 在LISP语言中,函数之间不存在是否优先的关系,求值的先后顺序只能通过表的层次来实现。最里层的表最先被求值,把求值的结果返回给外层的表,直至求值完毕。 例如,表达式(setq x(* (+ a b) c)),先求出最内层a与b之和,然后求出a,b之和与c的积,将求得的积赋给x,最后返回x的值。 (4)错误信息 在表达式运行过程中,如果输入的右括号不配对,则会显示错误提示:输入的列表有缺陷。Vlisp环境下支持自动修正缺失的括号功能。 AutoLISP数据类型、变量 AutoLISP语言有着丰富的数据类型、灵活的变量定义。 (一)、数据类型 AutoLISP的数据类型丰富,除了具有一般程序设计语言的整型、实型、字符串等数据类型之外,还有表、文件描述符、AutoCAD选择集、AuroCAD图元名、VLA对象等数据类型。 (1)整型(INT) 整型即整数型。由0~9数字、+、-字符组成,不允许出现其他字符,“十”号可省略,如+110,321,-30均是合法的整型数据。在目前使用比较多的32位计算机上,AutoLISP的整型数据用32位表示,其取值范围为-2 147 483 648到+2 147 483 648。如果用户输人的数据超出此范围,AutoLLSP会自动将整型数据转换为实型数据,但对于两个有效整数进行运算所产生的结果超出此范围的情况,最后会得到无效的结果。 (2)实型(REAL) 实型数据又称为浮点数,AutoLISP中为双精度,即保证有14位的有效精度。实数有小数和科学计数两种表示形式: ·小数形式 例如:0.123,-2.345但需要注意的是,与其他语言不同,AutoLLSP中对于绝对值小于1的实数不能直接以小数点开头,必须在小数据点前加上0,否则计算机会误认为是点对而出错。例如不能将0.123简写为.123 ·科学计数法形式 即数字后有一个e或E,而后跟数的指数。如1. 23E3表示1.23×103,同样也可表示为0.123E4或12.3e2。但要注意e或E之前必须有数字,且指数必须为整数,如E3、1.23E2.5、e均不是合法的指数形式。 (3)字符串(STRING) 字符串又称为字符常数,它是由双引号括起来的字符序列。字符串中字母的大、小写和空格符都有特定意义。字符串中字符的个数称为字符串的长度,最大为132,如果超出,则后面的字符无效。任何字符都可以用“\nnn”的格式表示,其中反斜杠“\”是ASCII码的前导标识字符,nnn是该字符八进制的ASCII码。例如,字符串ABCD也可表示为\101\102\123\104。一些常用的控制字符,像反斜杠、双引号,除了可以用“\nnn”的格式表示之外,还可以用转义字符格式表示为“\\”、“\”等特殊字符,见表10-1。 表10-1 用前导“\”符号表示控制字符的方法 控制字符 用转义字符表示 用ASCII码表示 反斜杠“\” \\ \134 双引号“” \ \042 ESC键 \e \033 换行 \n \012 回车 \r \015 Tab键 \t \011 注意:其中的字符e,n,r,t必须小写;在Visual LISP中转义字符\ r 不能作为回车符使用,文字会紧跟在最后一个打印文字后面显示,需要打印回车符时可用(CHR 13 )来代替。 (4)表(LIST) 表是放在一对圆括号中的一个元素或用空格分隔的多个元素的组合,表中的元素可以是函数,也可以是上述3种数据类型,甚至是另一个表,因而表提供了在一个符号中存储大量相关数值的有效方法。表是LISP语言处理的对象,是Visual LISP基本数据结构。例如,(+ 1 2 3),(sin(* 2.3 pi)), ((A B) C (D E)),(0 LINE),()都是合法的表。 表中元

文档评论(0)

0520 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档