用command做了一些图层操作,操作后用ctrl+z要很多次才能撤销,有办法一次撤销么
(defun c:av ();打开所有、关闭计算书图层、
(setvar "cmdecho" 0)
(setvar "Expert" 1)
(command "Layer" "on" "*""")(princ)
(command "Layer" "off" "*建筑图*|*""")(princ)
(command "Layer" "off" "*建施*|*""")(princ)
(command "Layer" "off" "*景观施*|*""")(princ)
(command "Layer" "off" "*人防施*|*""")(princ)
(command "Layer" "off" "*wpj*|*""")(princ)
(command "Layer" "off" "*配筋*|*""")(princ)
(command "Layer" "off" "*导荷*|*""")(princ)
(command "Layer" "off" "*板配筋*|*""")(princ)
(command "Layer" "off" "*配筋结果*|*""")(princ)
(command "Layer" "off" "*计算结果*|*""")(princ)
(command "Layer" "off" "*荷载简图*|*""")(princ)
(command "Layer" "off" "*荷载校核*|*""")(princ)
(command "Layer" "off" "*挠度*|*""")(princ)
(command "Layer" "off" "*冲切*|*""")(princ)
(command "Layer" "off" "*沉降*|*""")(princ)
(command "Layer" "on" "*结构参*""")(princ)
(command "Layer" "on" "*建筑参*""")(princ)
(setvar "Expert" 0)
(setvar "cmdecho" 1)
);■■■■
楼主整复杂了,注意command命令不能关闭当前图层.以下为简单示例.
(defun c:tt ()
(command "undo" "be")
(command "Layer" "off" "text" "")
(command "Layer" "off" "text1" "")
(command "undo" "e")
(prin1)
)
在程序前面加上undo begin,末尾加上undo,论坛搜关键词undo tigcat 发表于 2021-11-12 22:25
在程序前面加上undo begin,末尾加上undo,论坛搜关键词undo
编组之后,就可以一次撤销
;;编组开始;(command "_.undo" "be")
(defun _StartUndo (*DOC*)
(_EndUndo *DOC*)
(vla-StartUndoMark *DOC*)
)
;;结束编组;(if (= 8 (logand (getvar "undoctl") 8)) (command "_.undo" "_e"))
(defun _EndUndo (*DOC*)
(if (= 8 (logand 8 (getvar 'UNDOCTL)))
(vla-EndUndoMark *DOC*)
)
)
(defun c:av ()
;打开所有、关闭计算书图层、
(setvar "cmdecho" 0)
_StartUndo()
(setvar "Expert" 1)
(command "Layer" "on" "*""")(princ)
(command "Layer" "off" "*建筑图*|*""")(princ)
(command "Layer" "off" "*建施*|*""")(princ)
(command "Layer" "off" "*景观施*|*""")(princ)
(command "Layer" "off" "*人防施*|*""")(princ)
(command "Layer" "off" "*wpj*|*""")(princ)
(command "Layer" "off" "*配筋*|*""")(princ)
(command "Layer" "off" "*导荷*|*""")(princ)
(command "Layer" "off" "*板配筋*|*""")(princ)
(command "Layer" "off" "*配筋结果*|*""")(princ)
(command "Layer" "off" "*计算结果*|*""")(princ)
(command "Layer" "off" "*荷载简图*|*""")(princ)
(command "Layer" "off" "*荷载校核*|*""")(princ)
(command "Layer" "off" "*挠度*|*""")(princ)
(command "Layer" "off" "*冲切*|*""")(princ)
(command "Layer" "off" "*沉降*|*""")(princ)
(command "Layer" "on" "*结构参*""")(princ)
(command "Layer" "on" "*建筑参*""")(princ)
(setvar "Expert" 0)
(setvar "cmdecho" 1)
_EndUndo()
);■■■■
是这样吗,还是不能一步撤掉呢,还是要撤好多步 tigcat 发表于 2021-11-12 23:37
楼主整复杂了,注意command命令不能关闭当前图层.以下为简单示例.
好的,我是做结构设计的码盲。。。只会简单的调用哈,谢谢~
页:
[1]