CAD的动态输入
在cad中仅仅只执行DIST命令时自动开启动态输入,当命令执行完后自动关闭动态输入这个代码怎么写? 写个简单的命令反应器即可!(or *DistVlr*
(setq *DistVlr*
(vlr-command-reactor
nil
'((:VLR-commandWillStart . diststart)
(:VLR-commandEnded . distEnd)
)
)
)
)
(defun diststart (reactor_object lst)
(if (= "DIST" (car lst))
(progn
(setq *dynmode* (getvar 'dynmode))
(setvar 'dynmode 3)
)
)
)
(defun distEnd (reactor_object lst)
(if (= "DIST" (car lst))
(progn
(setvar 'dynmode *dynmode*)
(setq *dynmode* nil)
)
)
)
看了Gu版的反应器,似乎有些举一反三的感觉了。反应器着实太难了,太难懂啊。 Gu_xl 发表于 2014-12-4 12:49 static/image/common/back.gif
写个简单的命令反应器即可!
请问可不可以是一个自定义的命令(程序)呢? 669423907 发表于 2014-12-4 20:37 static/image/common/back.gif
请问可不可以是一个自定义的命令(程序)呢?
不明白你的意思 Gu_xl 发表于 2014-12-4 20:46 static/image/common/back.gif
不明白你的意思
(if (= "abc" (car lst))
,,,,,,,,,,,,,,,,,,,,,,
(defun abc()
,,,,,,,,,,,,,,,, 669423907 发表于 2014-12-4 20:49 static/image/common/back.gif
(if (= "abc" (car lst))
,,,,,,,,,,,,,,,,,,,,,,
使用lisp反应器 G版不要搞的太高深了,吓到人的!
直接重写一下DIST命令最简单
(defun c:dist ()
(setq *dynmode* (getvar 'dynmode))
(setvar 'dynmode 3)
(command "dist" pause pause)
(setvar 'dynmode *dynmode*)
) ;_ end_defun
页:
[1]