비밀번호를 잊으셨나요?

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

계정이 있나요? 로그인

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 109478
다음
진행 중
Lv.0
등록일: 2018-02-252018-02-25T20:34:08+09:00 2018-02-25T20:34:08+09:00카테고리: AutoCAD & CADian

selection set 리스트를 x좌표를 기준으로 정렬(소트)하는 방법 질문드립니다.

안녕하세요.

selection set 리스트를 x좌표를 기준으로 정렬(소트)하는 방법 질문드립니다.

제가 구현하고 싶은 것은 사용자로부터 ssget을 통해 line들을 선택받은 뒤 그것을 리스트에 저장한 후, 그 리스트의 각 엔티티들을 선의 시작점 x좌표를 기준으로 오름차순 혹은 내림차순으로 정렬하여 저장하는 방법을 알고싶습니다.

검색해보니 vl-sort 와 lambda 기능을 활용하여 구현하는 것 같은데 자세한 사용 방법을 검색해도 찾을 수가 없어 구현하지 못하고 있습니다.

  (setq ss (ssget ‘( (0 . “LINE”) ) ) ) 를 통해 얻은 엔티티들을 정렬하는 방법 아시는 고수분 있으면 방법좀 부탁드리겠습니다.



추가)
  (vl-sort ss ‘(lambda (e1 e2) (> (cdr(assoc 10 (entget e1))) (cdr(assoc 10 (entget e2))) ) ) )
위의 코드를 짜봤는데,
; 오류: 잘못된 인수 유형: listp <Selection set: 9ff> 라고 나옵니다.

혹시 어떤 문제가 있는 걸까요…

  • 0
  • 2 2 답변
  • 64 조회
공유
  • Facebook

    관련 있는 질문들

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

    2 답변

    • 작성 순
    • 최신 순
    • 공감 순
    1. aalan
    2. 수야12 Lv.21
      2018-02-26T09:33:01+09:00답변 등록 답변 등록 일시 2018-02-26 9:33 am
      일단 오름차순 내림차순이 나오는 거 보니 라인이 수평라인이겠군요 
      라인 시작점에 대한 단순생각을 가지신거 보니 라인도 한 방향으로 그렸다는 얘기고요
      (좌에서 우로만 그렸던가 우에서 좌로만 그렸던가…)
      2두가지 추리를 기준으로 소트 기본만 적용된 단순 구문입니다 
      (defun c:ff(/ ss e L n)(vl-load-com)
       (setq ss (ssget (list(cons 0 “LINE”))) n 0)
       (repeat (sslength ss)
        (setq e(ssname ss n))
        (setq L(cons(cdr(assoc 10 (entget e)))L))
        (setq n (1+ n))
       )
       (setq L (vl-sort L ‘(lambda (a b)(< (cadr a)(cadr b))))); 오름차순
       (setq n 1)
       (foreach a L
          (ks_text a (getvar ‘textsize) (itoa n))
          (setq n (1+ n))
        )  
       (princ)
      ) 
      (defun ks_Text (pt hgt str)
        (entmakex (list (cons 0 “TEXT”)
                        (cons 10  pt)
                        (cons 40 hgt)
                        (cons 1  str)
                  )
        )
       )
      결과값 .
      녹화_2018_02_26_09_27_39_682.gif
      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    3. [Deleted User]
      2018-02-26T20:18:03+09:00답변 등록 답변 등록 일시 2018-02-26 8:18 pm

      아, 수평라인이고 시작점과 끝점이 한 방향이라는 것을 기재했어야 했는데 제가 누락했군요.
      부족한 질문임에도 명쾌한 답변 주셔서 정말 감사드립니다. ㅠㅠ 딱 제가 찾던 그 소스입니다.
      써주신 답변 토대로 잘 적용하겠습니다. 감사합니다.

      • 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