텍스트 "justifY" 수정은 어떻게 하나요?
컨텐츠 정보
- 217 조회
- 6 댓글
- 0 추천
- 0 비추천
- 목록
본문
텍스트 "justifY" 수정은 어떻게 하나요?
지금 "Right" 로 되어 있는데 "Left"로 바꾸고 싶어요
밑에 색칠된 R을 L로 바꿨더니 에러가 나네요
;*********************** ADDING THE NUMBERS PROGRAM ************************
(DEFUN C:- (/ z ss sno no tno sum x entity etype num h pt cc ly te hh k s sn n tn su y entit etyp nu dz)
;->*error* start
(defun *error* (msg)(princ "error: ")(princ msg)
(setvar "osmode" os)(setvar "blipmode" bl)(setvar "dimzin" dz)
(princ))
;-<*error* end
(SETVAR "CMDECHO" 0)
; (setq nd (getint "n>>>Number of digits to right of decimal point(0-8) : "))
(prompt "n>>> 숫자 빼기 ….")
(setq dz (getvar "dimzin") os (getvar "osmode") bl (getvar "blipmode"))
(setvar "dimzin" 0) ; 소수점이하 "0″을 표현함.
(setq nd 1)
(prompt "n……Select A Text : ")
(setq ss (ssget))
(setq sno (sslength ss))
(setq no 0)
(setq sum 0.0)
(setq tno 0)
(repeat sno
(setq x (ssname ss no))
(setq etype (cdr (assoc 0 (entget x))))
(if (= etype "TEXT")
(progn
(setq entity (entget x))
(setq num (cdr (assoc 1 entity)))
(setq num (atof num))
(setq sum (+ sum num))
(setq tno (1+ tno))
)
)
(setq no (1+ no))
)
(setq tno (itoa tno))
(prompt "n……Select B Text : ")
(setq s (ssget))
(setq sn (sslength s))
(setq n 0)
(setq su 0.0)
(setq tn 0)
(repeat sn
(setq y (ssname s n))
(setq etyp (cdr (assoc 0 (entget y))))
(if (= etyp "TEXT")
(progn
(setq entit (entget y))
(setq nu (cdr (assoc 1 entit)))
(setq nu (atof nu))
(setq su (+ su nu))
(setq tn (1+ tn))
)
)
(setq n (1+ n))
)
(setq tn (itoa tn))
(setq k (- sum su))
(setq k (rtos k 2 nd))
(setq pt (getpoint "n>>> Text Point : "))
(setq cc (getvar "clayer"))
(setq ly (tblsearch "layer" "최종심도")) ;"레이어를 검색 없으면 레이어 생성
(if (= ly nil) (command "-layer" "m" "text" "c" "1″ "" "l" "continuous" "" "")
)
(setvar "clayer" "text") ;<= 현재 레이어를 변경한다.
(setq te (tblsearch "style" "HY울릉도L")) ;"style을 검색 없으면 style 생성
(if te (progn
(command "-style" "HY울릉도L" "H2WULL.TTF" "0″ "1″ "0″ "n" "n")
))
(SETQ Hh (GETVAR "ltscale"))
(setq h (* hh 3))
(SETQ H (GETVAR "TEXTSIZE"))
(prompt "n>>> Text Height <")
(princ H)
(princ "> : ")
(setq Z (getdist))
(if Z
(setq H Z)
)
(COMMAND "TEXT" "J" "R"
(SETQ Z PT)
(SETQ Z H)
(SETQ Z 0.0)
(strcat "D" (SETQ Z k))
)
(setvar "clayer" cc)
(setvar "osmode" os)(setvar "blipmode" bl)
(setvar "dimzin" dz)
(PRIN1)
)
관련자료
상큼메론90님의 댓글
아~ 실수였군요.
여기에 올라온 질문은 질문자님만 보는게 아니고, 모두가 보고, 답을 얻기 때문입니다.
일단, 아래와 같이 수정하셨다고 했는데… (COMMAND "TEXT" "J" "R" (SETQ Z PT) (SETQ Z H) (SETQ Z 0.0) (strcat "D" (SETQ Z k))
)
여기서 R 옵션을 L로 바꿔도 안되는 이유는 text 자체명령어에서 j (justifytext) 옵션은 L을 지원하지 않습니다. 그러나 justifytext 명령어 일때는 L을 지원합니다.
두 명령어 간의 약간 차이가 있는데요
text 명령어에서 지원하는 것은 BL ML TL 입니다. 그래서 BL ML TL 셋중에 하나를 입력하면 됩니다.
(COMMAND "TEXT" "J" "BL" (SETQ Z PT) (SETQ Z H) (SETQ Z 0.0) (strcat "D" (SETQ Z k))
)
;