第十四章 AutolISP初步 示例 (>=7850)返回T (>=“x”“y”)返回nil 146 defun、setq、 setpoint与 Command函数 1. defun函数 defun函数用于在 AutoLISP程序中定义函数,其格式为: (defun name [argument ]) 其中name ……函数名 ………参数列表 示例: ( defun adNum(),定义了一个函数 ADNUM,此函数天参数,亦无局部变量( Local symbols)。这就意味着程序中用到所有变量均为全局变量。全局变量的值在程序结束时不 会丢失。 ( defun adnum(abc),定义了一个含有三个参数a、b和c的函数 ADNUM。变量a、 b、c从程序外部获取它们的值 ( defun AdNUM(/ab),定义了一个含有两个局部变量a和b的函数 ADNUM。局部 变量在程序的执行期间保留其值,而且只能在它所在的程序中使用。 ( defun c:ADNM(),在函数名前加上C:后,此函数就可以通过在 AutoCAD的 Command:提示符后输入其函数名来执行。如果没有使用C:,函数名则必须置于圆括号中。 注意 AutolISP包含一些内置函数,不要使用其中的任一名称作为函数名或变量名 以下是一些 AutoLISP内置函数的保留名称列表。 Abs ads alloc and angle angtos append apply at Atof atoi distance equal fix float if length list load member Open or pi read repeat reverse set type while 2setq函数 setq函数用于给变量赋值,其格式如下 (setq name value [Name value].) 其中Name…………变量名 value ……赋予变量的值 赋予变量的值可以是任何表达式(数字表达式,字符串表达式或既含有字母又含有 276第十四章 AutoLISP 初步 276 示例: (>= 78 50) 返回T (>= “x”“y”) 返回 nil 14.6 defun、setq、getpoint 与 Command 函数 1.defun 函数 defun 函数用于在 AutoLISP 程序中定义函数,其格式为: (defun name[argument]) 其中 name………………函数名 argument…………参数列表 示例: (defun ADNUM(),定义了一个函数 ADNUM,此函数天参数,亦无局部变量( Local symbols)。这就意味着程序中用到所有变量均为全局变量。全局变量的值在程序结束时不 会丢失。 (defun ADNUM (ab c),定义了一个含有三个参数a、 b和 c 的函数 ADNUM。变量a、 b、 c从程序外部获取它们的值。 (defun ADNUM(/a b),定义了一个含有两个局部变量a和b的函数 ADNUM。局部 变量在程序的执行期间保留其值,而且只能在它所在的程序中使用。 (defun C:ADNUM(),在函数名前加上C:后,此函数就可以通过在 AutoCAD 的 Command:提示符后输入其函数名来执行。如果没有使用C:,函数名则必须置于圆括号中。 注意 AutoLISP 包含一些内置函数,不要使用其中的任一名称作为函数名或变量名, 以下是一些 AutoLISP 内置函数的保留名称列表。 Abs ads alloc and angle angtos append apply atom ascii assoc atan Atof atoi distance equal fix float if length list load member nil Open or pi read repeat reverse set type while 2.setq 函数 setq 函数用于给变量赋值,其格式如下: (setq name value[Name value]…) 其中 Name…………………变量名 value…………………赋予变量的值 赋予变量的值可以是任何表达式(数字表达式,字符串表达式或既含有字母又含有