第二章AutoLISP概述.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章AutoLISP概述

第二章AutoLISP概述 2.0 AutoLISP表达式 AutoLISP 程序由一系列表达式组成,在表达式中又包含其它数据类型,表达式和数据类型是AutoLISP程序的基础,AutoLISP没有语句的概念。 AutoLISP 表达式的格式如下所示: (函数 参数) 每个表达式都以一个左括号开始,由一个函数名和一个该函数的可选参数组成,并且每个参数都可以是一个表达式。表达式以右括号结束。每个表达式都返回一个可由外层表达式使用的值。最后表达式的值返回给调用表达式。 AutoLISP程序可以在AutoCAD命令行提示符、VLISP控制窗口的提示符下输入,也可输入到文件中,然后加载。 例如,如下代码样例调用了三个函数: (fun1 (fun2 参数)(fun3 参数)) 例如: _$ (* 2 27 2) 108 例如: _$ (* 2 (+ 5 10)) 30 如果输入的闭(右)括号数量不对,AutoLISP 将显示如下提示: (_ 此提示中开括号的数目表明有多少层开括号没有闭合。如果出现此提示,用户必须输入所需数目的闭括号后才能对表达式求值。 _$ (* 2 (+ 5 10 ((_ ) ) 30 常见错误是忽略了文本字符串中的双引号 ()。在这种情况下,右括号被解释为字符串的一部分,而不会被用来和开括号配对。要改正此错误,可按 SHIFT+ESC 键取消该函数,然后重新输入正确的表达式。 2.1 AutoLISP的数据类型 整型(INT)、实型(REAL)、字符型(STR)、符号(SYM)、表(LIST)、内部函数(SUBR)、文件描述符(FILE)、实体名(ENAME)、选择集(PICKSET)、函数分页表(PAGETB)、VLA对象(Visual Lisp Activex)。 2.1.1整型 整数由数字组成,不包含小数点。AutoLISP 的整数是 32 位带符号的数,取值范围从 +2,147,483,647 到 -2,147,483,648(注意,getint 函数只接受 16 位的数,即 +32767 到 -32678)。当用户在 AutoLISP 表达式中直接使用整数时,该值被称为常量。数字 2、-56 和 1,200,196 都是有效的 AutoLISP 整数。 如果输入的数超出了允许的最大整数(导致整数溢出),AutoLISP 会将整数转换为实数。然而,如果对两个有效整数执行算术运算,其结果超出了允许的最大整数,得出的数是无效的。下面样例说明 AutoLISP 如何处理整数溢出。 最大的正整数保留其值: _$ 2147483647 2147483647 如果输入一个大于允许最大值的整数,AutoLISP 将其值返回为实数: _$ 2147483648 2.14748e+009 对两个有效整数进行算术运算,但造成了整数溢出,产生无效结果: _$ (+ 2147483646 3) -2147483647 此样例得出的结果显然是无效的,因为两个正数相加得出了负数。但请注意下列运算如何产生有效的结果: _$ (+ 2147483648 2) 2.14748e+009 在这个例子中,AutoLISP 先将 2147483648 转换为一个有效的实数,再对其作加法运算。得出的结果是一个有效的实数。 最大的负整数值保留其值: 有问题: -2147483648为最小负数 _$ -2147483647 -2147483647 如果输入一个大于可允许的最大负整数值的负整数,AutoLISP 将其值返回为实数: _$ -2147483648 -2.14748e+009 下面样例可以成功算出结果,因为 AutoLISP 先将溢出的负整数转换为一个有效的实数: _$ (- -2147483648 1) -2.14748e+009 2.1.2实数 实数是带有小数点的数。在 -1 和 1 之间的实数必须以零开始。实数是以双精度浮点格式存储的,可以提供至少 14 位精度。注意 Visual LISP 不显示所有有效位。 实数可以用科学记数法表示,科学记数法格式中包括可选的 e 或 E 及其后面的指数(例如,0.0000041 与 4.1e-6 相同)。数字 3.1、0.23、 -56.123 和 21,000,000.0 都是有效的 AutoLISP 实数。 \\ 表示字符 ”\” \” 表示字符 “” “ \r 表示回车 \n 表示换行 \nnn 表示八进制代码为nnn的ASCII字符 字符串常数的最大长度为100,但赋给一个符号的字符串长度没有这个限制。 下列都是合法的字符串 “\nEnter first point:”

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档