【转载】向AutoCAD注册用户命令

实际上,AutoCAD对于用户自定义命令 (C:xxx) 和她原装的命令并不是一视同仁,而是有亲有疏。具体表现在C:xxx定义的命令: 
1〉用 (Command) 或者 (VL-CmdF) 函数不能引用。 
2〉从菜单项引发的用户自定义命令,执行之后不能用回车重复调用。 
3〉命令反应器不能跟踪。 

这显然是不方便的,为了克服这个问题,我们曾经探讨了多个行之有效的方法。而目前,Visual LISP 也提供了一种新的解决方案,关键功能函数是 (VLAX-Add-Cmd)。 
(VLAX-Add-Cmd “命令名”函数名 [“命令别名” 命令标志码]) 
作用: 
将一个用户函数以内部命令身份加入到AutoCAD命令集之中。 
参数: 
<命令名>:字串,确定了在“命令:”提示下可以使用的命令名称。 
<函数名>:符号,确定了定义这个命令的函数,函数必须没有形式参数。 
<命令标志码>:整数(默认为 0+4)。确定了命令的一些特性。 
主要标志有: 
0:ACRX_CMD_MODAL,非透明的命令。 
1:ACRX_CMD_TRANSPARENT,透明的命令。 
二级标志有: 
2:ACRX_CMD_USEPICKSET,命令能够获取选择集,但不能检索或设置夹点。 
4:ACRX_CMD_REDRAW,命令可获取选择集和夹点集。 
这样处理后的函数就可以在用菜单项引用之后,用回车重新调用之。也可以在其它用户程序中,用 (Command) 或 (VL-CmdF) 引用这个命令。而这样的函数定义时,名字是否还要加上C: 前缀,也就不是必要的了。

posted @ 2013-04-14 13:22  编号一百零二  阅读(1012)  评论(0编辑  收藏  举报