비밀번호를 잊으셨나요?

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

계정이 있나요? 로그인

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 106520
다음
Lv.0
등록일: 2016-04-282016-04-28T10:54:19+09:00 2016-04-28T10:54:19+09:00카테고리: AutoCAD & CADian

치수기입 리습입니다. 오류가 있는데 어디가 문제인지…

(defun c:DD()
(defun rtd (a) (/ (* a 180.0) pi)) ;radian to degree
;->*error* start
 (defun *error* (msg)
   ;;;추가
   (if DimOriginPoint
     (progn
       (setvar “osmode” 0)
       (command “ucs” “n” (list (* (car DimOriginPoint) -1.0) (* (cadr DimOriginPoint) -1.0) 0.0))
     )
   );;;if
   ;;;추가
 (princ “error: “)(princ msg)
 (setvar “osmode” os)(setvar “dimtad” dt)
 (setvar “orthomode” ot) (setvar “cecolor” cl)
 (princ))
;-<*error* end
   (setq os (getvar “osmode”) ot (getvar “orthomode”) )
   (setq dt (getvar “dimtad”)) (setq ditx (getvar “dimtxt”))
   (setq cl (getvar “cecolor”))



   (setvar “clayer” “0”) (setvar “cecolor” “Bylayer”)
   (setvar “DIMtad” 1) (setvar “DIMTVP” 0);dimtad를 0으로 하면 소수점 두 자리는 안나온다
   (setvar “osmode” 1063) (setvar “orthomode” 1)
   (setvar “cmdecho” 0)


  ;;;추가
  (setq DimOriginPoint nil)
  (setq DimOriginPoint (getpoint “n 원점을 선택하세요 < 원점 선택을 다시 안 할 때는 Enter > : “))
  (if DimOriginPoint
    (progn
      (setq DimOriginBackupPoint (trans DimOriginPoint 1 0))
      (command “ucs” “n” DimOriginPoint)
    )
    (if DimOriginBackupPoint
      (progn
 (setq DimOriginPoint (trans DimOriginBackupPoint 0 1))
 (command “ucs” “n” DimOriginPoint)
      )
    );;;if
  );;;if
  ;;;추가



   (setq daso (getvar “dimaso”)) (setq dsca (getvar “dimscale”))
   (if (= btdis1 nil)(setq btdis1 0.8))
   (setq btdis (* btdis1 dsca))
   (setq ditx (* ditx dsca)) (setq ditx (+ ditx btdis))
   (setq ppa2 nil)
   (setq rp 0)
   (setq p1 (getpoint “n 방향을 지정하세요 : “))(terpri)
   (setq p2 (getpoint p1 “n Leader endpoint<XYdatum>: “))(terpri)
   (setq ag (rtd (angle p1 p2)) ag (rtos ag 2 0))
   (cond
     ( (or (= ag “0”) (= ag “180”))
         (setq rp (+ 1 rp)) (@dim_Odinatey) )
     ( (or (= ag “90”) (= ag “270”))
         (setq rp (+ 1 rp)) (@dim_Odinatex) )
   )


   ;;;추가
   (if DimOriginPoint
     (progn
       (setvar “osmode” 0)
       (command “ucs” “n” (list (* (car DimOriginPoint) -1.0) (* (cadr DimOriginPoint) -1.0) 0.0))
     )
   );;;if
   ;;;추가
   (setvar “dimtad” dt) (setvar “cecolor” cl)
   (setvar “osmode” os) (setvar “orthomode” ot)
(command “dimdli” “7”)
(command “ucs” “w”)
(princ))


