![]() |
[讨论]关于多重复制及其撤销的问题
[讨论]关于多重复制及其撤销的问题
www.dimcax.com [讨论]关于多重复制及其撤销的问题 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) ) d 帮你转到lisp版块 d 无预览.可以一步步undo 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21( c:c ( aa bb copycl) ( "\n选择要拷贝的物体: ") ( ( copycl ( ":l")) ( ( bb ( "\n指定基点:")) ( 1;( ( aa) 'list) ( 2 "u") ( aa ( "\n指定基点或位移或[放弃(u)]:")) ( (( ( aa) 'str) ( "undo" "") ) (( ( aa) 'list) ( "copy" copycl "" bb aa) ) ( ()) ) ) ) ) ) d 感谢明总移帖,也谢谢楼上这位热心的大哥。 d |
所有的时间均为北京时间。 现在的时间是 04:58 PM. |