비밀번호를 잊으셨나요?

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

계정이 있나요? 로그인

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 104957
다음
진행 중
Lv.0
등록일: 2015-08-292015-08-29T11:05:28+09:00 2015-08-29T11:05:28+09:00카테고리: AutoCAD & CADian

치수을 선택하여 “치수의 문자 크기”을 알고싶습니다 헬프미요

노가다 인생….LISP으로 스마트하게……
치수을 선택하여 “치수의 문자 크기”을 알고싶습니다
공부하다 보니 이걸 알려면
치수가 가지고 있는 문자의 높이 변수 DIMTXT와
치수가 가지고 있는 전체 치수 축척 변수 DIMSCALE에 데이타을 빼내어
DIMTXT x DIMSCALE =치수문자의 크기을 알수가 있네요……
며칠째 시간이 지나도 해결될 기미가 안보여 올립니다.
시원한 해답을 부탁 드립니다


조건—————————————————–
치수문자 특성 내용:
치수 문자높이(DIMTXT) : 2.5
전체 치수 축척(DIMSCALE) : 1
검증 : 치수문자을 explode을 하였을때 : 2.5
(DIMTXT x DIMSCALE =치수문자의 크기)


첫번째 프로그램—————————————————–
(defun c:ff(/ e dimname a diment dimtxh dimsc)
 (setq e(car(entsel “n치수선택:”)))
 (setq dimname(cdr(assoc 3 (entget e))))
 (setq a (tblobjname “DIMSTYLE” dimname))
 (setq diment(entget a))
 (if(assoc 40 diment)(setq dimsc(cdr(assoc 40 diment)))(setq dimsc 1.0))
 (setq dimtxh(cdr(assoc 140 diment)))
 (princ “n치수스타일=”)(princ dimname)
 (princ “n치수글꼴크기=”)(princ dimtxh)
 (princ “n치수스케일=”)(princ dimsc)
 (princ)
 )


결과
명령: FF
치수선택:
치수스타일=STANDARD
치수글꼴크기=3.0
치수스케일=1.0


프로그램 결과에 대한 해결방안 :
치수글꼴크기=3.0 —->정수아닌 소숫점도 인식하는지??
치수스케일=1.0 ——->치수을 선택하여 치수가 가지고있는 치수문자 크기의 DATA을 가져오는지????


 


두번째 프로그램—————————————————–
아키모아에서 별별별님이 test로 올린건데요
(defun c:test( / en ent ds)
 (and
 (setq en (car (entsel “n치수축척을 설정할 치수 선택:”)))
 (setq ent (entget en ‘(“*”)))
 (= (cdr (assoc 0 ent)) “DIMENSION”)
 (if (setq ds (cdr (assoc 1040 (cdr (assoc “ACAD” (cdr (assoc -3 ent)))))))
 (setvar “dimscale” ds)
 (setvar “dimscale” 1)
 )
 )
 (princ “nDimScale : “) (getvar “dimscale”)
)



상기와 같은 조건의 결과
명령: test
치수축척을 설정할 치수 선택:
DimScale : 2.0
명령: _DIMSCALE
DIMSCALE에 대한 새 값 입력 <2.0000>:     ————>으로 변경됨


 


프로그램 결과에 대한 해결방안 :
치수스케일=2.0 ——->  원하지 않은 결과로 진단이 어려움????

  • 0
  • 13 13 답변
  • 59 조회
