프로그램
캐드 분류

주말농부님 텍스트 좌우정렬 리습 관련 질문

컨텐츠 정보

  • 62 조회
  • 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

관련자료

댓글 4

상큼메론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) )

이렇게 바꾸시면 됩니다.

;

따스한어묵님의 댓글

그 기준점에 맞게 글자가 수직일렬 정렬되는 리습입니다 ! JUSTIFYTEXT 명령어는 문자의 속성을 변경시키고 위치는 그대로네요 ㅠㅠ

상큼메론90님의 댓글

이것은 리습 보다는 justifytext 캐드 자체 명령어가 편할 것 같은데요

명령: JUSTIFYTEXT [왼쪽(L)/정렬(A)/맞춤(F)/중심(C)/중간(M)/오른쪽(R)/맨위왼쪽(TL)/맨위중심(TC)/맨위오른쪽(TR)/중간왼쪽(ML)/중간중심(MC)/중간오른쪽(MR)/맨위왼쪽(BL)/맨위중심(BC)/맨위오른쪽(BR)]

여분필드1 여분필드2 여분필드3
전체 7,337 / 8 페이지
번호
제목
이름
알림 0