ÁÖ¸»³óºÎ´Ôí ;;====================================== ; ¹®ÀÚ Á¤·ÄÇϱâ(»óÇÏÁ¿ì) ; ->´ÙÁß¼±ÅÃµÈ ¹®ÀÚ¸¦ ±âÁØÁ¡À» Á¤ÇÏ¿© Á¿ì·Î Á¤·ÄÇÏ´Â ¸í·É¾î ; ->¹®ÀÚÀÇ ½ÃÀÛÁ¡À̳ª ³¡Á¡À» ¸ÂÃß¾î Á¤·ÄÇÒ ¶§ »ç¿ë ;;------ Text Arrange ------------------------------------------- (defun c:ta(/ os ss n k pt pt1 pt1x pt2 ptx pty pyxy kw k en ed tx a) ;->*error* start (defun *error* (msg)(princ "error: ")(princ msg) (setvar "osmode" os)(setvar "blipmode" bl) (princ)) ;-<*error* end (setq os (getvar "osmode")) (prompt " ¹®ÀÚ Á¤·ÄÇϱâ...") (setq ss (ssget '((0 . "text")))) (terpri) (setq n (sslength ss)) (setq ptx (car (getpoint "nÁ¿ìÁ¤·ÄÁ¡ ¼±ÅÃ(»óÇÏ)->")))(terpri) (setvar "osmode" 0) (if (= ptx nil) (progn (setq ss (@ta_lst ss)) (setq pt (dxf 10 (entget (ssname ss 0)))) (setq pty (cadr pt)) (setq k 1) (repeat (- n 1) (setq en (ssname ss k)) (setq ed (entget en)) (setq pt1 (dxf 10 ed)) (setq pt1x (car pt1)) (setq pt2 (list pt1x pty)) (vl-cmdf "move" en "" pt1 pt2) (setq k (+ k 1)) ) ) (progn (setq a "ÀÚ¸®¸ÂÃ߱⠼±ÅÃ[¿ÞÂÊ(L)/Áß½É(C)/Áß°£(M)/¿À¸¥ÂÊ(R)] <¿ÞÂÊ>: ") (initget "Left Center Middle Right") (setq kw (getkword a)) (if (= kw nil) (setq kw "Left")) (if (= kw "Left") (setq sn 10) (setq sn 11)) (command "justifytext" ss "" kw) (terpri) (setq k 0) (while (<= 1 n) (setq en (ssname ss k)) (setq ptxy (cdr (assoc 10 (entget en))) ) (setq pty (cadr ptxy)) (setq pt2 (list ptx pty)) (entmod (subst (cons sn pt2) (assoc sn (entget en))(entget en))) (setq n (- n 1)) (setq k (+ k 1)) ) ) );if end (setvar "osmode" os) (princ)) ; ->xÁÂÇ¥°¡ ÀÛÀº¼ø¼·Î ¼±Åü¼Æ®À» ÀçÁ¤·Ä (defun @ta_lst (ss / ssn n ss-x1 en en1y ss-x1 ss-x2 ss-x3 e1 e2) (setq ssn (sslength ss)) (setq n 0) (setq ss-x1 '()) (repeat ssn (setq en (ssname ss n)) (setq en1x (list en (car (cdr (assoc 10 (entget en)) ) ) )) (setq ss-x1 (cons en1x ss-x1)) (setq n (+ n 1)) ) (setq ss-x2 (vl-sort ss-x1 '(lambda (e1 e2) (< (cadr e1) (cadr e2)))) ) ;;;»õ·Î¿î ¼±Åü¼Æ® ¸¸µé±â (setq n 0 ss-x3 (ssadd)) (repeat ssn (setq ss-x3 (ssadd (car (nth n ss-x2)) ss-x3)) (setq n (+ n 1)) ) ss-x3) |