为什么CAD打开保存图纸或执行某些命令时不弹出对话框?
当我们在CAD执行某些命令的时候,本来命令是带对话框的,却突然不弹出对话框,变成了命令行提示了,最常见的是打开和保存文件不弹出对话框,这些通常是因为系统变量被修改了的缘故,下面就介绍一下控制对话框的几个系统变量。
一、控制显示文件对话框的变量
CAD打开和保存图纸时通常都会弹出对话框,但有时不知改了什么设置,打开和保存文件时不弹出对话框,只是在命令行出现提示,需要输入目录名、文件名,很麻烦。如下图所示。

要输入文件路径和文件名,很麻烦。不仅打开和保存文件是这样,当打开的文件缺少字体时,也会弹出文本对话框,出现一大堆提示,最后让我们输入字体名称,如下图所示。

上面的截图是一位朋友在信息上发过来的,一开始我没太明白他问的是什么意思,以为就是缺字体,让他去找字体。后来才知道他问的是为什么没有弹出对话框。
如果打开保存时不弹出对话框,可以双击图纸打开或直接从WINDOWS资源管理器拖动到命令行的。如果出现上述提示替换字体的提示也简单,只需回车先不替换,回头再到文字样式(ST)对话框中去处理。
大家习惯用对话框,为什么突然打开、保存、替换字体都出现了这样的命令行提示呢?怎么解决呢?
其实原因很简单,CAD中有一个系统变量:FILEDIA可以控制这种状态。这些变量个人一般不会去设置,应该是一些专业软件和插件进行设置的,这样他们在处理文件时可以不会弹出的对话框,可能运行出错或程序编得有问题,导致执行完以后这些变量没有恢复默认值。如果你的机器经常出现这种情况,你可以关注一下运行过哪些程序后会出现这种情况。
解决方法如下:
在命令行输入:filedia,回车,当前值应该是0,输入1,回车。
你再试一下打开、保存、替换字体这些就能正常显示对话框了。这个变量名有点长,其实不难记,前面是file(文件),后面是dialogue(对话框)的前三个字母。
另外还有一个变量Startup,会影响新建文件和软件启动时是否弹出公英制选择的那个对话框,设置为1时,会弹出“创建新图形”对话框,如果设置为0,将直接让你选择模板文件。
二、插入属性块时是否弹出对话框
当我们插入属性块,会提示我们输入属性值,有时会弹出对话框,如下图所示。

我们需要用鼠标或按TAB来切换输入内容并还需要确定关闭对话框,如果希望直接在命令行输入属性值,可以将ATTDIA变量设置为0,这样插入图块的时候就可以在命令行依次输入属性值后回车,如果不改默认值,直接回车就可以,如下图所示。

三、控制命令对话框的变量
有几次网友问命令怎么突然不弹出对话框了,查了一下确实有一个变量可以可以控制命令对话框的显示,变量是CMDDIA,但试了一下将这个变量设置为0,大部分带命令的对话框还是会弹出对话框,我看了AUTOCAD 2018帮助里给了一个说明和命令列表,我试了常用的PLOT或标注文字和引线文字的编辑,似乎都不起作用。不过我也只能将AUTOCAD的帮助内容粘贴到这儿了。
CMDDIA(系统变量)
控制执行 DIMEDIT 和 QLEADER 命令时在位文字编辑器的显示,以及基于 AutoCAD 的产品中的某些对话框的显示。
| 类型: | 整数 |
| 保存位置: | 注册表 |
| 初始值: | 1 |
在脚本中,某些命令会自动隐藏某些对话框或在位文字编辑器。在其他情况下,将 CMDDIA 设置为 0(零),或者在命令的命令行版本(以短划线开头)可用时使用它。
|
值 |
说明 |
|---|---|
| 0 | 禁止显示在位文字编辑器和某些对话框。 |
| 1 | 显示在位文字编辑器和某些对话框。 |
下列 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帮助粘上来,感兴趣的可以看一眼,不感兴趣的可以忽略。
EXPERT(系统变量)
控制是否显示某些特定提示。
| 类型: | 整数 |
| 保存位置: | 未保存 |
| 初始值: | 0 |
|
值 |
说明 |
|---|---|
|
0 |
正常地显示所有提示。 |
|
1 |
禁止显示“准备重生成,是否继续?”和“是否确实希望关闭当前图层?”(-LAYER) |
|
2 |
禁止显示上述提示和“已定义块。是否重新定义?”(-BLOCK) 和“具有此名称的图形已存在。是否替换?”(SAVE 或 WBLOCK)。 |
|
3 |
不显示上述提示,以及尝试加载已加载的线型或尝试在已定义线型的文件中创建新线型时由 LINETYPE 命令提示 (-LINETYPE) 发出的提示。 |
|
4 |
不显示上述提示,以及输入的名称已存在时 UCS 命令的“保存”选项和 VPORTS 命令的“保存”选项所给出的提示。 |
|
5 |
禁止显示提示“该名称已在使用,是否重新定义?”由 -DIMSTYLE 的“保存”选项发出的“该名称已在使用。是否重新定义?”提示。 不显示 -SCALELISTEDIT 系统变量“添加”选项发放的相同提示。 |
当提示被 EXPERT 禁止时,将执行正在处理的操作,而认为用户在提示时输入了y。
注:设置 EXPERT 可以影响脚本、菜单宏、AutoLISP 及命令函数。(不适用于 AutoCAD LT。)
除此以外,HPDLGMODE变量可以控制填充命令是弹出对话框还是使用命令面板,低版本不支持此变量。高版本CAD阵列的对话框模式和命令面板是两个命令,要使用对话框模式需要调用ARRAYCLASSIC命令。
AutoCAD高版本怎么把填充对话框调出来?
AutoCAD高版本怎么把阵列对话框调出来?
FILEDIA变量问题遇到得比较多,现象很明显,也很容易解决,但网友遇到的其他命令不弹对话框的情况,我在CAD帮助里反复搜索,也只找到上面这些控制对话框显示的变量和方法,并没有找到解决方法。如果哪位网友遇到类似情况并找到的问题所在,请留言。
以上技巧适用于AUTOCAD和浩辰CAD等常用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
