주말농부님 텍스트 좌우정렬 리습 관련 질문
컨텐츠 정보
- 738 조회
- 4 댓글
- 0 추천
- 0 비추천
-
목록
본문
리습이 기준점 지정 후 왼쪽 / 중심 / 오른쪽 정렬해주는 리습인데 이걸 중간왼쪽 / 중간중심 / 중간오른쪽 으로 설정을 바꿀 수는 없나요..? 리습 수정을 해보다가 기준점에 멀리 떨어져 정렬되는 오류가 계속 나와 질문드립니다. 아래 첨부 리습은 원본입니다.. 부탁드려요 ㅠㅠ (defun c:twc(/ myerror os ss n ptx pty pyxy kw k en tx a) ;start --- Internal error handler ----------------------------- (defun myerror(S) (if (/= s "Function cancelled")(princ (strcat "nError:" s))) (setvar "osmode" os) (setvar "blipmode" bl) (setq *error* olderr)(princ) ) (setq olderr *error* *error* myerror) ;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) (setq a "자리맞추기 선택[왼쪽(L)/중심(C)/오른쪽(R)] : <왼쪽> ") (initget "Left Center 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)) ) (setvar "osmode" os) (princ) )autocad
관련자료
상큼메론90님의 댓글
(defun c:twc(/ myerror os ss n ptx pty pyxy kw k en tx a)
;start --- Internal error handler -----------------------------
(defun myerror(S)
(if (/= s "Function cancelled")(princ (strcat "nError:" s)))
(setvar "osmode" os) (setvar "blipmode" bl)
(setq *error* olderr)(princ) )
(setq olderr *error* *error* myerror)
;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)
(setq a "자리맞추기 선택[왼쪽(L)/중심(C)/오른쪽(R)] : ")
(initget "mL mC mR")
(setq kw (getkword a))
(if (= kw nil) (setq kw "ml"))
(if (= kw "ml") (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))
)
(setvar "osmode" os)
(princ)
)
이렇게 바꾸시면 됩니다.
;