AutoCAD的文件组织形式和搜索路径
摘要:简要介绍了AutoCAD程序的文件组织形式和搜索路径的使用。
Abstract:The paper introduced the directory structure of AutoCAD software and the using of search path.
1、目录结构
AutoCAD的主要目录有两部分构成:程序目录和用户自定义目录。AutoCAD建议将自定义 AutoLISP 和 VBA 宏、自定义文件以及其他第三方应用程序存储到用户自建目录和用户自定义目录中,而不要存储到AutoCAD的程序目录中。这样更容易查找可能的冲突,并可以单独升级每个应用程序,而不影响其他应用程序。
本地可自定义文件的位置存储在 LOCALROOTPREFIX 系统变量中。可漫游的可自定义文件的位置存储在 ROAMABLEROOTPREFIX 系统变量中。如果网络支持漫游,则在用户登录的计算机上可以使用用户漫游配置中的可自定义文件。在lisp程序中可以使用getvar函数来获得系统变量的值,如:(getvar "roamablerootprefix")。这两个系统变量均存储在windows的注册表中,可以通过外部程序进行读取。
2、库搜索路径
当用户未指定完整的路径名时,AutoCAD默认进行如下四个库的搜索:
- 当前目录。(通常由快捷图标中的“起始位置”设置确定。)
- 包含当前图形文件的目录。
- “OPTIONS”中“文件”选项卡上指定搜索路径中列出的目录。
- 包含 AutoCAD 程序文件的目录。在“OPTIONS”中“文件”选项卡上指定的搜索路径,上面的路径会覆盖下面的路径。即AutoCAD程序在进行搜索时,按选项卡上指定的搜索路径从上至下依次搜索,当搜索到相应的文件后则停止搜索,后面的搜索路径将被忽略。例如,你在AutoCAD的程序安装目录和用户自定义目录中的Support目录中同时创建了acad.pgp文件,如果在搜索路径中你的用户自定义Support目录在程序Support目录之上,那么在自定义快捷键搜索中将忽略程序Support目录中的acad.pgp文件。
3、命令搜索过程
输入命令后,AutoCAD 将评估命令名的有效性。命令可以是内置命令、系统变量、“acad.pgp”文件中定义的外部命令或别名,或用户定义的 AutoLISP 命令。也可以是由 ObjectARX 应用程序或设备驱动程序命令定义的命令。可以在命令提示下输入命令或者从相应的菜单中选择命令。也可以从脚本文件或者由 AutoLISP 或 ObjectARX 应用程序输入。
AutoCAD命令的搜索次序如下,在输入命令进行执行时,将按照如下次序依次进行命令的搜索:
- 如果输入空响应(按空格键或 ENTER 键),则 AutoCAD 将使用上次执行的命令。HELP 是默认命令。
- AutoCAD 先根据内置命令表检查命令名。如果命令在该列表中,并且没有前缀句点 (.),AutoCAD 接着将根据未定义命令列表检查该命令。如果该命令未被定义,则继续搜索;否则将执行该命令,除非有其他原因使命令不能执行。不允许透明地运行或在“透视”模式下运行命令。
- AutoCAD 根据设备驱动程序定义的命令名检查该命令名,然后根据显示驱动程序定义定义的命令名检查该命令名。
- AutoCAD 会根据在程序参数文件 (“acad.pgp”) 中定义的外部命令检查该命令名。如果该命令名对应一个已经定义的外部命令,则将运行该命令,并结束搜索。
- AutoCAD 根据 AutoLISP 或 ObjectARX 应用程序定义的命令列表检查该命令名。自动加载的命令在此时加载。
- AutoCAD 根据系统变量列表检查该命令名。如果命令名在该列表中,AutoCAD 将把输入作为变量名,执行 SETVAR 命令。
- 如果命令名与程序参数文件中定义的命令别名相对应,AutoCAD 将用该命令的扩展名在内置命令列表中重新搜索。
- 如果前面所有步骤都失败了,则搜索终止,并显示非法命令的警告消息。