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.lsp 和 acaddoc.lsp 启动文件。这些文件可以由用户来创建和维护。
当加载 AutoLISP 文件时,文件中的命令定义会占用内存,不管是否实际使用了这些命令。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 中的 autoload 和 autoarxload。