비밀번호를 잊으셨나요?

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

계정이 있나요? 로그인

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 110921
다음
진행 중
Lv.0
등록일: 2019-02-112019-02-11T17:29:48+09:00 2019-02-11T17:29:48+09:00카테고리: AutoCAD & CADian

while 내에서 grread 로 얻은 좌표로 스냅표시가 제대로 되지 않습니다.


안녕하세요.

저번에 만들던걸 마저 작성하던중에
while 내에서 grread 로 얻은 좌표로 스냅표시가 제대로 되지 않았습니다.

이리저리 구글링해서
http://www.theswamp.org/index.php?topic=12813.msg157794#msg157794

관련 해결법을 찾고 결국 리맥님의 DynOffV2-1 리습에서 정상적으로 동작하는걸 보고
http://www.lee-mac.com/dynamicoffset.html



초기화하는거랑
(setq doc   (vla-get-ActiveDocument
                (vlax-get-acad-object))
        drft  (vla-get-drafting
                (vla-get-preferences
                  (vlax-get-acad-object)))
        osGrv (osmode-grvecs-lst
                (vla-get-AutoSnapMarkerColor drft)
                  (vla-get-AutoSnapMarkerSize drft)))
  (setq ObjLst (mapcar ‘vlax-ename->vla-object
               (setq EntLst (vl-remove-if ‘listp
                              (mapcar ‘cadr (ssnamex ss))))) oStr “”)
  (defun clean (lst / lst)
    (cond (lst (mapcar
                 (function
                   (lambda (object)
                     (if (not (vlax-erased-p object))
                       (vla-delete object)))) lst)
           (setq lst nil))))





관련 사용되는 함수들을 리맥님의 리습에서 가져와서
(defun osMark (o / s)
(defun get_osmode nil ; by Evgeniy Elpanov
(defun osmode-grvecs-lst (col ass / -ASS ASS COL)
   ; By Evgeniy Elpanov (Modified by Lee Mac)




아래와 같이 cond 5 (마우스 움직이는중) 에 적용하였는데도
제대로 스냅표시가 보여지지 않고 있습니다.

       (setq EntLst (vl-sort EntLst
          (function
           (lambda (a b)
            (< (distance data (vlax-curve-getClosestPointto a data))
              (distance data (vlax-curve-getClosestPointto b data)))))))
         (setq cPt (vlax-curve-getClosestPointto (car entLst) data))
         (setq eLst (clean eLst))
         (if
          (and
           (< 0 (getvar “OSMODE”) 16384)
           (setq oPt (vl-remove-if (function null)
             (mapcar
              (function
               (lambda (x / o)
                (if (setq o (osnap data x))
                 (list (distance data o) o x data)
                )
               )
              )
              (get_osmode)
             )
            )
           )
          )
          (setq oPt (cdar (vl-sort oPt (function (lambda (a b) (< (car a) (car b)))))))
          (setq oPt nil)
        )
       (and oPt (OsMark oPt))


무언가 놓쳐서 안되는거 같은데 원인을 모르겠습니다…ㅠ

현재 작성해놓은 리습파일을 참고용으로 첨부하겠습니다.

사용방법은 원을 하나 그려놓고 원내부에 첫번째 포인트를 찍은후
두번째포인트를 찍기전에 스냅이 표시되어야합니다..

클릭시 동작은 아직 작성안했지만 현재 마우스 무빙시에도 표시가 안되서
난감한 상태입니다.

고수님의 어드바이스 부탁드리겠습니다.

  • 0
  • 5 5 답변
  • 30 조회
공유
  • Facebook

    관련 있는 질문들

    • 아무 명령어 없이 마우스만 클릭했는데 저렇게 잡혀 버립니다..
    • mdt 옵션 설정
    • SHeadG.shx 있으신분 부탁드립니다
    • 도곽크기를 a2 그리고 출력은 a3로 하려는데

    5 답변

    • 작성 순
    • 최신 순
    • 공감 순
    1. aalan
    2. 수야12 Lv.22
      2019-02-12T10:07:45+09:00답변 등록 답변 등록 일시 2019-02-12 10:07 am

      Description was not provided. 오류 뜹니다  다른 리습과 공유하는 함수가 있나봐요… 

      캐드를 완전히 껐다 다시 키시고 아무런 리습 로드 없이 올리신 리습만 함 돌려 보시고 빠진 함수는 채워서 올려 봐 주세요 저같은 경우는 이론 주의보다는 직관적 주의라 정상 작동 파일에서 문제점 찾아내는게 빠르거든요 ㅎㅎ;; 
      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    3. [Deleted User]
      2019-02-12T10:36:33+09:00답변 등록 답변 등록 일시 2019-02-12 10:36 am

      수야님 말씀대로 제가 실수 했습니다…ㅜ

      파일 재첨부하였습니다.

      참고한 리맥님 리습도 DynOffV2-1.lsp 첨부드립니다.

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    4. 수야12 Lv.22
      2019-02-12T13:40:40+09:00답변 등록 답변 등록 일시 2019-02-12 1:40 pm

      여전히 오류 파일입니다 ㅠ.ㅠ;; 

      그러나 전에 제가 올린 파일로 원인을 알아 냈다는거 (아.. 난 혹시 천재~!!!)
      emoticon ㅎㅎ 원인은 grosnap함수는 정상 작동중인데요 (redraw)함수 위치가 밑에 있다보니 자꾸 지워 져서 안보이는 겁니다 (redraw)함수 위치를 위쪽으로 이동 시켜보세요
      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    5. 수야12 Lv.22
      2019-02-12T13:43:39+09:00답변 등록 답변 등록 일시 2019-02-12 1:43 pm

      녹화_2019_02_12_13_40_10_914.gif

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    6. [Deleted User]
      2019-02-12T14:30:33+09:00답변 등록 답변 등록 일시 2019-02-12 2:30 pm
      앗 올려주신 파일과 비교하면서 확인하던 도중
      원인을 찾아서 댓글달려고 했는데 그사이에 지워서 다시 올려주셨군요.

      동일하게 동작을 안해서 하나씩 확인하다보니

      (redraw)를 하단에 놓으니 바로 그려지지 않더군요!…..
      수야12님 덕분에 원인을 해결해서 기분이 좋네요!

      그 찰나에 수야님도 확인하고 계셨을줄이야..
      제 모자란 질문에 관심을 가져주셔서 정말 감사합니다!

      수야님 천재! 최고! b

      • 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