CAFE

★ CAD/LISP/분과 Q&A

[[Lisp]]문자 스타일 변경 관련 리습 폰트 구합니다.....

작성자영쭈|작성시간10.05.18|조회수1,601 목록 댓글 19

 

성심 성의껏 질문을 작성하여 주세요, 대충하시면 답변도 대충작성합니다.^^

 

 - 제목 작성시 금지어

   만들어주세요? 해주세요? 안되는데 이렇게 변경해주세요? 등등

- 특정분과 질문은 제목에 분과삽입 [건축] 

   좋은예) [분과]무엇에 대해 문의합니다. /[분과]B로 바꾸는 방법을 알고싶습니다.

- 말머리 필수 

 

① CAD 종류   : 오토캐드

② VERSION   : 2007

③ 운영 체제    : 윈도우 7 32 비트

  

④ 질문내용 및 스크린샷(동영상)

    

달수 님이 만들어 주신 .

아래 리습을 사용해 볼려고 했더니

 

폰트가 없내요.. 

 

울릉도 L,M  파일좀 구합니다.

 

그리고 예전에는 검색만 하면 다 볼수가 있었는데..

 

우등회원이 아닌 서러움이 여기서.. 흑 

 

그럼 폰트좀 부탁 드립니다. ^^

 

아참~ 근데 울릉도 M ,L 체 는 확장자 가 TTF 면 안되나요??

  

