비밀번호를 잊으셨나요?

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

계정이 있나요? 로그인

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 77567
다음
Lv.0
등록일: 2008-09-182008-09-18T20:03:32+09:00 2008-09-18T20:03:32+09:00카테고리: AutoCAD & CADian

osnap 초기화 현상

특정 리습을 사용하면 osnap이 자꾸 초기화 되버리는데요. 이와 관련된 문제를 갖고 계신분들의 글을 읽으면서
리습의 처음에 (setq os (getvar “osmode”))
끝에 (setvar “osmode” os) 를 써주어서 초기에 지금의 osnap을 저장하고 리습이 끝난후 다시 불러온다는건 알겠는데 너무 어렵네요 ㅠ

다음은 제가 사용하는 리습중 하나입니다. 이 리습을 사용하면 osnap이 자꾸 초기화 되버리네요; 보시면 알겠지만
(setq os (getvar “osmode”)), (setvar “osmode” os) 모두 포함되어있는데 말이죠 ㅠ

잘못된 부분을 한번 검토해주시면 감사드리겠습니다. 부탁드려요~
파일로도 올려놓겠습니다.
====================================================================

;=================================================
(defun dtr (a)
(* pi (/ a 180.0))
)

(defun rtd (a)
(/ (* a 180.0) pi)
)
(defun c:dm(/ pt1 pt2 pt3 pt4 pt5 pt6 pt7 pt8 pt9 pt10 ang t_ang g_ang l_dist t_dist str)
(setq txt-h 2.0)
(setq s (getvar “dimscale”))
(setq text-type 2)
(setq orth(getvar “orthomode”))
(setq os (getvar “osmode”))
(setvar “osmode” 33)
(setq sk1 (* 1.0 s))
(setq cor_sty (getvar “textstyle”))
(setq pt1 (getpoint “nPick iso dimension start point : “)
pt2 (getpoint “nPick iso dimension end point : ” pt1)
pt3 (getpoint “nPick iso dimension line position : ” pt2)
ang (angle pt1 pt2) ; dimension line angle
t_ang (angle pt2 pt3) ; text style angle
g_ang (angtos ang) ; function angle
l_dist (distance pt1 pt2) ; dimension line distance
t_dist (* 15 sk1) ; dimension line distance

pt3 (polar pt1 t_ang t_dist)
pt4 (polar pt2 t_ang t_dist)
pt5 (polar pt3 ang (/ (distance pt1 pt2) 2))
pt7 (polar pt3 t_ang (* 1.4 sk1))
pt8 (polar pt4 t_ang (* 1.4 sk1))
pt9 (polar pt1 t_ang (* 1.4 sk1))
pt10(polar pt2 t_ang (* 1.4 sk1))
str (getstring “nInput text string : “)
)
(if (or (and (>= (rtd ang) 61) (<= (rtd ang) 120))
(and (>= (rtd ang) 241) (<= (rtd ang) 300))
)
(setq pt6 (polar pt5 (dtr 210) (* 1.4 sk1)))
(setq pt6 (polar pt5 (dtr 90) (* 1.4 sk1)))
)
(setvar “osmode” 0)
(command “line” pt9 pt7 “”)
(command “line” pt3 pt4 “”)
(command “line” pt10 pt8 “”)
(daa pt3 ang)
(daa pt4 (+ ang (dtr 180)))
(i_t pt6 ang str)
(setq q_con (strcase (getstring “nDo you want to continue dimension < Yes / No > : “)))
(if (= q_con “N”)(setq jhg nil)(setq jhg 7))
(while jhg
(setvar “osmode” 33)
(setq pt1 pt2)
(setq pt2 (getpoint “nPick iso dimension end point : ” pt1))
(if (= pt2 nil)
(setq jhg nil)
(progn
(setq pt3 (getpoint “nPick iso dimension line position : ” pt2)
ang (angle pt1 pt2) ; dimension line angle
t_ang (angle pt2 pt3) ; text style angle
g_ang (angtos ang) ; function angle
l_dist (distance pt1 pt2) ; dimension line distance
t_dist (* 15 sk1) ; dimension line distance
pt3 (polar pt1 t_ang t_dist)
pt4 (polar pt2 t_ang t_dist)
pt5 (polar pt3 ang (/ (distance pt1 pt2) 2))
pt7 (polar pt3 t_ang (* 1.4 sk1))
pt8 (polar pt4 t_ang (* 1.4 sk1))
pt9 (polar pt1 t_ang (* 1.4 sk1))
pt10(polar pt2 t_ang (* 1.4 sk1))
str (getstring “nInput text string : “)
)
(if (or (and (>= (rtd ang) 61) (<= (rtd ang) 120))
(and (>= (rtd ang) 241) (<= (rtd ang) 300))
)
(setq pt6 (polar pt5 (dtr 210) (* 1.4 sk1)))
(setq pt6 (polar pt5 (dtr 90) (* 1.4 sk1)))
)
(setvar “osmode” 0)
(command “line” pt9 pt7 “”)
(command “line” pt3 pt4 “”)
(command “line” pt10 pt8 “”)
(daa pt3 ang)
(daa pt4 (+ ang (dtr 180)))
(i_t pt6 ang str)
)
)
)
(setvar “textstyle” cor_sty)
(setvar “orthomode” orth)
(setvar “osmode” os)
(prin1)
)
;=================================================
(defun i_t(g_pt g_ang g_str)
(if (= text-type 2)
(progn
(if (not (tblsearch “style” “D1”))
(progn
(command “filedia” “0”)
(command “style” “D1” “ROMANS” “” “0.8” “30” “” “” “”)
(command “filedia” “1”)
)
)
(if (not (tblsearch “style” “D2”))
(progn
(command “filedia” “0”)
(command “style” “D2” “ROMANS” “” “0.8” “-30” “” “” “”)
(command “filedia” “1”)
)
)
)
)
(cond
((and (>= (rtd g_ang) 15) (<= (rtd g_ang) 60))
(if (= text-type 2)
(if (or (and (>= (rtd t_ang) 61) (<= (rtd t_ang) 120)) (and (>= (rtd t_ang) 241) (<= (rtd t_ang) 300)))
(setvar “textstyle” “D1”)
(setvar “textstyle” “D2”)
)
(setvar “textstyle” “ROMANS”)
)
(command “text” “c” g_pt (* txt-h s) “30” g_str)
)
((and (>= (rtd g_ang) 61) (<= (rtd g_ang) 120))
(if (= text-type 2)
(if (or (and (>= (rtd t_ang) 15) (<= (rtd t_ang) 60)) (and (>= (rtd t_ang) 181) (<= (rtd t_ang) 240)))
(setvar “textstyle” “D2”)
(setvar “textstyle” “D1”)
)
(setvar “textstyle” “ROMANS”)
)
(command “text” “c” g_pt (* txt-h s) “90” g_str)
)
((and (>= (rtd g_ang) 121) (<= (rtd g_ang) 180))
(if (= text-type 2)
(if (or (and (>= (rtd t_ang) 15) (<= (rtd t_ang) 60)) (and (>= (rtd t_ang) 181) (<= (rtd t_ang) 240)))
(setvar “textstyle” “D1”)
(setvar “textstyle” “D2”)
)
(setvar “textstyle” “ROMANS”)
)
(command “text” “c” g_pt (* txt-h s) “330” g_str)
)
((and (>= (rtd g_ang) 181) (<= (rtd g_ang) 240))
(if (= text-type 2)
(if (or (and (>= (rtd t_ang) 61) (<= (rtd t_ang) 120)) (and (>= (rtd t_ang) 241) (<= (rtd t_ang) 300)))
(setvar “textstyle” “D1”)
(setvar “textstyle” “D2”)
)
(setvar “textstyle” “ROMANS”)
)
(command “text” “c” g_pt (* txt-h s) “30” g_str)
)
((and (>= (rtd g_ang) 241) (<= (rtd g_ang) 300))
(if (= text-type 2)
(if (or (and (>= (rtd t_ang) 15) (<= (rtd t_ang) 60)) (and (>= (rtd t_ang) 181) (<= (rtd t_ang) 240)))
(setvar “textstyle” “D2”)
(setvar “textstyle” “D1”)
)
(setvar “textstyle” “ROMANS”)
)
(command “text” “c” g_pt (* txt-h s) “90” g_str)
)
((and (>= (rtd g_ang) 301) (<= (rtd g_ang) 360))
(if (= text-type 2)
(if (or (and (>= (rtd t_ang) 61) (<= (rtd t_ang) 120)) (and (>= (rtd t_ang) 241) (<= (rtd t_ang) 300)))
(setvar “textstyle” “D2”)
(setvar “textstyle” “D1”)
)
(setvar “textstyle” “ROMANS”)
)
(command “text” “c” g_pt (* txt-h s) “330” g_str)
)
)
(princ)
)

(defun daa (g_pt g_ang / pt3 pt4)
(setq as (* 0.4 s);;arrow hight
pt21 (polar g_pt g_ang (* 2.5 s));;arrow length
g_ang (angtos g_ang)
)
(setq pt3 (polar pt21 t_ang as)
pt4 (polar pt21 (+ t_ang (dtr 180)) as)
)
(command “solid” g_pt pt4 pt3 “” “”)
(princ)
)

  • 0
  • 38 조회
공유
  • Facebook

    관련 있는 질문들

    • 오토캐드 2016 맞춤법 검사기 끄는 방법 아시나요
    • 캐드에서 여러도면을 한번에 배치출력 할 수 있는 방법이 있나요
    • step파일, iges 파일을 열어서 볼 수 있는 방법이 있을까요?
    • 캐디안으로 도면을 열때 한글이 ???로 표시되는 문제

    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