|
关于VLAX-Add-Cmd函数--如何使自定义命令同内部命令一样.
使用VLAX-Add-Cmd函数可以向注册用户命令.
以下面程序为例在"单文档兼容模式"下运行没有发现问题.
但在多文档模式下切出现下面奇怪的问题:
先将程序添加到启动组;
打开任意dwg文档如:图1.dwg,在命令行输入dsin成功执行该命令;
打再开另一dwg文档如:图2.dwg,在命令行输入dsin成功执行该命令;
通过窗口切换回"图1.dwg",在命令行输入dsin执行该命令时,出现下图的错误.
本人百思不得其解,希望能有高手抽神来研究一下该如何解决.
(Defun DSin (/ x n z s dx cm bl x0 y0);;绘制正弦曲线的程序;
(SetQ x 0
p (GetPoint "\n基点: ") x0 (Car p) y0 (Cadr p)
n (GetInt "\n精度(全线上直线片段数): ")
z (GetReal "\n周期数: ")
s (GetReal "\n波高系数: ")
dx (/ (* z 2 Pi) n)
)
(SetQ cm (GetVar "cmdecho") bl (GetVar "blipmode"))
(SetVar "cmdecho" 0) (SetVar "blipmode" 0)
(Command "pline" p)
(Repeat n
(SetQ x (+ x dx))
(Command (List (+ x0 x) (+ y0 (* s (Sin x)))))
)
(Command "")
(SetVar "cmdecho" cm) (SetVar "blipmode" bl) (PrinC)
)
(VLAX-Add-Cmd "DSin" 'DSin);注册用户命令;
;(注:上述程序引至陈伯雄的) |
|