gyl 发表于 2003-10-11 10:28:00

用VBA的SendCommand方法时如何禁止命令行回显?

用SendCommand方法反复执行AutoCAD某一内部命令,命令行不停地翻滚显示,非常烦人,如何禁止命令行回显?

efan2000 发表于 2003-10-11 10:54:00

设置这两个系统变量:
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

gyl 发表于 2003-10-11 12:18:00

本帖最后由 作者 于 2003-10-11 22:54:38 编辑

谢谢斑竹指点。经测试这样只禁止了命令提示的回显,而命令、命令要输入的参数及命令执行的结果仍然显示。

mccad 发表于 2003-10-11 18:43:00

SendCommand方法的原理其实就是直接在命令行中输入内容,而不象LISP语言中的Command函数是经过处理的,所以你怎么搞它都会显示出来你输入的内容,这只能等Autodesk去修改内核了。
刚试过使用VLAX调用Command函数和Vl-cmdf函数都不行,不知大家试过怎样。

myfreemind 发表于 2003-10-26 13:57:00

原来这样,回显确实很讨厌!
页: [1]
查看完整版本: 用VBA的SendCommand方法时如何禁止命令行回显?