비밀번호를 잊으셨나요?

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

계정이 있나요? 로그인

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 91478
다음
Lv.0
등록일: 2011-04-212011-04-21T11:59:27+09:00 2011-04-21T11:59:27+09:00카테고리: AutoCAD & CADian

범위선택시 선택순서를 Y 좌표를 고려하여 정렬(sort)하려면

예를 들자면 도면에 A,B,C 요소가 있습니다.

A의 좌표는 (1,4)
B의 좌표는 (4,2)
C의 좌표는 (3,1)

도면상에서는 밑에 그림처럼 표현이 되어 있습니다.

      B
 C

          A


Y 좌표가 큰놈부터 하나 하나 객체를 선택 (B C A 순)으로 선택하여 좌표를 출력하면 되겠지만서도

선택시 일일이 하나씩 선택이 아니라 A,B,C를 한번에 선택하여
Y좌표가 큰놈부터 하나씩 선택한 것 처럼 요소 선택순서를 정렬하고 싶습니다.

부연설명 드리자면 

   (setq a(ssget ‘((0 . “TEXT”))))
   (setq b (sslength a))                                      
   (setq c 0)                                                 
   (while (<= 1 b)                                            
   (setq d (ssname a c))                                      
   (setq e (cdr (assoc 1 (entget d))))
   (princ e)
   (setq b (- b 1))                                           
   (setq c (+ c 1))                                           
   )
   (princ)

위의 리습에서 텍스트를 선택을 하나씩 Y좌표가 큰놈부터 출력하여 나온 값과
임의로 범위 선택했을때의 값이 같게 변수 a값에 선택된 순서를 정렬하려고 합니다.

나름 공부중인데… 현재까지 아래와 같이 만들었습니다.

   (setq a (ssget ‘((0 . “TEXT”))))
   (setq b (sslength a))                                      
   (setq c 0)                                                 
   (setq list_A nil)
   (while (<= 1 b)                                            
  
   (SETQ f (entget (ssname a c)))
   (SETQ g (assoc 10 f))
  
   (setq a1 (list c (caddr g)))
   (setq list_A (append list_A (list a1)))  
   (setq b (- b 1))                                           
   (setq c (+ c 1))                                           
   )
  
   (princ “n”)(princ list_A)
   (princ)
  
   (setq e (vl-sort-i list_A (function (lambda (e1 e2)(> (cadr e1) (cadr e2))))))
   (setq h (length list_A) i 0 c 0)
   (princ “n”) (princ e)
   (repeat h
   (setq d1 (nth i e))
   (princ “n”)(princ d1)  
   (setq d (ssname a d1))
   (setq e1 (cdr (assoc 1 (entget d))))
   (princ ” : “)(princ e1)
   (setq i (1+ i))
   )
   (princ)

  • 0
  • 41 조회
공유
  • Facebook

    관련 있는 질문들

    • cad에서 기준점 복사 후 다른 파일에 붙여넣기 시 블록참조객체의 길이가 줄어들어있어요
    • 캐드에서 복사해서 방향 옮길때 다른방향으로 가요.
    • 캐드에서 복사해서 방향 옮길때 다른방향으로 가요.
    • FAQ 51을 참조 하라는데 FAQ가 어디에 있나요??

    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