비밀번호를 잊으셨나요?

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

계정이 있나요? 로그인

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 96126
다음
Lv.0
등록일: 2012-09-112012-09-11T16:22:47+09:00 2012-09-11T16:22:47+09:00카테고리: AutoCAD & CADian

접하는 객체 말인데요….

Drawing1.dwg 제목 없음.png

위의 그림을 보시면 노란색 서클친부분을 클릭해서
아래와같이
(sslength (ssget “c” (getpoint “n첫 번째 점 지정:”) (getpoint “n두 번째 점 지정:”) ‘((8 . “aaa00*”))))
이렇게 하면 갯수가 2개가나오거든요…
ssget “c” 의 뜻이 두좌표를 지나는 객체가 있는지 없는지 판단하는 함수 아닌가요?
그림을 보시면 노란색 서클친 두점을 지나는 aaa00* 객체는 1개밖에 없거든요.
근데 2개라고 나오거든요….

제가 구하고 싶은것은 두좌표가 있을때 그좌표 와 접하는객체(침범한 객체 말고) 가 있는지 없는지를
구하고싶은데…
ssget 함수가 두객체가 가까이 있거나 머 이럴때 제대로 안나오는 경우가 있어서
vlisp으로 하면 제대로 구해지나해서. 아래 질문을 올렸던 것인데

kor님이 올려주신 소스
(defun c:test ( / )
 (vl-load-com)
 (if (and (setq p1 (getpoint “n첫 번째 점 지정:”)) (setq p2 (getpoint p1 “n두 번째 점 지정:”)))
  (progn
   (setq doc (vla-get-activedocument (vlax-get-acad-object)))
   (setq sets (vla-get-selectionsets doc))
   (if (vl-catch-all-error-p (vl-catch-all-apply ‘vla-item (list sets “set”)))
    (setq newset (vla-add sets “set”))
    (progn
     (vla-delete (vla-item sets “set”))
     (setq newset (vla-add sets “set”))
    )
   )
   (setq filter_code (vlax-make-safearray vlax-vbinteger ‘(0 . 3)))
   (setq filter_value (vlax-make-safearray vlax-vbvariant ‘(0 . 3)))
   (vlax-safearray-fill filter_code ‘(-4 8 8 -4)) ;–변경한부분
   (vlax-safearray-fill filter_value ‘(“<or” “aaa001” “aaa00*” “or>”)) ;–변경한부분
   (vla-select newset acSelectionSetCrossing (vlax-3d-point p1) (vlax-3d-point p2) filter_code filter_value)
   (vla-get-count newset)
  )
 )
)
이소스를 써도 마찬가지로 선택된 객체가 2개가 나오거든요…….

두좌표를 지나는 객체가 있는지 없는지 판단할려면…
위방법말고는 다른 방법은 없는건지 궁금합니다……

  • 0
  • 15 조회
공유
  • Facebook

    관련 있는 질문들

    • insert 삽입할때 레이어도 같이 변경가능할까요?
    • 캐드 파일을 PDF로 변환 할 때 문제점 도와주세요 ㅠ
    • 질문오토캐드 라인타입이 너무 많은데 어떻게 정리하나요..
    • 질문오토캐드 라인타입이 너무 많은데 어떻게 정리하나요..

    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