1.AutoLISP文件的特点
AutoLISP文件的扩展名为".lsp",是由若干个AutoLISP表达式构成的。
虽然在“Command:”提示下,通过键入AutoLISP表达式的方法可以定义或调用LISP函数,但不便保留或调试程序,因此,通常都是以文件形式实现函数的定义和调用。
一个LISP文件可以定义多个函数或AutoCAD命令。
表达式相当于语句。一个表达式可以分写在若干行上,一行可以写若干个表达式。连续的多个空格相当于一个空格。以下是一个表达式分开写在若干行上的实例:
(defun plus(x y) (+ (* x y) x) )
以下是一行写若干个表达式的实例:
(setq a 2.0) (setq b 4.0) (+ a b)
由于AutoLISP程序中含有大量括号,不易阅读,就需要采用缩排对齐格式。
2.程序中的注释
整行或后半行注释以分号“;”开头,至行尾注释部分。如:
(setq area (* pi r r)) ;计算圆的面积
整段或行间注释以“;|”开头,以"|;"结尾。
(setq tilemode ;|此处添加注释|; (getvar "tilemode"))
(setvar "othomode" 1) ;|注释起始部分 连续注释 …… 注释到此为止|;(princ " ORTHOMODE set On.")
3.在AutoCAD环境下加载AutoLISP文件
(1)命令行方式
加载AutoLISP文件用load函数,调用load函数的格式如下:
(load "驱动器:\路径\文件名" ["出错信息"])
若加载成功,则返回被夹在lisp文件的最后一个表达式的结果;若最后一个表达式是函数的定义,则返回该函数的函数名。若加载失败,则返回该用户定义的出错信息;若用户没有定义出错信息,则返回加载失败的信息。
【例】文件file1.lsp最后一个表达式是定义函数func1,它的路径是"d:user1"加载文件的表达式如下:
(load "d:\user1\file1" "没有找到这个文件!")
(2)对话框方式
工具->加载外部程序。OK
(3)自动加载
AutoCAD在启动时,可以自动加载4个lisp文件,acad.lsp、acad2006.lsp和acad2006doc.lsp。用户可以创建和维护这些文件,其中acad.lsp和acaddoc.lsp只能由用户来创建。AutoCAD在加载过程中不报告是否找到或是否加载相关文件的信息。AutoCAD在加载菜单时,自动加载了与菜单文件同名的扩展名为.mnl的lisp文件。
(4)间接自动加载
目前看不懂,再说。