cad简单习题.docVIP

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AutoLISP应用程序设计 §12-1 AutoLISP语言的基本知识 AutoLISP语言的特点及功能 LISP(Lisp Processing Language)是一种计算机的表处理语言,是当今人工智能和专家系统学科领域应用最广的一种程序设计语言。其突出特点是程序和数据二者都取符号表达式的形式,一个LISP可以将另一个LISP程序作为其数据处理,这使得其程序设计十分灵活。 AutoLISP语言是一个嵌入AutoCAD内部的LISP语言,它是美国AUTODESK公司发行的,是LISP语言与AutoCAD有机结合的产物。 AutoLISP语言是开发AutoCAD图形软件的强有力工具。利用AutoLISP语言编写程序可进一步开发增强AutoCAD的绘图功能,实现交互设计和绘图领域的智能化,节省时间,提高绘图效率。另外,利用AutoLISP开发参数绘图程序,可通过修改设计参数,在较短的时间里快捷、高质量地完成多方案对比设计,也可以建立各专业的图形库,给出一些必要的参数绘出图形。 二、AutoLISP的数据类型 1.整形数 整型数类似于高级语言中的整数,正数的“+”号可省略,负数的“—”号必不可少。 2.实型数 实型数类似于高级语言中的实数。对于绝对值小于1的实数必须加前导0,不能以小数点开头,否则计算机出错。 3.符号 类似高级语言的符号。在AutoLISP语言中,符号原子可以包含除下列字符以外的任何可以打印的字符: () 圆括号用作表的定义 . 点符号用作点对 ’ 单引号用作QUOTE函数的简写 ; 分号用作程序的注释标志 一个符号可以是全局变量,也可以局部变量。若要查看某个符号的当前约束值,可在AutoCAD的命令状态中,键入一个感叹号,后跟要查看的符号,例如:Command:!H,回车后就会显示H的当前约束值。 4.字符串 字符串是由一对双引号(“”)引起来的字符序列组成,双引号是字符串的定界符,不是字符串的内容。 5.表 表提供了在一个符号中存贮大量相关数值的有效方法。可将二维点或三维点坐标作为一个表,如(x,y),(x,y,z),也可将有关数据以表的形式来作排列、计算或排序等。 6.实体名 实体名是赋予绘图中实体的数字标号。实体名是指向由AutoCAD维护文件的指针,从这里AutoLISP可以找到该实体的数据库记录和矢量。这个标号可以被AutoLISP函数引用,允许选择的实体利用各种方式进行处理。例如将符号“en1”设为所绘图形的最后一个实体的实体名:(setq en1(entlast)) 可以返回Entity name:6000016。 7.选择集 选择集是一个或多个实体的集合。依照AutoCAD中常规的实体选择过程,可以用AutoLISP程序交互地向选择集中增加实体,或者从选择集中减少实体。 8.子程序和外部子程序 AutoLISP的函数均是子程序,称为内部子程序。子程序可以用defun函数定义。外部子程序是由ADS应用程序定义的子程序。 三、AutoLISP语言的有关说明和约定 (1)表就是用圆括号括起来的元素的集合,如(元素1 元素2 元素3……)。表中的元素,可以是函数名、变量名、数值、字符串、空和表。 例如: (setq a 2 b 3) 返回值为3 (+ 1 (- 3 2)) 返回值为2 表具有以下四个特点: 有序性: 表中的元素次序不能随意颠倒。 如(1 2 3)不等于(2 1 3) 任意长: 使用前不需作任何说明。表的存贮空间是动态分配,元素个数可任意改变,元素类型可以不同。 允许嵌套: 一个表内可以包含任意多层的子表,因此能用来描述图形的数据结构。 数据和函数在格式上一致:用setq(赋值)来存储数据,用defun(函数定义)来产生函数,例如: (setq p1 ((7 6 5)) 对p1赋值 (defun f(x y)(* 5 x y) 定义f(x y)=5xy 它们的存贮形式都是一个表。 (2)表中不带圆括号的一个数据或符号称为原子,如setq,x,PI,“ABD”。 (3)表中的各个元素用空格分开。 (4)文件描述符亦即文件指针,如FILE 167c。 (5)AutoLISP程序是以×××.LSP的文件名存在的。“.LSP”为固定扩展名。 (6)恢复节点空间,即用户建立的函数和变量用过之后就不再用了,则可将它们设置为nil,以便恢复该函数(或变量)所占用的堆空间,例如(setq text nil)。 (7)AutoLISP的变量名是由字母、数字与字符随意组合而成,但不能是“(”,“)”,“.”,“;”,“”等符号,也不能是纯数字。 AutoLISP规定了几个特殊

您可能关注的文档

文档评论(0)

精华文档888 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档