明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2970|回复: 4

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

[复制链接]
发表于 2003-10-11 10:28:00 | 显示全部楼层 |阅读模式
用SendCommand方法反复执行AutoCAD某一内部命令,命令行不停地翻滚显示,非常烦人,如何禁止命令行回显?
发表于 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
 楼主| 发表于 2003-10-11 12:18:00 | 显示全部楼层
本帖最后由 作者 于 2003-10-11 22:54:38 编辑

谢谢斑竹指点。经测试这样只禁止了命令提示的回显,而命令、命令要输入的参数及命令执行的结果仍然显示。
发表于 2003-10-11 18:43:00 | 显示全部楼层
SendCommand方法的原理其实就是直接在命令行中输入内容,而不象LISP语言中的Command函数是经过处理的,所以你怎么搞它都会显示出来你输入的内容,这只能等Autodesk去修改内核了。
刚试过使用VLAX调用Command函数和Vl-cmdf函数都不行,不知大家试过怎样。
发表于 2003-10-26 13:57:00 | 显示全部楼层
原来这样,回显确实很讨厌!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-28 12:54 , Processed in 0.187867 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表