(defun m-ddedit ( / ent entapp n)
(setq ent (ssget ‘((0 . “text”)))) ;; text 만 선택된다….
(if ent ;; text 선택된것이 있다면.
(progn
(setq n 0)
;; select set 을 ename 리스트로 만든다.
(repeat (sslength ent)
(setq entapp (append entapp (list (ssname ent n)))
n (1+ n)
)
)
;; text x 좌표를 기준으로 오름차순으로 리스트를 sort 한다.
;; 만약 y 좌표를 기준으로 오름차순으로 sort 하려면 (caddr (assoc 10 (entget e1))) 로 바꾸어 주면 된다.
(setq entapp (vl-sort entapp ‘(lambda (e1 e2) (< (cadr (assoc 10 (entget e1))) (cadr (assoc 10 (entget e2)))))))
;; 순서대로 문자를 수정한다.
(foreach x entapp
(command “ddedit” x “”)
)
)
)
(princ)
)
위 리습은 아키 홈피에서 구한 리습인데요. ^^
유용하게 쓰고있는데
문제는 클릭순서대로 차례대로 변환하는게 아니고
x좌표 순서대로 수정순서가 된답니다. ^^
전 클릭순서대로 바꾸고 싶은데 ;;
어떻게 안될까요? 부탁드려요~