自定义复制
;;更改AutoCAD的复制命令;;目标是:在初始选择集合为空时,不需按"P"键,而是点鼠标右键就可以获取上一次选择集
;;一是懒,二是嫌"P"太远
(defun C:C1 (/ SS) ;复制
(if (not (setq SS (ssget)))
(if (not (setq SS (ssget "_P")))
(exit)
)
)
(command ".COPY" SS "" "Multiple")
(princ)
)
;;后来发现select命令扩展更好,"P"之后,还可以对选择集增删
(defun C:C2 () ;复制
(if (not (ssget))(command ".SELECT" "Previous" PAUSE))
(command ".COPY" (ssget "_P") "" "Multiple")
(princ)
) 怎么那么复杂,看不懂。这样貌似也可以:
(defun c:c11 ()
(setq en (ssget))
(if (= en nil)
(setq en (ssget "p"))
)
(command "copy" EN "" "m")
(princ)
) 有特色,连续复制。 本帖最后由 lanjqka 于 2013-12-13 13:05 编辑
;;C2在上一次空选连续右键,command "" "Multiple"会出问题 改进
(defun C:C3 (/ SS) ;复制
(if (not (ssget))
(progn(command ".SELECT" "Previous" PAUSE)(command))
);可以扩展到其他命令上
(if (setq SS (ssget "_P"))
(command ".COPY" SS "" "Multiple"))
(princ)
) 用得着那么复杂吗?
(defun c:tt()
(command "copy" "p" "" "m")
) 原来可以这么简单! 收藏了!有一天可能会用到
页:
[1]