04版的多重复制要输入关键字M,撤销的时候,在同一视口完成的操作算作一步。 06版默认为多重复制,撤销的时候是一下全部撤销。 我想要实现逐步撤销,编了两个小程序,都有不足之处,望高手能够解决,关键是如何实现在键盘输入空格和回车终止程序的问题。 ;改进的多重复制,空格或回车可以退出,但是复制过程中不能动态显示复制对象。 (defun C:CC () (setq css (ssget)) (setq pt0 (getpoint "指定基点")) (setq pt t) (while pt (setq pt (getpoint pt0 "\n指定目标点")) (command "copy" css "" pt0 pt) ) (prin1) ) ;改进的多重复制,只能按ESC退出,空格或回车仍然继续复制。 (defun C:CCC () (setq css (ssget)) (setq pt0 (getpoint "指定基点")) (setq pt t) (while pt (command "copy" css "" pt0 pause) ) (prin1) ) |