文件组织概述 (概念)

AutoCAD 2008

 
文件组织概述
概念 快速参考
 
 
 

AutoCAD 使用支持文件进行存储自定义定义、加载 AutoLISP 和 ObjectARX 应用程序以及描述文字字体等操作。

AutoCAD 程序文件和支持文件的默认目录结构是为有效地按逻辑关系对这些文件分组而设计的。这种结构可按照用户的需要进行修改。但有些应用程序需要在特定位置查找某些文件,用户进行修改时应避免与这些应用程序的要求冲突。如果未指定包含驱动器和目录的完整路径,AutoCAD 只能定位那些已在库搜索路径中找到的文件。

support”文件夹的位置在 AutoCAD 2004 中已更改。本地可自定义文件的位置存储在 LOCALROOTPREFIX 系统变量中。可漫游的可自定义文件的位置存储在 ROAMABLEROOTPREFIX 系统变量中。如果网络支持漫游,则在用户登录的计算机上可以使用用户漫游配置中的可自定义文件。

下列 LISP 脚本可以创建 CUSTFILES 命令,该命令用于启动正确文件夹中的 Windows® 资源管理器。

(defun c:custfiles ()
  (command "shell" 
    (strcat "explorer \"" (getvar "roamablerootprefix") "\"")
  )
  (princ)
)

库搜索路径

库搜索路径用于在用户未指定完整路径名时指定程序搜索文件的位置,如下所示:

  • 当前目录。(通常由快捷图标中的“起始位置”设置确定。)
  • 包含当前图形文件的目录。
  • OPTIONS 中“文件”选项卡上指定搜索路径中列出的目录。(请参见《用户手册》中的指定搜索路经和文件位置。)
  • 包含 AutoCAD 程序文件的目录。

上述各目录可能相同,这取决于当前环境。

如果文件不在此搜索路径中,则必须指定其路径名和文件名,AutoCAD 才能找到该文件。例如,如果要将不在库搜索路径中的图形 part5.dwg 插入到当前图形中,则必须指定其完整路径名,如下所示:

命令: insert

输入块名或 [?]: /files2/olddwgs/part5

如果该图形位于该位置,AutoCAD 将像通常一样提示用户完成 INSERT 命令。

目录结构

AutoCAD 使用树状结构的目录和子目录。建议用户将补充文件(例如 AutoLISP 应用程序和自定义文件)与 AutoCAD 的程序文件和支持文件分开存放。这样更容易查找可能的冲突,并可以单独升级每个应用程序,而不影响其他应用程序。

AutoCAD 的默认位置位于 Program Files 文件夹。用户可以在同一级目录(例如 /AcadApps)中创建新目录,并将自定义 AutoLISP 和 VBA 宏、自定义文件以及其他第三方应用程序存储到下一级的子目录中。如果要维护独立作业文件的多个图形目录,可以创建一个目录(例如 /AcadJobs),然后在其下为每个作业创建一个子目录。

命令搜索过程

输入命令后,AutoCAD 将评估命令名的有效性。命令可以是内置命令、系统变量、“acad.pgp”文件中定义的外部命令或别名,或用户定义的 AutoLISP 命令。也可以是由 ObjectARX 应用程序或设备驱动程序命令定义的命令。可以在命令提示下输入命令或者从相应的菜单中选择命令。也可以从脚本文件或者由 AutoLISP 或 ObjectARX 应用程序输入。

下表描述了 AutoCAD 用于验证命令名的搜索次序。

  1. 如果输入空响应(按空格键或 ENTER 键),则 AutoCAD 将使用上次执行的命令。HELP 是默认命令。
  2. AutoCAD 先根据内置命令表检查命令名。如果命令在该列表中,并且没有前缀句点 (.),AutoCAD 接着将根据未定义命令列表检查该命令。如果该命令未被定义,则继续搜索;否则将执行该命令,除非有其他原因使命令不能执行。不允许透明地运行或在“透视”模式下运行命令。
  3. AutoCAD 根据设备驱动程序定义的命令名检查该命令名,然后根据显示驱动程序定义定义的命令名检查该命令名。
  4. AutoCAD 会根据在程序参数文件 (“acad.pgp”) 中定义的外部命令检查该命令名。如果该命令名对应一个已经定义的外部命令,则将运行该命令,并结束搜索。
  5. AutoCAD 根据 AutoLISP 或 ObjectARX 应用程序定义的命令列表检查该命令名。自动加载的命令在此时加载。
  6. AutoCAD 根据系统变量列表检查该命令名。如果命令名在该列表中,AutoCAD 将把输入作为变量名,执行 SETVAR 命令。
  7. 如果命令名与程序参数文件中定义的命令别名相对应,AutoCAD 将用该命令的扩展名在内置命令列表中重新搜索。
  8. 如果前面所有步骤都失败了,则搜索终止,并显示非法命令的警告消息。