;sub routine-1
(defun @dim_Odinatey() (while rp
   (if (= p1 nil) (progn
       (setq ppa2 nil)(setq rp 0)
       (princ “Again…”)(terpri)
       (princ “n Dim:Odinate-Y”)(terpri)
       (setq p1 (getpoint “n Select Feature: “))(terpri)
   ))
   (setq ppa1 (cadr p1))
   (if (= rp 0) (setq p2 (getpoint p1 “n Leader endpoint<Ydatum>: “)) ) (terpri)
   (if (= p2 nil)(error))


   (if (= ppa2 nil)
       (setq p2 (list (car p2) (cadr p2)))
       (progn
          (setq ppa (abs (- ppa1 ppa2)) ddss (abs (- yy ppa1)))
          (setq dds (- ditx ppa) dds1 (+ ditx ppa))
          (if (< ditx ppa) (progn
              (setq p2 (list (car p2) (cadr p1)))
              (if (and (> yy ppa1) (< ppa2 ppa1)) (setq p2 (list (car p2) (- (cadr p1) dds1) )) )
              (if (and (< yy ppa1) (> ppa2 ppa1)) (setq p2 (list (car p2) (+ (cadr p1) dds1) )) )
          ))
          (if (> ditx ppa) (progn
              (if (and (> yy ppa1) (< ppa1 ppa2))
                  (setq p2 (list (car p2) (- (cadr p1) dds) )) )
              (if (and (> yy ppa1) (> ppa1 ppa2))
                  (setq p2 (list (car p2) (- (cadr p1) dds1) )) )
              (if (and (< yy ppa1) (> ppa1 ppa2))
                  (setq p2 (list (car p2) (+ (cadr p1) dds) )) )
              (if (and (< yy ppa1) (< ppa1 ppa2))
                   (setq p2 (list (car p2) (+ (cadr p1) dds1) )) )
          ))
   )   )
   (setvar “osmode” 0) (setvar “dimtad” 0)
   (setvar “cecolor” “Bylayer”)
   (command “dim1” “ord” p1 “y” p2 “”)
   (setvar “osmode” 1061)
   (setq yy (cadr p1))
   (setq ppa2 (cadr p2))
   (setq rp (+ 1 rp))
   (setq p1 (getpoint “n Select Feature (X): “))(terpri)
))
;sub routine-2
(defun @dim_Odinatex() (while rp
   (if (= p1 nil) (progn
       (setq ppa2 nil)(setq rp 0)
       (princ “Again…”)(terpri)
       (princ “n Dim:Odinate-X”)(terpri)
       (setq p1 (getpoint “n  Select Feature: “))(terpri)
   ))
   (setq ppa1 (car p1))
   (if (= rp 0) (setq p2 (getpoint p1 “n Leader endpoint<Xdatum>: “)) ) (terpri)
   (if (= p2 nil)(error))


   (if (= ppa2 nil)
       (setq p2 (list (car p2) (cadr p2)))
       (progn
          (setq ppa (abs (- ppa1 ppa2)) ddss (abs (- xx ppa1)))
          (setq dds (- ditx ppa) dds1 (+ ditx ppa))
          (if (< ditx ppa) (progn
              (setq p2 (list (car p1) (cadr p2)))
              (if (and (> xx ppa1) (< ppa2 ppa1)) (setq p2 (list (- (car p1) dds1) (cadr p2))) )
              (if (and (< xx ppa1) (> ppa2 ppa1)) (setq p2 (list (+ (car p1) dds1) (cadr p2))) )
          ))
          (if (> ditx ppa) (progn
              (if (and (> xx ppa1) (< ppa1 ppa2))
                  (setq p2 (list (- (car p1) dds) (cadr p2))) )
              (if (and (> xx ppa1) (> ppa1 ppa2))
                  (setq p2 (list (- (car p1) dds1) (cadr p2))) )
              (if (and (< xx ppa1) (> ppa1 ppa2))
                  (setq p2 (list (+ (car p1) dds) (cadr p2))) )
              (if (and (< xx ppa1) (< ppa1 ppa2))
                  (setq p2 (list (+ (car p1) dds1) (cadr p2))) )
          ))
   )   )
   (setvar “osmode” 0) (setvar “dimtad” 0)
   (setvar “cecolor” “Bylayer”)
   (command “dim1” “ord” p1 “x” p2 “”)
   (setvar “osmode” 1061)
   (setq xx (car p1))
   (setq ppa2 (car p2))
   (setq rp (+ 1 rp))
   (setq p1 (getpoint “n Select Feature (Y): “))(terpri)

치수기입 리습인데 이게 사용하면 온스냅이 전부 해제됩니다.
어디가 문제인지 수정 좀 부탁 드립니다.

  • 0
  • 24 조회
공유
  • Facebook

    관련 있는 질문들

    • mvsetup 및 align 안됨
    • mvsetup 및 align 안됨
    • 에어컨 실외기 도면
    • cad에서 기준점 복사 후 다른 파일에 붙여넣기 시 블록참조객체의 길이가 줄어들어있어요

    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