비밀번호를 잊으셨나요?

비밀번호를 잊으셨나요? 비밀번호를 재설정하려면 이메일 주소를 입력해주세요.

계정이 있나요? 로그인

You must login to ask a question.

비밀번호를 잊으셨나요?

아직 계정이 없으신가요? 회원가입 하기

해당 질문을 신고하는 이유를 간단히 입력해주세요.

해당 답변을 신고하는 이유를 간단히 입력해주세요.

해당 유저를 신고하는 이유를 간단히 입력해주세요.

로그인회원가입

고캐드 – 캐드(CAD) 정보의 중심

고캐드 – 캐드(CAD) 정보의 중심 Logo 고캐드 – 캐드(CAD) 정보의 중심 Logo

고캐드 – 캐드(CAD) 정보의 중심 Navigation

  • Q&A
    • AutoCAD & CADian
    • Inventor & Solidworks
    • Revit & ArchiCAD
    • 자유질문
    • 기타
  • 커뮤니티
    • 오늘의이슈
    • 자유게시판
    • 익명게시판
    • 건의게시판
  • 자료실
    • 자료요청
    • 일반파일
    • 도면샘플
    • 유틸리티
    • 기타
  • 작품 갤러리
    • 그래픽
    • 캐드도면
    • 3D모델
    • 기타
  • 뉴스&이벤트
    • 공지사항
    • 뉴스
    • 전시/행사
    • 이벤트
    • 기타
검색
질문하기

Mobile menu

닫기
질문하기
  • 홈
  • 카테고리
    • AutoCAD & CADian
    • Inventor & Solidworks
    • Revit & ArchiCAD
    • 자유질문
    • 기타
  • 투표
  • 커뮤니티 그룹
  • Q&A
    • AutoCAD & CADian
    • Inventor & Solidworks
    • Revit & ArchiCAD
    • 자유질문
    • 기타
  • 커뮤니티
    • 오늘의이슈
    • 자유게시판
    • 익명게시판
    • 건의게시판
  • 자료실
    • 자료요청
    • 일반파일
    • 도면샘플
    • 유틸리티
    • 기타
  • 작품 갤러리
    • 그래픽
    • 캐드도면
    • 3D모델
    • 기타
  • 뉴스&이벤트
    • 공지사항
    • 뉴스
    • 전시/행사
    • 이벤트
    • 기타
홈/ 질문/Q 108735
다음
진행 중
Lv.0
등록일: 2017-08-062017-08-06T15:19:24+09:00 2017-08-06T15:19:24+09:00카테고리: AutoCAD & CADian

리습 폰트조절 및 색상변경


아래 리습은 공차리습인데요.  글자 크기랑 글자 색상을 변경하려고 하면 어디를 변경해야 하나요?
파일첨부하겠습니다.
;;
;; 치수, 문자에 대한 공차 입력 LISP
;;


