为什么在CAD中按CTRL+A全选却提示未知命令?
上周有网友在群里说他只是加载了一个插件,然后突然按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很多功能和细节我也不了解,也是在跟网友的不断交流过程中才知道,希望大家多多交流,共同提高!
-
Origin(Pro):学习版的窗口限制【数据绘图】 2020-08-07
-
如何卸载Aspen Plus并再重新安装,这篇文章告诉你! 2020-05-29
-
AutoCAD 保存时出现错误:“此图形中的一个或多个对象无法保存为指定格式”怎么办? 2020-08-03
-
OriginPro:学习版申请及过期激活方法【数据绘图】 2020-08-06
-
CAD视口的边框线看不到也选不中是怎么回事,怎么解决? 2020-06-04
-
教程 | Origin从DSC计算焓和比热容 2020-08-31
-
如何评价拟合效果-Origin(Pro)数据拟合系列教程【数据绘图】 2020-08-06
-
Aspen Plus安装过程中RMS License证书安装失败的解决方法,亲测有效! 2021-10-15
-
CAD外部参照无法绑定怎么办? 2020-06-03
-
CAD中如何将布局连带视口中的内容复制到另一张图中? 2020-07-03