首页 理论教育AutoCAD2014中文版入门到精通

AutoCAD2014中文版入门到精通

【摘要】:AutoLISP语言没有“语句”这一术语,AutoLISP程序一般是由一个或一系列按顺序排列的标准表所组成。AutoLISP程序的书写格式有如下特点:由于AutoLISP语言的一切成分都是函数,而所有函数又以表结构形式存在,所以AutoLISP程序的所有括号都需要左右匹配。AutoLISP程序阅读函数时,按从左到右的规则进行。AutoLISP求值器总是忽略每一行中分号以后的部分。

AutoLISP语言没有“语句”这一术语,AutoLISP程序一般是由一个或一系列按顺序排列的标准表所组成。例如:

(setq x 25.0)

是上面提到的标准表,又可以看作是一个AutoLISP程序。

又如:文件名为pq,又可以看作是一个AutoLISP文件是由以下程序组成的:

(setq x 25.0)

(setq y 12.2)

(+(* x y)x)

以上是由三个标准表组成的程序,每个标准表的第一个元素(如setq,+,*)均为系统提供的函数,称为系统的内部函数。setq为赋值函数,+为加函数,*为乘积函数。标准表中的其他元素为相应函数的参数。这个程序是将25.0赋给变量x,将12.2赋给变量y,求变量x和y的值的乘积,再求此乘积与x的总和。

AutoLISP程序的书写格式有如下特点:

(1)由于AutoLISP语言的一切成分都是函数,而所有函数又以表结构形式存在,所以AutoLISP程序的所有括号都需要左右匹配。

(2)AutoLISP程序阅读函数时,按从左到右的规则进行。

(3)函数必须放在第一个元素的位置,如赋值函数setq、算术运算函数+、*等应为表中的第一个元素,即放在操作数之前,而不是放在他们中间,这与算术运算的书写格式不同,初学者可能会感到不习惯。表中的函数与参数,各参数之间均至少要一个空格分开。

(4)两个表之间和表内的多余空格和回车是不需要的,故一个表可占多行,一行可写多个表,如:

pq.lsp程序可写成如下形式:

(setq x 25.0) (setq y 12.2) (+(* x y)x)(www.chuimin.cn)

(5)AutoLISP程序中可以使用分号;作注释。注释的作用是对程序作解释。AutoLISP求值器总是忽略每一行中分号以后的部分。注释可放在程序中的任何地方。

(6)AutoLISP程序一般是以扩展名为“.LSP"的ASCII码文本文件的形式表达。

AutoLISP程序就是对一个个AutoLISP函数的调用。

函数是AutoLISP语言处理数据的工具,学习掌握AutoLISP语言,核心就是要掌握AutoLISP函数。

AutoLISP函数分为系统内部函数和用户定义的外部函数。AutoLISP提供了大量的系统内部函数,以满足编程的需要。

AutoLISP对函数的调用是通过标准表来实现的。如前所述,AutoLISP程序的基本结构就是由一系列标准表有序构成的。

AutoLISP程序的运行,就是对标准表依次进行求值。标准表或者说函数调用的一般格式如下:

(函数名[<参数1>][<参数2>]……[<参数n>])

标准表中的第一个元素必须是函数名,以后的各元素为该函数的参数。参数的类型及数目取决于函数。

学习AutoLISP的系统内部函数时,必须掌握以下的基本内容:

(1)函数调用格式:即函数名、函数要求的参数个数和类型。

(2)函数的功能:即该函数的功用和作用,它对其参数如何进行处理。

(3)函数的求值情况:即哪些参数要求值,哪些不被求值。

(4)函数求值结果的返回值类型:这点很重要,因为大多数函数的返回值都要被其他函数接受,而每个函数所需要的参数都有特定的类型。因此只有搞清被调用函数的返回值的类型,才不会因用错函数的参数而出错。在本书以后各章中将分别介绍AutoLISP系统内部函数。