首页 > 化工知识 > 为什么在CAD中按CTRL+A全选却提示未知命令?

为什么在CAD中按CTRL+A全选却提示未知命令?

时间:2020-08-03 来源:CAD小苗 浏览:

上周有网友在群里说他只是加载了一个插件,然后突然按CTRL+A无法全选了,而且提示ai_selall是未知命令

之前有网友问过为执行其他命令,比如输入REC后提示是未知命令,当时我写了文章,试了试,这个也不是哪些原因引起的,我尝试查看AUTOCAD的帮助,却发现帮助里也找不到这个命令。

每日一贴——为什么CAD快捷键和命令提示未知命令?

这个命令到底有什么特殊的呢?为什么这个命令会变成未知命令呢?

我一时半会也没有找到答案,过了一会儿在群里有网友分享了一篇文章的截图,提供了线索,基本了解了问题的原因,在这里跟大家分享一下,以后遇到类似的命令提示未知命令的时候知道是怎么回事。

全选(AI_SELALL)并不是标准的CAD命令

在CUI文件里有快捷键CTRL+A的定义,调用的命令是AI_SELALL,如下所示。

AI_SELALL虽然是AUTOCAD自带的命令,但这个命令却比较特殊,不是内置的命令,而是在acad20xxdoc.lsp里定义的一个命令,如下图所示。

而acad20xxdoc.lsp是在acad20xx.lsp里加载的,如下图所示。

而acad20xx.lsp只要在CAD的支持文件搜索目录下,就会自动加载。

acad20xx.lsp文件在CAD安装目录下的SUPORT目录下,而acad20xxdoc.lsp则在SUPPORT下一级的ZH-CN目录,是跟语言版本相关的目录,如下图所示。

其实这个目录下不仅有这个LSP程序,还有一些其他的LISP程序,CAD一些常规命令或扩展工具命令都是在LSP程序里定义的,这些LISP程序如果因为某些原因加载,里面定义的命令就无法使用了。

如果按CTRL+A提示ai_selall是未知命令,肯定是acad20xxdoc.lsp没有正常加载,至于为什么没有加载,就需要依次检查acad20xxdoc.lsp、acad20xx.lsp以及支持文件搜索路径,到底是哪个环节导致这个文件没有加载。

但到底是原因导致出现这个问题,我现在也说不清楚,估计还是跟加载了一些程序有关系,也有可能是CAD病毒修改了这些CAD自带的程序文件。

在acad20xxdoc.lsp里不仅定义了全选的命令,还定义了一系列ai开头的命令,如果提示ai开头的命令是未知命令,首先检查一下这个文件为什么没有加载。这个LSP程序里还定义了一些其他命令,不过这些命令并不常用,而且还有一些是针对一些旧版已经废弃的命令添加了提示信息,如果感兴趣的话,可以查看程序中的defun c:语句,看看到底定义了哪些命令。

其实CAD很多功能和细节我也不了解,也是在跟网友的不断交流过程中才知道,希望大家多多交流,共同提高!

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