这个是我自己写的一段“换文字”的lisp 想实现批量修改,怎么写?意思就是,第一次单选一个文本 → 再批量选择需要替换的文本 → 删除第一个文本→结束 只知道下面的entsel 要修改为要该为批量选择(ssget?),再有循环,怎么写就不知道了,求高手帮我! (defun c:HWZ() (setq en (entsel "选新文字(删除):")) (setq en_data (entget (car en))) (setq en_text_list (assoc 1 en_data)) (setq text (cdr en_text_list)) (princ "\n新文字:")(princ text) (setq eo (entsel "选旧文字(保留):")) (setq eo_data (entget (car eo))) (setq texto_list (assoc 1 eo_data)) (princ " 旧文字:")(princ (cdr texto_list)) (setq new_text_list (cons 1 text)) (setq eo_data (subst new_text_list texto_list eo_data)) (entmod eo_data) (vl-cmdf "erase" en "") ) |