비밀번호를 잊으셨나요?

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

계정이 있나요? 로그인

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 102882
다음
진행 중
Lv.0
등록일: 2014-12-062014-12-06T21:35:40+09:00 2014-12-06T21:35:40+09:00카테고리: AutoCAD & CADian

리습 공부중에 답변부탁드립니다!

각도치수기입 리습인데요 명령어 실행후 객체 두개를 클릭한 후 바닥에 내려놓으면 각도치수기입후 레이어가 변경되는 리습입니다.
근데 현재 리습으로는 각도기입 후에 레이어가 바뀌지않아요 ㅜㅜ….
“dimangular” 뒤에 pause pause pause를 넣어서 사용하면 레이어가 바뀝니다.
다만 그렇게하면 딱 세번클릭만에 각도치수기입을 끝내야합니다 중간데 라인을 클릭하려다가 실수로 아무것도없는곳을 클릭하면 그대로 명령어가 종료?? 되어버립니다. 그래서 처음부터 다시명령어를 진행해야 합니다….

아무래도 제생각에는 “dimangular” 실행이후 사용자가 조작해버려서 그 뒷줄부터는 리습이 적용되지 않는것 같습니다 .. 어떻게해야할지 잘모르겟네요 뭐가문제인지 .. ㅜㅜ

아 그리고  (command “dimoverride” “l” “”) 이 문구가 무슨 기능을 하는지 알수있을까요 ??
파이 치수기입이나 R 치수기입시에 원클릭후, 치수 내려놓기전에 치수가 원안에서만 빙글빙글 돌기때문에 치수를 내려놓고 그다음 치수를 클릭해서 떙겨서 원 바깥에 치수를 내려놓곤 하는데요 .. 그런거 해결할떄 쓸수잇는 명령어인지 ….?? 아니면 그것 해결하는 다른방법이 있는지요 ??

질문이많은데 힘드시겠지만 답변 부탁드립니다 . ㅜㅜ 가르쳐주는 사람없이 배우려니 너무 터득하기 힘드네요 .. 감사합니다.

(defun c:DA () 각도
;->*error* start ; 작업중 취소 또는 에러 발생시 레이어 복원함
 (defun *error* (msg)(princ “error: “)(princ msg)  (setvar “clayer” cla) (princ))
;-<*error* end
 (setq cla (getvar “clayer”)) ; 현재 레이어 저장
  (command “undo” “be”)
 (SETVAR “CMDECHO” 0)
 (GRAPHSCR)
 (COMMAND “DIMANGULAR” )
 (command “change” “l” “” “p” “la” “DIM” “”)
 (command “dimoverride” “l” “”)
 (GRAPHSCR)
  (command “undo” “e”)
 (setvar “clayer” cla) ; 저장했던 레이어로 복원
) ;Defun end

  • 0
  • 22 22 답변
  • 67 조회