(vl-load-com)
(defun c:tch (/ DScaleTmp ChTextHeigth TStyleHY_L TStyleHY_M LayTex LayText ssg cntL cntM)
 ;------------------------------------------------------------------------
  (defun *ERROR* (st)(princ "\n error: ")(KEND)(princ))
  (defun KSTA (TStyleHY_L TStyleHY_M LayTex LayText / ts_na ts_nalst lay_na lay_nalst)
   ;현 도면내에 문자유형을 리스트화 시켜서 울릉도L체와 울릉도M체가 없으면 새로만듦
   (while
    (setq ts_na (tblnext "Style" (null ts_na)))
    (setq ts_nalst (cons (cdr (assoc 2 ts_na)) ts_nalst))
   )
   (if (not (member TStyleHY_L ts_nalst))
      (entmake (list (cons 0 "STYLE")(cons 100 "AcDbSymbolTableRecord")(cons 100 "AcDbTextStyleTableRecord")
          (cons 2 TStyleHY_L)(cons 3 TStyleHY_L)(cons 40 0)(cons 70 0))
      )
   )
   (if (not (member TStyleHY_M ts_nalst))
      (entmake (list (cons 0 "STYLE")(cons 100 "AcDbSymbolTableRecord")(cons 100 "AcDbTextStyleTableRecord")
          (cons 2 TStyleHY_M)(cons 3 TStyleHY_M)(cons 40 0)(cons 70 0))
      )
   )
   ;현 도면내에 레이어를 리스트화 시켜서 "tex"레이어와 "t-text" 레이어가 없으면 새로만듦
   (while
    (setq lay_na (tblnext "layer" (null lay_na)))
    (setq lay_nalst (cons (cdr (assoc 2 lay_na)) lay_nalst))
   )
   (if (not (member LayTex lay_nalst))
    (entmake
     (list (cons 0 "LAYER")(cons 100 "AcDbSymbolTableRecord")(cons 100 "AcDbLayerTableRecord")
     (cons 2 LayTex)(cons 62 3)(cons 70 0))
    )
   )
   (if (not (member LayText lay_nalst))
    (entmake
     (list (cons 0 "LAYER")(cons 100 "AcDbSymbolTableRecord")(cons 100 "AcDbLayerTableRecord")
     (cons 2 LayText)(cons 62 3)(cons 70 0))
    )
   )
   (setq gvar '("OSMODE" "CMDECHO" "CLAYER"))
   (setq gvar_val (mapcar 'getvar gvar))
   (mapcar 'setvar gvar '(0 0 "0"))
   (setq doc (vla-get-activedocument (vlax-get-acad-object)))
   (vla-startundomark doc)
  )
  (defun KEND ()
   (mapcar 'setvar gvar gvar_val)
   (vla-endundomark doc)
    (princ)
  )
 ;------------------------------------------------------------------------

 (if (= DScale nil)(setq DScale (getvar "dimscale")))
 (setq DScaleTmp (getreal (strcat "\n >>> 변경도면의 축척값<"(rtos DScale 2 0)">: ")))
 (if DScaleTmp (setq DScale DScaleTmp))
 (setq ChTextHeigth (* 3.0 DScale) TStyleHY_L "HY울릉도L" TStyleHY_M "HY울릉도M" LayTex "tex" LayText "t-text")
 (KSTA TStyleHY_L TStyleHY_M LayTex LayText)
 (princ "\n >>> 문자변경 [ TEX(HY울릉도L) 과 T-TEXT(HY울릉도M) ]...")
 (if (setq ssg (ssget (list (cons 0 "*TEXT"))))
  (progn
   (setq cntL 0 cntM 0)
   (mapcar
    '(lambda (x)
     (cond
      ((<= (vla-get-Height x) ChTextHeigth)
       (vla-put-Layer x LayTex)
       (vla-put-StyleName x TStyleHY_L)
       (setq cntL (1+ cntL))
      )
      ((> (vla-get-Height x) ChTextHeigth)
       (vla-put-Layer x LayText)
       (vla-put-StyleName x TStyleHY_M)
       (setq cntM (1+ cntM))
      )
     )
    )
    (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp (mapcar 'cadr (ssnamex ssg))))
   )
   (princ (strcat "\n >>> 울릉도L체 [" (rtos cntL 2 0) "]개 처리, 울릉도M체 [" (rtos cntM 2 0) "]개 처리."))
  )
 )
 (KEND)
 (princ)
)
(princ "[명령어 : TCH ] ")(princ)
 

 

 

⑤ 파일첨부 (LISP/DWG) - DWG 첨부시 보다 정확한 답변을 얻을수 있습니다.

 

 

첨부파일 tch(문자변경).lsp

 

 

 

 

※ 유의사항

 - ①말머리 : 말머리를 달아야 구분이 쉽겠죠^^

 - ②Screenshot : 이해를 돕기위해 삽입요망.

 - ③파일 첨부 : 상위버전에서 테스트할 파일이 아니면 가급적 하위버전으로 저장후 첨부.

                          해당리습/해당파일(DWG) 도 같이 첨부하여 주세요.

 - ④       목 : 질문 내용 반영(개략적인 내용),       예) 해치를 만들고 싶어요, pline을 연결할려면?

 - ⑤질문글 삭제금지 : 질문후 댓글이 달린글은 삭제금지.

    여러 리플러들이 소중한 시간을 내어서 고민한후 댓글을 작성한 이상 "강력조치" 토록 하겠음. 

 

※ 정답만이 댓글은 아닙니다. 그 답이 맞던 틀리던 그건 그 댓글로서 존중되어야 합니다.

    회원님들이 글을 읽었다는것과 댓글을 달았다는건 그만큼 관심을 가지고 있고 또 그 답을 해주기 위해

    검색도 해보고 도움말도 보고 고민도 하는 일련의 과정을 거치면서 나오기 때문이죠.

    이에 대한 고마움과 감사함을 모르는 테러행위(?)는 없었으면 합니다.

 

 

 

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
  • 답댓글 작성자행복한하루 | 작성시간 10.05.19 ㅎㅎㅎㅎㅎ
  • 답댓글 작성자3:16 | 작성시간 10.05.19 ㅎㅎㅎㅎㅎ
  • 답댓글 작성자3:16 | 작성시간 10.05.19 boxsys님의 공헌도를 생각해서...참외로 모십니다..^^* ㅎㅎㅎ
  • 답댓글 작성자3:16 | 작성시간 10.05.19 근데 일단 한번 웃구요~~ ㅎㅎ
  • 답댓글 작성자3:16 | 작성시간 10.05.19 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
댓글 전체보기
맨위로

카페 검색

카페 검색어 입력폼