공유
  • Facebook

    관련 있는 질문들

    • 오토캐드 명령어창 ui 관련 질문
    • 오토케드2012 숫자로 레이어 변경방법 있나요?
    • 2026버전 캐드 배치공간 인쇄가능영역 안보이게 하는 설정 위치를 모르겠습니다
    • 캐드 기계설계 보조 프로그램을 찾고있습니다.

    13 답변

    • 작성 순
    • 최신 순
    • 공감 순
    1. aalan
    2. 수야12 Lv.21
      2015-08-29T14:27:11+09:00답변 등록 답변 등록 일시 2015-08-29 2:27 pm

      소수점도 인식합니다~!
      답을 알고 계신데 뭐가 더 궁금하신지 모르겠네요 
       (princ “n치수문자 실제크기=”)(princ (* dimtxh dimsc)) <= 이거 한줄 추가요
      혹시 어디다 추가요? 하실까봐  위치 알려드립니다
      제가 만든 리습 밑부분 (princ) 위에다가 추가요 ㅎㅎ;;
      음 게시글을 다시 읽어보니 치수를 폭파 하신다는데 그러면 그때부터 그치수는 치수가 아니라
      텍스트로 구분 됩니다 그럼 위에 리습은 응답을 뭥미?? 라고 하겠죠emoticon

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    3. [Deleted User]
      2015-08-29T14:31:48+09:00답변 등록 답변 등록 일시 2015-08-29 2:31 pm

      뭘 질문하시는지 모르겠네요?

      소숫점 인식? 3.0은 정수가 아닌 실수임
      첫번째 리습은  치수를 선택하는 치수 데이터를 가져오는 방식이네요
      그냥 그걸 이용하심이….
      질문이 정리가 안되서 의도하는 바를 알수 없네요!
      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    4. [Deleted User]
      2015-08-29T15:16:27+09:00답변 등록 답변 등록 일시 2015-08-29 3:16 pm

      시간내서 해주시는건데~ 노고에 제가 낯이 없네요
      본인의 의도와는 차이가 있어서
      혹 다른도면 수정을 할려고하니 딤스케일이 맞지 않아서 다들 황당해 하셨을 겁니다
      기존 치수을 찍어서 같은 조건으로 치수작업을 할려고 했던거였습니다
      수야12님이  짜주신거 대로만 되면 되는데

      실상 결과는 (DIMTXT x DIMSCALE =치수문자의 크기)이 조건에 값이 아니었던 것이죠 
      물러물러 풀러가는 중에
      치수스케일=1.0 ——->그럼 이부분에서는 치수스케일에 따라 값이 나오는지 궁급합니다
      PS. 치수를 폭파는 검증(확인) 차원에서 그냥 한거구요
      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    5. [Deleted User]
      2015-08-29T15:20:48+09:00답변 등록 답변 등록 일시 2015-08-29 3:20 pm

      저도 제가 무슨말을 하는지 모르겠습니다
      말씀이라면 맞다는 애기인데……조건에 답은 아니 나오고…… 먼 하늘만 봅니다

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    6. [Deleted User]
      2015-08-29T15:47:12+09:00답변 등록 답변 등록 일시 2015-08-29 3:47 pm

      참고로 말씀드리자면 스타일은 같은데 문자 높이가 다를 수가 있습니다.(첨부파일)
      고로…
      스타일의 문자 크기*dimscale = 문자크기 (잘못된 계산임)
      차라리 치수에서 문자만 뽑아 문자 높이를 알아내는 것이 정확해보이네요.

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    7. [Deleted User]
      2015-08-29T16:26:09+09:00답변 등록 답변 등록 일시 2015-08-29 4:26 pm

      (defun c:123( / a b h)
       (if (setq a (car (entsel)))
        (progn
         (setq b (tblobjname “BLOCK” (cdr (assoc 2 (entget a)))))
         (while (and (setq b (entnext b)) (/= (cdr (assoc 0 (entget b))) “MTEXT”)))
         (setq h (cdr (assoc 43 (entget b))))
        )
       )
       (princ “n문자 높이:”) (princ h) (princ)
      )

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    8. [Deleted User]
      2015-08-29T16:36:27+09:00답변 등록 답변 등록 일시 2015-08-29 4:36 pm

      보내주신 화일은 치수 문자가 안보이네요
      보안이 걸려서 캐드화일은 안되고 참조 할 PNG화일 보냅니다

      초기 도면작업 시 치수 작업전에 쓰는 리습입니다
      (defun c:vv1()
      ;(setvar “cmdecho” 0)
          (prompt “n  Drawing Scale :  < Defalt = “)
          (setq m1 (getstring ” > : “))
          (setvar “ltscale” 1)
          (setvar “DIMLFAC” 1)
          (setvar “DIMTXT” 3)
      ;    (command “ltscale” 1 “” )
      ;    (command “DIMLFAC” 1 “” )
      ;    (command “DIMTXT” 3 “” )
          (command “dimscale” m1)
          (setq ds (getvar “dimscale”))
           (setq ts (* ds 10))
          (command “ltscale” ts)
      ;    (setvar “cmdecho” 1)
          (princ)
      )
      다른 분들이 구현하지 않은 부분이라 잘 풀리지가 않네요……
      치수 환경을 볼때는
      ;;라인 스케일,디멘전 스케일등 상태바에서 볼수있는 리습입니다
      (DEFUN c:v1()
      (setvar “cmdecho” 0)
      (setvar “osmode” 0)
      (setq sc (getvar “dimscale”))  ;dimscale (setq th (* ds 3.0))
      (setq sl (getvar “ltscale”))       ;linescale
      (setq DL (getvar “DIMLFAC”))   ;dim 척도
      (setq DX (getvar “DIMTXT”))   ;문자높이
      ;(setq sp (getvar “snap”))       ;snap
      ;(setq er (* sc 1))               ;snap 기본값
      ;(command “snap” er “”)
      ;(command “snap” “off”)
      (progn
      (setq str(strcat
      “치수척도: [1/”(rtos DL 2 2)”]   ” “문자높이: [“(rtos DX 2 1)”]    ”
      “치수스케일: [“(rtos sc 2 1)”]   ” “라인스케일: [“(rtos sl 2 1)”]    “
       “좌표:” “”))
      (grtext -1 str)
      (princ)
        )
       )

      ;”치수척도: [1/”(rtos DL 2 2)”]   ” “치수스케일: [“(rtos sc 2 1)”]    ”
      ;”라인스케일: [“(rtos sl 2 1)”]    ” “문자높이: [“(rtos DX 2 1)”]    “

      이 프로그램으로  봅나다

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    9. [Deleted User]
      2015-08-31T09:13:12+09:00답변 등록 답변 등록 일시 2015-08-31 9:13 am

      굳입니다요~ 감사 하구요
      (defun c:ff (/ e dimname a diment dimtxh dimsc xd ts lst)
       (setq e (car (entsel “n   치수축척을 설정할 치수 선택:”)))
       (setq dimname (cdr (assoc 3 (entget e))))
       (setq a (tblobjname “DIMSTYLE” dimname))
       (setq diment (entget a))

       (setq lst (entget e ‘(“ACAD”)))
       (setq xd (cdr (assoc 1040 (cdadr (assoc -3 lst)))))
       (setq ts (* (getvar “dimtxt”) xd)) 
       
       (if (assoc 40 diment) (setq dimsc (cdr (assoc 40 diment))) (setq dimsc 1.0))

       (setq dimtxh (cdr (assoc 140 diment)))
       (princ “n   치수 스타일=”)(princ dimname)
       (princ “n   치수글꼴크기=”)(princ ts)
       (princ “n   치수 스케일=”)(princ xd)
       (setq div (/ ts xd))
       (princ “n   치수 문자크기=”)(princ div)
       (princ)
       )
       (princ “n   치수 문자크기=”)(princ dimtxh) 가 출력값이 정상적이지 않아서
      역산출으로 하니  정상적으로 됩니다

      시간이 되시면 치수 스케일이 1 일때도 되게 끔 해주시면 감사하겠습니다

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    10. [Deleted User]
      2015-08-31T09:56:14+09:00답변 등록 답변 등록 일시 2015-08-31 9:56 am

      짜주신 건 찾고자 하는 플로그랜 내용 중에 하나입니다 
      감사합니다… 치수에서 dimtxt 와 dimscale값을  찾을려고 하는거구요 
      “글꼴에 크기”는 최종 검증 하기위한  방법이며
      결국 치수을 찍어서
      도면환경이 같은 치수을 셋팅하기 위해서 입니다

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    11. [Deleted User]
      2015-08-31T10:02:43+09:00답변 등록 답변 등록 일시 2015-08-31 10:02 am

      주신 프로그램을 조금 정리을 했습니다
      (defun c:ff (/ e dimname a diment dimtxh dimsc xd ts lst)
       (setq e (car (entsel “n   치수축척을 설정할 치수 선택:”)))
       (setq dimname (cdr (assoc 3 (entget e))))
       (setq a (tblobjname “DIMSTYLE” dimname))
       (setq diment (entget a))

       (setq lst (entget e ‘(“ACAD”)))
       (setq xd (cdr (assoc 1040 (cdadr (assoc -3 lst)))))
       (setq ts (* (getvar “dimtxt”) xd)) 
       
       (if (assoc 40 diment) (setq dimsc (cdr (assoc 40 diment))) (setq dimsc 1.0))

       (setq dimtxh (cdr (assoc 140 diment)))
       (princ “n   치수 스타일=”)(princ dimname)
       (princ “   치수글꼴크기=”)(princ ts)
       (princ “   치수 스케일=”)(princ xd)
       (setq div (/ ts xd))
       (princ “   치수 문자크기=”)(princ div)
       (setvar “dimscale” xd)
       (setvar “dimtxt” div)
       (princ “n   Setting DimScale & Dimtxt”)
       (princ)
       )
      치수축척을 설정할 치수 선택:; 오류: 잘못된 인수 유형: numberp: nil

      치수 스케일이 1 일때도 되게 끔 해주시면 감사하겠습니다
      “치수 문자크기”도 다른 조건에 도면에서는 값이 틀리게 나오는데 이유가 뭘까요???

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    12. [Deleted User]
      2015-08-31T11:09:22+09:00답변 등록 답변 등록 일시 2015-08-31 11:09 am

      “치수 문자크기”도 다른 조건에 도면에서는 값이 틀리게 나오는데 이유?
      스타일이 같아도 수동으로 수정하게 되면 xdata에서 값을 가져와야 합니다.
      이미 제가 답변 드린건데… 할말이 없군요.

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    13. [Deleted User]
      2015-08-31T11:47:23+09:00답변 등록 답변 등록 일시 2015-08-31 11:47 am

      원초적으로 치수을 폭파하지 않고 치수가 가지고 있는 값을
      제가 찾고자 하는값이  xdata에서 값인 것 같군요
      이걸 풀고자 했는데 해답이 없는 건거요…. 부탁 드립니다

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    14. [Deleted User]
      2015-09-01T17:53:54+09:00답변 등록 답변 등록 일시 2015-09-01 5:53 pm

      감사 합니다
      짜집기 하기엔 어려울것 같은데
      천번 중에 한번은 되거라고 믿습니다….. 

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    Lv.0
    등록일: 2015-08-282015-08-28T13:14:45+09:00 2015-08-28T13:14:45+09:00카테고리: AutoCAD & CADian

    치수을 선택하여 “치수의 문자 크기”을 알고싶습니다

    노가다 인생….LISP으로 스마트하게…… 
    치수을 선택하여 “치수의 문자 크기”을 알고싶습니다
    공부하다 보니 이걸 알려면
    치수가 가지고 있는 문자의 높이 변수 DIMTXT와
    치수가 가지고 있는 전체 치수 축척 변수 DIMSCALE에 데이타을 빼내어
     DIMTXT x DIMSCALE =문자의 크기을 알수가 있네요……
    며칠째 시간이 지나도 해결될 기미가 안보여 올립니다.
    시원한 해답을 부탁 드립니다

    • 0
    • 6 6 답변
    • 0 조회
    공유
    • Facebook

      관련 있는 질문들

      • 오토캐드 명령어창 ui 관련 질문
      • 오토케드2012 숫자로 레이어 변경방법 있나요?
      • 2026버전 캐드 배치공간 인쇄가능영역 안보이게 하는 설정 위치를 모르겠습니다
      • 캐드 기계설계 보조 프로그램을 찾고있습니다.

      6 답변

      • 작성 순
      • 최신 순
      • 공감 순
      1. 수야12 Lv.21
        2015-08-28T15:06:49+09:00답변 등록 답변 등록 일시 2015-08-28 3:06 pm
        emoticon 수고하세요  
        (defun c:ff(/ e dimname a diment dimtxh dimsc)
         (setq e(car(entsel “n치수선택:”)))
         (setq dimname(cdr(assoc 3 (entget e))))
         (setq a (tblobjname “DIMSTYLE” dimname))
         (setq diment(entget a))
         (if(assoc 40 diment)(setq dimsc(cdr(assoc 40 diment)))(setq dimsc 1.0))
         (setq dimtxh(cdr(assoc 140 diment)))
         (princ “n치수스타일=”)(princ dimname)
         (princ “n치수글꼴크기=”)(princ dimtxh)
         (princ “n치수스케일=”)(princ dimsc)
         (princ)
         )
        • 0
        • 공유
          공유
          • 공유 Facebook
          • 공유 Twitter
      2. [Deleted User]
        2015-08-28T15:33:29+09:00답변 등록 답변 등록 일시 2015-08-28 3:33 pm

        오~오~ 역시 이것 때문에 국내에서 답을 못 찾아 미쿡까지 같다왔는데~ 
        답을 주셨네요~ 감사합니다~

        명령: FF

        치수선택:
        치수스타일=STD
        치수글꼴크기=3.5
        치수스케일=nil

        ” nil ” 이라고 나오는데 
        제가  멀 잘 못하고 있는거 같습니다  도와주세요~

        • 0
        • 공유
          공유
          • 공유 Facebook
          • 공유 Twitter
      3. 수야12 Lv.21
        2015-08-28T16:52:42+09:00답변 등록 답변 등록 일시 2015-08-28 4:52 pm

        수정했습니다 스케일이 기본 스케일(1.0)이면 정보가 잡히지 않네요 ㅎㅎ;;;

        • 0
        • 공유
          공유
          • 공유 Facebook
          • 공유 Twitter
      4. [Deleted User]
        2015-08-28T17:01:14+09:00답변 등록 답변 등록 일시 2015-08-28 5:01 pm

        아~그렇군요
        컴이 멀(nil) 멀(nil)  어떻하라고~ 해서 많이 놀랬습니다 
        수야12님 감사합니다~
        즐거운 하루 되시고요….

        • 0
        • 공유
          공유
          • 공유 Facebook
          • 공유 Twitter
      5. [Deleted User]
        2015-08-28T17:20:00+09:00답변 등록 답변 등록 일시 2015-08-28 5:20 pm

        치수문자을 explode을 하였을때 문자 크기 “9”가 나와야 되는데
        실행해보니
        치수글꼴크기= 3
        치수스케일= 1.0
        치수문자의 크기 “3”가 나오네요~
        치수가지고있는 정보 인 치수스케일에 문제가 있어 보입니다. 치수스케일 “3”이 나와야 되는데
        시간 되시면 한번 더 봐주셨으면 합니다 ~
        식사 맛있게 드시구요~ 

        • 0
        • 공유
          공유
          • 공유 Facebook
          • 공유 Twitter
      6. [Deleted User]
        2015-08-28T18:28:31+09:00답변 등록 답변 등록 일시 2015-08-28 6:28 pm

        아키모아에 별별별님이 올린건데요
        치수문자 스케일을 볼 수 있는것 같네요.  프로그램 조건이 틀리고요….
        (defun c:test( / en ent ds)
         (and
         (setq en (car (entsel “n치수축척을 설정할 치수 선택:”)))
         (setq ent (entget en ‘(“*”)))
         (= (cdr (assoc 0 ent)) “DIMENSION”)
         (if (setq ds (cdr (assoc 1040 (cdr (assoc “ACAD” (cdr (assoc -3 ent)))))))
         (setvar “dimscale” ds)
         (setvar “dimscale” 1)
         )
         )
         (princ “nDimScale : “) (getvar “dimscale”)
        )

        • 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