AutoLISP 自动加载概述 (概念)

AutoCAD 2008

 
AutoLISP 自动加载概述
概念 快速参考
 
 
 

AutoCAD 将自动加载用户可定义的三个文件:“acad.lsp”“acaddoc.lsp”和当前自定义文件附带的 MNL 文件。默认情况下,“acad.lsp”仅在启动 AutoCAD 时加载一次,而“acaddoc.lsp”可随每个文档(或图形)一起加载。这样可使用户将加载“acad.lsp”文件和启动应用程序相关联,将“acaddoc.lsp”文件和文档或图形启动相关联。通过更改 ACADLSPASDOC 系统变量的设置,可以修改加载这些启动文件的默认方法。

如果这些文件之一定义了特殊类型的 S::STARTUP 函数,则此函数在图形初始化完成后立即运行。S::STARTUP 函数:初始化之后执行中对 S::STARTUP 函数进行的描述。另外,APPLOAD 命令提供了“启动组”选项,用于加载指定的应用程序,而无需编辑任何文件。

AutoCAD 未提供 acad.lspacaddoc.lsp 启动文件。这些文件可以由用户来创建和维护。

自动加载命令

使用 loadcommand 函数自动加载命令时,不管实际上是否使用该命令,该命令的定义都要占用内存。AutoLISP autoload 函数可以不把整个例程加载到内存而使一个命令可以使用。将以下代码添加到“acaddoc.lsp”文件将从“cmds.lsp”文件自动加载 CMD1、CMD2 和 CMD3 命令,从“newcmd.lsp”文件自动加载 NEWCMD 命令。

(autoload "CMDS" '("CMD1" "CMD2" "CMD3")) 
(autoload "NEWCMD" '("NEWCMD")) 

第一次在命令提示下输入自动加载的命令时,AutoLISP 从相关文件完整地加载此命令定义。AutoLISP 还提供用于 ObjectARX 应用程序的 autoarxload 函数。请参见帮助系统中的《AutoLISP Reference》中的 autoloadautoarxload要显示“开发人员帮助”,请依次单击“帮助”菜单 “其他资源”“开发人员帮助”

注意名称相似的 AutoLISP 启动文件的加载由它们的编辑时间决定。除非指定完整的文件名(包括文件扩展名),否则将加载最近编辑过的 LSP 文件。