如何在我的r
你好我期待着在我的例程中包含相同的Undo命令
作为直线和多段线命令中的一个。
一些事情,比如在没有完成的情况下重复整个程序。
非常感谢 例子:
(defun c:test ( / p1 p2 p3 elist )
;;---------------------------------------------;;
;; Example © Lee Mac 2011-www.lee-mac.com;;
;;---------------------------------------------;;
(if (setq p1 (getpoint "\nSpecify First Point: ") p3 p1)
(while
(progn (initget "Undo")
(setq p2 (getpoint (strcat "\nSpecify Next Point" (if elist " " "") ": ") p1))
(cond
(
(and p2 (listp p2))
(setq elist
(cons
(entmakex
(list
(cons 0 "LINE")
(cons 10 (trans p1 1 0))
(cons 11 (trans p2 1 0))
)
)
elist
)
p1 p2
)
)
(
(eq "Undo" p2)
(if elist
(progn
(entdel (car elist))
(if (setq elist (cdr elist))
(setq p1 (cdr (assoc 11 (entget (car elist)))))
(setq p1 p3)
)
)
(princ "\n** Nothing to Undo **")
)
)
)
)
)
)
(princ)
)
李太棒了。
我有这个例程,我想在其中包括Undo命令,我尝试了很长时间,但没有机会。
你能带我去吗?
这是我漫长的日常生活的一部分,所有动作都是用defuns完成的,如下图所示。
2 例子:
(defunc:test(/elist opt pt str ucsxdir ucsz);;----------------------------------------------------;;;;示例©Lee Mac 2011-www.Lee-Mac。通用域名格式;;;;---------------------------------------------------;;(UCSZ(trans'(0。10tUCSXDIR(角度'(0。0。0。trans(getvar'UCSXDIR)0UCSZt)(而(initget“文本多行文字撤消”(opt(2A2A]“\n文字或多行文字?[文字/多行文字”(ifelist“/Undo””“]:“)((2a)“撤消”opt(ifelist(prognentdel(carelist)elist(cdrelist)[(princ“\n**无需撤消**”t(opt( 李真是太棒了。
非常感谢你。 不客气,迈克尔,希望你能从中学到一些东西
页:
[1]