为什么CAD打开保存图纸或执行某些命令时不弹出对话框?
当我们在CAD执行某些命令的时候,本来命令是带对话框的,却突然不弹出对话框,变成了命令行提示了,最常见的是打开和保存文件不弹出对话框,这些通常是因为系统变量被修改了的缘故,下面就介绍一下控制对话框的几个系统变量。
一、控制显示文件对话框的变量
CAD打开和保存图纸时通常都会弹出对话框,但有时不知改了什么设置,打开和保存文件时不弹出对话框,只是在命令行出现提示,需要输入目录名、文件名,很麻烦。如下图所示。
要输入文件路径和文件名,很麻烦。不仅打开和保存文件是这样,当打开的文件缺少字体时,也会弹出文本对话框,出现一大堆提示,最后让我们输入字体名称,如下图所示。
上面的截图是一位朋友在公众号上发过来的,一开始我没太明白他问的是什么意思,以为就是缺字体,让他去找字体。后来才知道他问的是为什么没有弹出对话框。
如果打开保存时不弹出对话框,可以双击图纸打开或直接从WINDOWS资源管理器拖动到命令行的。如果出现上述提示替换字体的提示也简单,只需回车先不替换,回头再到文字样式(ST)对话框中去处理。
大家习惯用对话框,为什么突然打开、保存、替换字体都出现了这样的命令行提示呢?怎幺解决呢?
其实原因很简单,CAD中有一个系统变量:FILEDIA可以控制这种状态。这些变量个人一般不会去设置,应该是一些专业软件和插件进行设置的,这样他们在处理文件时可以不会弹出的对话框,可能运行出错或程序编得有问题,导致执行完以后这些变量没有恢复默认值。如果你的机器经常出现这种情况,你可以关注一下运行过哪些程序后会出现这种情况。
解决方法如下:
在命令行输入:filedia,回车,当前值应该是0,输入1,回车。
你再试一下打开、保存、替换字体这些就能正常显示对话框了。这个变量名有点长,其实不难记,前面是file(文件),后面是dialogue(对话框)的前三个字母。
另外还有一个变量Startup,会影响新建文件和软件启动时是否弹出公英制选择的那个对话框,设置为1时,会弹出“创建新图形”对话框,如果设置为0,将直接让你选择模板文件。
二、插入属性块时是否弹出对话框
当我们插入属性块,会提示我们输入属性值,有时会弹出对话框,如下图所示。
我们需要用鼠标或按TAB来切换输入内容并还需要确定关闭对话框,如果希望直接在命令行输入属性值,可以将ATTDIA变量设置为0,这样插入图块的时候就可以在命令行依次输入属性值后回车,如果不改默认值,直接回车就可以,如下图所示。
三、控制命令对话框的变量
有几次网友问命令怎幺突然不弹出对话框了,查了一下确实有一个变量可以可以控制命令对话框的显示,变量是CMDDIA,但试了一下将这个变量设置为0,大部分带命令的对话框还是会弹出对话框,我看了AUTOCAD 2018帮助里给了一个说明和命令列表,我试了常用的PLOT或标注文字和引线文字的编辑,似乎都不起作用。不过我也只能将AUTOCAD的帮助内容截图到这儿了。
下列AutoCAD命令的对话框以CMDDIA为准。
DBCDEFINELT
DBCDEFINELLT
DBCDELETEELT
DBCDELETEELLT
DBCDELETEQRY
DBCDISCONNECT
DBCEDITQRY
DBCEDITTABLE
DBCEXECUTEQRY
DBCEXPORTLINKS
DBCNEWQRYTABLE
DBCONFIGURE
DBCRELOADLABELS
DBCVIEWLINKEDTABLE
DBCVIEWTABLE
LAYOUTMERGE (Express Tool)
LEADER
PLOT
REDIR (Express Tool)
SOLIDEDIT
SYSVARMONITOR
TCASE (Express Tool)
TEXT
XATTACH
-XREF
此外,某些特定于基于AutoCAD的产品的命令也以CMDDIA为准。
上述内容摘自AUTOCAD 2018的帮助,但我试了其中的PLOT、TEXT、XTTACH、LEADER,都没有看出CMDDIA设置成0和1有什么效果。估计是高版本CAD的多行文字编辑器采用了命令面板,没有对话框,估计在使用对话框的低版本,在编辑标注或引线文字的时候是可以看出区别来的。
四、手动或程序控制不显示对话框
CAD为了二次开发的需要,带对话框的命令都提供了命令行模式,例如创建图块、插入图块等很多命令,这样二次开发在这些命令的时候可以直接写入参数,不会因为弹出对话框使程序中止。
在命令名或命令的别名前加一个横杠就可以使用命令行模式,例如输入输入-H或-HATCH都可以在命令行设置填充参数,如下图所示。
其他命令大家也可以试试,例如输入-B、-I就可以不弹出对话框创建图块和插入图块。
有些网友很多命令不弹出对话框感觉就像是在执行命令时自动前面给加了-似的,但原因一直没有弄清楚。
五、控制一些提示信息对话框的显示
在一些二次开发程序里不希望显示一些命令的提示信息或对话框,也可以通过变量设置,这个变量就是EXPERT,有些专业软件会将这个变量设置写入到AUTOCAD自动加载的LISP程序中。关于这个变量大家了解一下就好了,我将AUTOCAD帮助粘上来,感兴趣的可以看一眼,不感兴趣的可以忽略。
除此以外,HPDLGMODE变量可以控制填充命令是弹出对话框还是使用命令面板,低版本不支持此变量。高版本CAD阵列的对话框模式和命令面板是两个命令,要使用对话框模式需要调用ARRAYCLASSIC命令。
FILEDIA变量问题遇到得比较多,现象很明显,也很容易解决,但网友遇到的其他命令不弹对话框的情况,我在CAD帮助里反复搜索,也只找到上面这些控制对话框显示的变量和方法,并没有找到解决方法。如果哪位网友遇到类似情况并找到的问题所在,请评论。
这里还有一个相关的文章可以看一下:autocad新建图纸时无对话框只出现命令提示的原因及解决办法