안녕하세요.
화면에 블럭명을 표시하는 리습을 쓰고 있는데요,
캐드에서 문자스타일을 아무리 조정하여도
항상 문자스타일이 ‘stadard’로만 표시가 되고 있습니다.
캐드상에서 다른 변수를 변경하여야 하는지…
리습이 수정이 된다면
현재 설정해 놓은 문자 스타일로 블럭명이 표시가 되었으면 합니다.
캐드상에서 다른 변수를 변경하여야 하는지…
리습이 수정이 된다면
현재 설정해 놓은 문자 스타일로 블럭명이 표시가 되었으면 합니다.
고견 부탁드립니다.
(defun c:az( / loop ss);;;블럭이름 화면에 쓰기
(princ ” = 블럭이름 화면에 쓰기”)
(setq c_l (getvar “clayer”)) ;<= 현재 레이어값을 저장한다.
(setq ly (tblsearch “layer” “def” “n”)) ;”레이어를 검색 없으면 레이어 생성
(if (= ly nil) (command “layer” “n” “def” “c” “171” “def” “p” “n” “def” “”))
(setvar “clayer” “def”) ;<= 현재 레이어를 변경한다.
(defun loop (lst)
(if lst
(
(lambda (ent)
(entmakex
(list
(cons 0 “TEXT”)
(cons 10 (cdr (assoc 10 ent)))
(cons 40 m-ht)
(cons 1 (cdr (assoc 2 ent)))
(cons 71 0)
(cons 72 1)
(cons 11 (cdr (assoc 10 ent)))
(cons 73 2)
)
)
(loop (cdr lst))
)
(entget (car lst))
)
)
)
(if (setq ss (ssget ‘((0 . “insert”))))
(progn
(setq m-ht
(cond
(m-ht (cond ((getreal (strcat “n문자 높이<” (vl-princ-to-string m-ht) “>:”))) (m-ht)))
((getreal “n문자 높이:”))
)
)
(loop (vl-remove-if ‘listp (mapcar ‘cadr (ssnamex ss))))
)
)
(princ)
(setvar “clayer” c_l) ;<= 저장된 값으로 현재 레이어를 변경한다.
)
text의 style은 7번이예요. 안넣으면 기본값인 standard로 설정됩니다.
감사의 글을 올려야 하는데, 제가 리습에는 문외한이라…
이것저것 검색을 통해 조금씩 맛을 들여가고 적용해 보는 수준이라 재차 여쭙겠습니다.
text의 style이 7번이라는 말씀 아무리 머리를 굴려도 이해를 못 하겠습니다. ^^;;;
tblsearch에 넣는 다는 것은 아래처럼 예문을 추가 하면 될까요?
(setq te (tblsearch “style” “HY울릉도L”)) ;”style을 검색 없으면 style 생성
(if te (progn
(command “-style” “HY울릉도L” “H2WULL.TTF” “0” “0.8” “0” “n” “n”)
))
답글 감사하며, 다시금 지혜를 주신다면 리습에 더욱더 매진하겠습니다.
행복한 하루 되십시오.
(list (cons 0 “TEXT”)
;; 요 구문을
(list (cons 0 “TEXT”)
(cons 7 (getvar “TEXTSTYLE”))
;; 으로 변경하시면 될듯..
혹시나 싶어서 들어와봤는데, 여윽시!
자유천지님 너무 고맙습니다. ^^
더디지만 꾸준히 배워 나가겠습니다.
함께 도움주신 penpen07님께도 다시금 감사의 글 올립니다. 꾸벅