用VBA的SendCommand方法时如何禁止命令行回显?
用SendCommand方法反复执行AutoCAD某一内部命令,命令行不停地翻滚显示,非常烦人,如何禁止命令行回显? 设置这两个系统变量:CMDECHO 系统变量
控制在 AutoLISP 的 command 函数运行时 AutoCAD 是否回显提示和输入。
0 关闭回显
1 打开回显
NOMUTT 系统变量
禁止显示信息,即不进行信息反馈(如果通常情况下并不禁止显示这些信息)。AutoCAD 的普通模式将显示消息,但消息将在脚本、AutoLISP 例程等运行期间禁止显示。
0 恢复普通模式的消息反馈
1 禁止不确定的消息反馈
Sub Test()
ThisDrawing.SetVariable "CMDECHO", 0
ThisDrawing.SetVariable "NOMUTT", 1
' 在这儿添加自己的代码
ThisDrawing.SetVariable "NOMUTT", 0
ThisDrawing.SetVariable "CMDECHO", 1
End Sub 本帖最后由 作者 于 2003-10-11 22:54:38 编辑
谢谢斑竹指点。经测试这样只禁止了命令提示的回显,而命令、命令要输入的参数及命令执行的结果仍然显示。 SendCommand方法的原理其实就是直接在命令行中输入内容,而不象LISP语言中的Command函数是经过处理的,所以你怎么搞它都会显示出来你输入的内容,这只能等Autodesk去修改内核了。
刚试过使用VLAX调用Command函数和Vl-cmdf函数都不行,不知大家试过怎样。 原来这样,回显确实很讨厌!
页:
[1]