bzhyong 发表于 2018-4-13 13:37:31

求教如何连续实现交换功能

(defun c:maa()
(setvar "cmdecho" 0)
(setq en1 (entsel "选取源文本:"))
(setq en_data (entget (car en1)))
(setq old_rad_list (assoc 1 en_data));取得旧半径列表

(setq en2 (entsel "选取目标文本:"))
(setq en_data2 (entget (car en2)))
(setq new_rad_list (assoc 1 en_data2));取得旧半径列表


(setq en_data2 (substold_rad_list new_rad_listen_data2))
(entmod en_data2)
(prin1)
)
(prompt "maa交换文本内容:")代码如上。功能为把文字复制到另一个文字中。每次只能复制一次,求教如何刷一次源文本,连续可以选取目标文本

bssurvey 发表于 2018-4-13 14:29:48

本帖最后由 bssurvey 于 2018-4-13 15:27 编辑

試試這個
(defun c:maa()
(setvar "cmdecho" 0)
(setq en1 (entsel "选取源文本:"))
(setq en_data (entget (car en1)))
(setq old_rad_list (assoc 1 en_data));取得旧半径列表

(while (setq en2 (entsel "选取目标文本:"))
(setq en_data2 (entget (car en2)))
(setq new_rad_list (assoc 1 en_data2));取得旧半径列表


(setq en_data2 (substold_rad_list new_rad_listen_data2))
(entmod en_data2)
)
(prin1)
(setvar "cmdecho" 1)
)

(prompt "maa交换文本内容:")代码如上。功能为把文字复制到另一个文字中。每次只能复制一次,求教如何刷一次源文本,连续可以选取目标文本
页: [1]
查看完整版本: 求教如何连续实现交换功能