(defun C:DT( / *error* PTE:highlight acDoc ss #DIMTOLERANCE n)
(vl-load-com)
(defun PTE:highlight (ss x) (mapcar ‘(lambda (ent)(redraw ent x)) (vl-remove-if ‘listp (mapcar ‘cadr (ssnamex ss)))))
(defun *error* (x) (if ss (PTE:highlight ss 4)) (princ))
(setq acDoc (vla-get-ActiveDocument (vlax-get-acad-object)))


;광역변수 지정
(if (= #PlusTol NIL) (setq #PlusTol “”))
(if (= #MinusTol NIL) (setq #MinusTol “”))


;초기값 확인 메세지
(prompt (strcat “DimTolerance”))
(if (= #PlusTol “”)(prompt (strcat “n윗 공차: 미지정”))(prompt (strcat “n윗 공차: ” #PlusTol)))
(if (= #MinusTol “”)(prompt (strcat ”   아래공차: 미지정”))(prompt (strcat ”   아래공차: ” #MinusTol)))


;;;; MAIN PROGRAM
(defun #DIMTOLERANCE ( ss / Buffer DimText n dzn en ob ed dt nu nx)
(PTE:highlight ss 3)


;공차값 입력
(if (/= (setq Buffer (getstring T (strcat “n 윗공차<” #PlusTol “>: “))) “”)
  (if (= Buffer “0”) (setq #PlusTol ” 0″) (setq #PlusTol Buffer))
)
(if (/= (setq Buffer (getstring T (strcat “n 아래공차<” #MinusTol “>: “))) “”)
  (if (= Buffer “0”) (setq #MinusTol ” 0″) (setq #MinusTol Buffer))
)


;상/하한 공차 자동적용
(vla-startundomark acDoc)
(if (or (> (atof #PlusTol) (atof #MinusTol))
 (and (/= ” 0″ #PlusTol) (= 0 (atof #PlusTol)))
 (and (/= ” 0″ #MinusTol) (= 0 (atof #MinusTol)))
    )
  (if (= (rtos (- 0 (atof #PlusTol))) (rtos (atof #MinusTol)))
    (setq DimText (strcat ” {\H0.5x;\C1;%%p” (rtos (abs (atof #PlusTol))) “}”))
    (setq DimText (strcat ” {\H0.5x;\C1;\S” #PlusTol “^” #MinusTol “;}”))
  )
  (if (= (rtos (- 0 (atof #PlusTol))) (rtos (atof #MinusTol)))
    (setq DimText (strcat ” {\H0.5x;\C1;%%p” (rtos (abs (atof #PlusTol))) “}”))
    (setq DimText (strcat ” {\H0.5x;\C1;\S” #MinusTol “^” #PlusTol “;}”))
  )
)


;문자 변경
(setq n 0 dzn (getvar “dimzin”))
(setvar “cmdecho” 0)
(setvar “dimzin” 8)
(repeat (sslength ss)
  (setq en (ssname ss n) ob (vlax-ename->vla-object en) n (1+ n))
  (if (= (cdr (assoc 0 (entget en))) “DIMENSION”)


;DIMENSION일때 공차적용
    (progn
      (setq ed (vla-get-TextOverride ob) dt (vl-string-search “<>” ed))
      (if (/= (vla-get-ToleranceDisplay ob) 0)
 (progn
   (vla-put-ToleranceUpperLimit ob 0)
   (vla-put-ToleranceLowerLimit ob 0)
   (vla-put-ToleranceDisplay ob 0)
   (vla-put-ToleranceHeightScale ob 1.0)
   (vla-put-ToleranceJustification ob 0)
 )
      )
      (cond
 ((= ed “”)(vla-put-TextOverride ob (strcat “<>” DimText)))
 ((= 0 dt)(vla-put-TextOverride ob (strcat “<>” DimText)))
 ((= dt nil)(vla-put-TextOverride ob (strcat ed DimText)))
 ((> (+ 3 dt) (strlen ed))(vla-put-TextOverride ob (strcat (substr ed 1 dt) “<>” DimText)))
 ((= dt)(vla-put-TextOverride ob (strcat (substr ed 1 dt) “<>” DimText)))
      )
    )


;MTEXT일때 공차적용
    (progn
      (setq ed (vla-get-TextString ob) nu 0)


;적용공차 삭제
      (while (or (setq nx (vl-string-search “{\H” ed)) (setq nx (vl-string-search “{\h” ed)))
 (setq ed (strcat (substr ed 1 nx) (substr ed (1+ (vl-string-search “}” ed nx)))))
      )


;앞의 치수 하나만 공차적용할 땐 while문을 if문으로 변경
      (while (or (setq buffer (vl-string-search “%%c” ed nu)) (setq buffer (vl-string-search “%%C” ed nu)))
 (progn
   (setq nu (+ buffer 3) buffer (substr ed (1+ nu) 1))
   (while (not (and (/= buffer “0”) (/= buffer “.”) (= (atof buffer) 0)))
     (setq nu (1+ nu) buffer (substr ed (1+ nu) 1))
   )
   (setq ed (strcat (substr ed 1 nu) DimText (substr ed (1+ nu))))
 )
      )
      (if (= (vla-get-TextString ob) ed)
 (vla-put-TextString ob (strcat ed DimText)) (vla-put-TextString ob ed)
      )
      (if (and (assoc 102 (entget en)) (assoc 330 (entget en))) (entupd (cdr (assoc 330 (entget en)))))
    )
  )
)n
)


;객체선택 시 프로그램 실행
(if (setq ss (ssget (list (cons 0 “dimension,mtext”)))) (setq n (#DIMTOLERANCE ss)))


(prompt (strcat (rtos n) “개의 치수가 수정되었습니다.”))
(setvar “cmdecho” 1)
(vla-endundomark acDoc)
(princ)
)

  • 0
  • 1 1 답변
  • 149 조회
공유
  • Facebook

    관련 있는 질문들

    • 리습선생님들... 부탁하드려도 될까요? ㅠㅜ
    • 셰션 플롯 로그를 기록하기 위해 열수 없습니다
    • 새파일 및 다른이름으로 저장하면 스샷처럼 뜹니다
    • CAD 레이어창 모델창 분할 크기 오류

    1 답변

    • 작성 순
    • 최신 순
    • 공감 순
    1. aalan
    2. [Deleted User]
      2017-08-06T21:29:03+09:00답변 등록 답변 등록 일시 2017-08-06 9:29 pm

      감사합니다. 4군데를 다 수정 하는거였군요. 감사합니다.

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter

    Sidebar

    질문하기
    공지사항

    • AI CAD의 미래! 캐디안 2025 1+1 프로모션 안내 2025-05-14

    Adv 234x60

    aalan

    Adv 234x60

    aalan

    Adv 120x600

    aalan

    Explore

    • 홈
    • 카테고리
      • AutoCAD & CADian
      • Inventor & Solidworks
      • Revit & ArchiCAD
      • 자유질문
      • 기타
    • 투표
    • 커뮤니티 그룹
    aalan

    Footer

    Support

    • 회사 및 서비스 소개
    • 자주 묻는 질문
    • 문의하기

    Guide

    • 제휴/협업 안내
    • 광고 서비스 안내

    Policy

    • 서비스 이용약관
    • 개인정보 처리방침
    • 광고성 정보 수신 동의

    Contents

    • 고밍스토리
    • 리습 시리즈

    정소프트 | 사업자등록번호 : 677-40-00198 | 대표 : 정은숙 | 이메일 : gocad.manager@gmail.com
    주소 : 서울특별시 강서구 양천로 400-12, 6층 614,615,617호(등촌동, 더리브골드타워)
    Copyright. 2012-2024 GOCAD All rights reserved