공유
  • Facebook

    관련 있는 질문들

    • 캐드2022 레이어 그룹 분류시 레이어 드래그 오류
    • 전기도면 나사모양의 폴리선을 그릴수 있나요?
    • 캐드, zw캐드 와이프아웃 박스가 너무 많이 생겨요. 폴리선 박스가 중첩으로 많이 생겨요
    • 오토캐드 2016 맞춤법 검사기 끄는 방법 아시나요

    22 답변

    • 작성 순
    • 최신 순
    • 공감 순
    1. aalan
    2. [Deleted User]
      2014-12-08T19:50:56+09:00답변 등록 답변 등록 일시 2014-12-08 7:50 pm

       (while (progn (setvar ‘ERRNO 0) (princ “n호 또는 원 선택:”) (command pause) (= (getvar ‘ERRNO) 7)))
      (if (= (getvar ‘ERRNO) 0)
      (progn 이게 한문장 지워졌기 떄문에 아래쪽에  “)”가 한개 지워졌어야 하는데 제가 그걸 몰랐네요
      해결되었습니다 .정말 감사합니다 덕분에 많이 배웠습니다!. 감사합니다 ^^ 정말 대단하시네요 저도 얼른 많이 배우겠습니다 오늘하루 마무리 잘 하세요 ^^

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    3. [Deleted User]
      2014-12-08T19:37:38+09:00답변 등록 답변 등록 일시 2014-12-08 7:37 pm

      64bit autocad 2014에서 잘되는데요 ^^;;

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    4. [Deleted User]
      2014-12-08T19:07:54+09:00답변 등록 답변 등록 일시 2014-12-08 7:07 pm

      다른 명령어도 똑같이 적용하면 될줄알았는데 그게 아닌것같습니다 .. ㅜㅜㅜㅜㅜㅜ 죄송합니다 ㅜㅜ

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    5. [Deleted User]
      2014-12-08T19:06:35+09:00답변 등록 답변 등록 일시 2014-12-08 7:06 pm

      예 ㅠㅠㅠ 제가 이것저것 넣어가면서 해보고있는데 공부하고있는거는 맞는데 초보라서 제가 이해가 조금 늦어요 죄송합니다 ..
      저도 방금올려주신것처럼 똑같이 적용을 해보았는데요 .. R치수가 기입은 되는데
      애초에 맨처음 저의 질문이었던  “실수로 공백을 클릭할시” 명령이 그대로 종료되어버리고 치수가 DIM레이어로 변경되지 않아서요 … 실수로 공백을 클릭하지않은 경우에는 정상작동합니다. (이것은 원래부터 그랬엇구요) 그래서 각도치수는 선을 요구하고 각도치수는 원이나 호를 요구하기때문에 그런점떄문에 그런거 아닌가해서요 …ㅜㅜ 죄송합니다 .. 언급하신 함수들이 제가 처음 접하는 함수라 어렵네요 …

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    6. [Deleted User]
      2014-12-08T18:54:18+09:00답변 등록 답변 등록 일시 2014-12-08 6:54 pm

      리습 공부하시는게 맞나요? 제가 만드는 거 같은데요??
      (defun c:dr()
       (command “DIMRADIUS”)
       (while (progn (setvar ‘ERRNO 0) (princ “n호 또는 원 선택:”) (command pause) (= (getvar ‘ERRNO) 7)))
       (if (= (getvar ‘ERRNO) 0)
        (progn
         (princ “n치수선의 위치 지정”)
         (command pause)
         (command “change” “l” “” “p” “la” “DIM” “”)
        )
        (command nil)
       )
       (princ)
      )

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    7. [Deleted User]
      2014-12-08T18:17:56+09:00답변 등록 답변 등록 일시 2014-12-08 6:17 pm

      제가 이것저것 응용해보고있는데요 
      (while (progn (setvar ‘ERRNO 0) (princ “n두 번째 선 선택:”) (command pause) (= (getvar ‘ERRNO) 7)))
      (if (= (getvar ‘ERRNO) 0)
      (progn
      구문은 원치수기입할떄는 객체클릭이 1번이기떄문에 1번만 넣으면 되는거죠 ???
      근데 R치수기입 (DIMRADIUS)에 적용하려했는데 여기에는 적용이 되지않네요 ㅜㅜ 레이어가 바뀌지않아요 ㅜㅜ…. 다른치수기입과 R치수기입에선 다른점이있는건가요 ?ㅜㅜ

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    8. [Deleted User]
      2014-12-08T17:53:34+09:00답변 등록 답변 등록 일시 2014-12-08 5:53 pm

      올려주신 lisp참고서가 웹페이지탐색이 취소되엇다고 나오네요 ㅜㅜ 열어보고싶은데

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    9. [Deleted User]
      2014-12-08T17:52:34+09:00답변 등록 답변 등록 일시 2014-12-08 5:52 pm

      아 (command “DIMANGULAR”)  와 (command “change” “l” “” “p” “la” “DIM” “”) 위아래에 넣으니 해결되었네요 갑사합니다 ^^ 죄송합니다^^

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    10. [Deleted User]
      2014-12-08T17:50:13+09:00답변 등록 답변 등록 일시 2014-12-08 5:50 pm

      아! 이렇게 하니까 해결되었네요! 정말감사합니다 ㅜㅜ
      while 구문 사용시에 command “undo” be 와  command “undo” e  구문은 어디에 들어가야 할까요 ?
      undo시 두번 undo해야 치수가 삭제되네요 ㅜㅜ 죄송합니다 질문이너무 많네요 정말죄송합니다 ㅜㅜ

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    11. [Deleted User]
      2014-12-08T17:46:42+09:00답변 등록 답변 등록 일시 2014-12-08 5:46 pm

       ((null (setq s2 (LM:SelectIf “n두 번째 선 선택:” ‘(lambda (x) (wcmatch (cdr (assoc 0 (entget (car x)))) “LINE”)) entsel nil))))

      이부분에서  entsel 을 nentsel로 수정했는데 블럭속라인이 선택되지않네요 ㅜㅜㅜ

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    12. [Deleted User]
      2014-12-08T17:46:07+09:00답변 등록 답변 등록 일시 2014-12-08 5:46 pm

      다른 방법은..
      (defun c:da()
       (command “DIMANGULAR”) 
       (while (progn (setvar ‘ERRNO 0) (princ “n첫 번째 선 선택:”) (command pause) (= (getvar ‘ERRNO) 7)))
       (if (= (getvar ‘ERRNO) 0)
        (progn
         (while (progn (setvar ‘ERRNO 0) (princ “n두 번째 선 선택:”) (command pause) (= (getvar ‘ERRNO) 7)))
         (if (= (getvar ‘ERRNO) 0)
          (progn
           (princ “n치수선 위치 지정”)
           (command pause)
           (command “change” “l” “” “p” “la” “DIM” “”)
          )
          (command nil)
         )
        )
        (command nil)
       )
       (princ)
      )

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    13. [Deleted User]
      2014-12-08T16:46:18+09:00답변 등록 답변 등록 일시 2014-12-08 4:46 pm

      entsel대신 nentsel 쓰세요. 헌데 그렇게 모든 걸 물어보고 답변드릴 수 없잖아요.
      그래서 제가 우선 기초부터 … 도움말에 함수 쭉 훑어보고 정리하세요.

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    14. [Deleted User]
      2014-12-08T16:33:20+09:00답변 등록 답변 등록 일시 2014-12-08 4:33 pm

      감사합니다 ^^ 라인만 선택되도록 되었네요
      근데 블록 속에 들어있는 라인은 셀렉이 되지 않네요 ㅜㅜ…. 보통 각도치수는 블록안에 들어있는 라인이라도 클릭이 되잖아요  그렇게 하려면 복잡한가요|?

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    15. [Deleted User]
      2014-12-08T16:17:20+09:00답변 등록 답변 등록 일시 2014-12-08 4:17 pm

      고쳐 쓰신다고 하시니 응용해서 사용하세요~
      (vl-load-com)
      (defun c:da ( / LM:SelectIf s1 s2 tmp ent)
       ;By lee-mac
       (defun LM:SelectIf ( msg pred func keyw / sel )
        (setq pred (eval pred)) 
        (while
         (progn (setvar ‘ERRNO 0) (if keyw (apply ‘initget keyw)) (setq sel (func msg))
          (cond
           ( (= 7 (getvar ‘ERRNO))
            (princ “n선택된 것이 없습니다, 다시 시도해주세요.”)
           )
           ((eq ‘STR (type sel))
            nil
           )
           ((vl-consp sel)
            (if (and pred (not (pred sel)))
             (princ “n유효하지 않은 객체 선택.”)
            )
           )
          )
         )
        )
         sel
       )
       (cond
        ((null (setq s1 (LM:SelectIf “n첫 번째 선 선택:” ‘(lambda (x) (wcmatch (cdr (assoc 0 (entget (car x)))) “LINE”)) entsel nil))))
        ((null (setq s2 (LM:SelectIf “n두 번째 선 선택:” ‘(lambda (x) (wcmatch (cdr (assoc 0 (entget (car x)))) “LINE”)) entsel nil))))
        (T
         (setvar ‘cmdecho 0)
         (setq tmp (entlast))
         (command “DIMANGULAR” s1 s2 pause)
         (if (null (equal tmp (setq ent (entlast))))
           (command “change” ent “” “p” “la” “DIM” “”)
         )
        )
       )
       (princ)
      )

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    16. [Deleted User]
      2014-12-08T15:03:37+09:00답변 등록 답변 등록 일시 2014-12-08 3:03 pm

      (command “DIMANGULAR” pause pause pause) 하면 계속 실행되긴하는데
      pause라는게 dimangular 명령에 필요한 사용자입력을 기다리는게 아니라 어떠한 명령이라도 허용되는 것이라서 실수로 미스클릭을 한다던지 하면 리습이 재대로 실행이안되는데요 .. dimangular 명령에 필요한 사용자입력만 허용할수있는 방법이 있을런지요 ..

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    17. [Deleted User]
      2014-12-08T14:59:33+09:00답변 등록 답변 등록 일시 2014-12-08 2:59 pm

      command만 가지고는 제가 원하는 결과를 얻을수 없다 하셨잖아요 ?
      그럼 command 이외에 어떤함수가 들어가야 pause없이 리습이 순서대로 이어지도록 할수 있는지요 ?
      그것에대한 답을 알고싶습니다. 치수를 전부 dim으로 바꾸는것 뿐아니라 다른경우에도 응용하고 싶어서요.

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    18. [Deleted User]
      2014-12-08T14:50:10+09:00답변 등록 답변 등록 일시 2014-12-08 2:50 pm

      하고 싶으신 게 생성된 치수를 dim레이어로 설정하는 거라면..
      첨부된 리습을 로드하고 목차에 두시면 치수 그릴 때마다 자동으로 dim레이어로 됩니다.

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    19. [Deleted User]
      2014-12-08T14:00:26+09:00답변 등록 답변 등록 일시 2014-12-08 2:00 pm

      어디에서 답을 찾아야할지 감을못잡겟네요

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    20. [Deleted User]
      2014-12-08T13:58:49+09:00답변 등록 답변 등록 일시 2014-12-08 1:58 pm

      저도 하다보니 그정도까지는 파악을 했는데 그래서 결국 어떤방법으로 해결할지를 찾지못해서 글을 올린거거든요. command 로 해결하지못한다면 어떤함수를 사용해야 제가원하는 결과를 얻을수 있는지 아무리 검색해도 잘 못찾겟네요 도움좀 부탁드립니다

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    21. [Deleted User]
      2014-12-08T13:15:28+09:00답변 등록 답변 등록 일시 2014-12-08 1:15 pm

      기초가 부족하시니 command를 사용하게 되죠?
      꼭 필요한 경우 빼고는 command 사용을 권장하지 않습니다.
      아랫걸 실행해보세요…
      보기에는 1 표기 -> line 그리기 ->  2 표기일 것 같지만!!
      1 표기 ->  2 표기 -> line 그리기 끝!!
      (defun c:test()
       (princ “n1”)
       (command “line”)
       (princ “n2”)
       (princ)
      )

      위에서 마찬가지로 pause를 사용하지 않으면  (COMMAND “DIMANGULAR” ) 를 맨마지막으로 끝납니다.
      고로~ command 함수만 가지고는 원하는 결과를 얻을 수 없습니다.
      기초(함수)부터 공부하세요~

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    22. [Deleted User]
      2014-12-06T21:47:18+09:00답변 등록 답변 등록 일시 2014-12-06 9:47 pm

      답변부탁드립니다 .ㅜㅜ 제가 오타로 잘못썻네요 죄송합니다

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    23. [Deleted User]
      2014-12-06T21:42:24+09:00답변 등록 답변 등록 일시 2014-12-06 9:42 pm

      답변을 부탁해야되지 않을까요?

      • 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