비밀번호를 잊으셨나요?

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

계정이 있나요? 로그인

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 188551
다음
답변됨
소시관얍얍
소시관얍얍Lv.0
등록일: 2023-12-062023-12-06T09:11:44+09:00 2023-12-06T09:11:44+09:00카테고리: AutoCAD & CADian

ssget 쓸때 텍스트 좌표 순 정렬(?) sort 하는법이 궁금합니다

안녕하세요. 항상 고캐드를 통해 많이 배우고 있습니다.

ob1의 문자값을 ob2에 복사하는 리습입니다.

현재는 텍스트 선택순으로 리습이 실행되는데

텍스트를 선택할때 X축이나 Y축 순으로  선택하고 싶습니다.

(defun C:tc(/ ob1 ob2 n i F1 F2 C )
(setq ob1 (ssget ‘((0 . “text”))))
(setq ob2 (ssget ‘((0 . “text”))))
(setq n (sslength ob1) i 0)

(repeat n

(setq F1 ( cdr (assoc 1 (entget (ssname ob1 i)))))
(setq F2 ( cdr (assoc 1 (entget (ssname ob2 i)))))
(setq C (ssname ob2 i))
(entmod (subst (cons 1 F1)(assoc 1 (entget C)) (entget C)))
(setq i (1+ i))
);re

)

선배님들 도움 부탁 드립니다.

  • 0
  • 3 3 답변
  • 50 조회
공유
  • Facebook

    관련 있는 질문들

    • 에어컨 실외기 도면
    • cad에서 기준점 복사 후 다른 파일에 붙여넣기 시 블록참조객체의 길이가 줄어들어있어요
    • 캐드에서 복사해서 방향 옮길때 다른방향으로 가요.
    • 캐드에서 복사해서 방향 옮길때 다른방향으로 가요.

    답변을 남겨주세요
    응답 취소

    답변을 등록하기 위해서는 로그인이 필요합니다.

    비밀번호를 잊으셨나요?

    아직 계정이 없으신가요? 회원가입 하기

    3 답변

    • 작성 순
    • 최신 순
    • 공감 순
    1. aalan
    2. 수야12 Lv.21
      2023-12-07T16:05:41+09:00답변 등록 답변 등록 일시 2023-12-07 4:05 pm

      https://blog.naver.com/khs12kim/223285732695

      • 1
      • 댓글 달기
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
      • 소시관얍얍 Lv.0
        2023-12-15T11:40:31+09:00에게 댓글을 달았습니다. 답변 등록 일시 2023-12-15 11:40 am

        답변감사합니다!!! 딱 제가 원하는 기능이었습니다!!!!
        혹시 vl-sort 함수와 lambda 함수 사용하는 방법좀 알려주실 수 있으실까요?

        • 0
        • 댓글 달기
        • 공유
          공유
          • 공유 Facebook
          • 공유 Twitter
        • 베스트 답변
          수야12 Lv.21
          2023-12-15T17:09:07+09:00에게 댓글을 달았습니다. 답변 등록 일시 2023-12-15 5:09 pm
          (수정됨)

          온라인 도움말에 잘 나와있어요 그런데 구지 설명하자면

          vl-sort 함수는 자체적으로 정렬기준이 있는 데이터를 정렬할 수 있는 기능이 있는 함수입니다 가령 리스트가 단순 숫자 리스트라면 (setq Lst ‘ (1 3 6 2 9 10)) 이럴때

          (vl-sort Lst ‘<)이러면 작은수 부터 큰수로

          (vl-sort Lst ‘>) 이렇게 하면 반대로 큰수부터 작은수로 정렬 단순 구성이면 다른것도 다 정렬됩니다

          그런데 리스트 원소 구성이 조금 복잡하게 구성 돼있다면 람다함수를 이용하여 조건을 부여 할 수 있습니다

          예를 들면 제가 사용했던 리스트는 (setq Lst ‘((문자부착점 엔티티이름)(문자부착점 엔티티이름))순으로 돼있습니다

          그러므로 무명함수로 조건을 주는 겁니다 리스트 원소들 끼리 비교를 해서 정렬을 하되 조건은( 원소 첫번째 중에 두번쩨 요소 끼리 비교)입니다

          ex>

          (setq Lst ‘(((x1 zy1 z1) entname1)) ((x2 zy2 z2) entname2)) …등등)) 리스트가 이런식으로 돼있습니다

          (vl-sort L ‘(lambda (a b)(<(cadar a)(cadar b)))) 이렇게 조건을 주면 리스트 각 요소중에 첫번째 (문자부착점) 그중에 y좌표를 비교해서 낮은거 부터 높은걸로 정렬 합니다

          (cadar a)<= 이걸 길게 쓰면 (cadr(car a)) 입니다 문자수를 줄여서 표현한거죠

          촘합 함수 해석
          (vl-sort Lst ‘<) 소트를 해라 Lst라는 리스트를 작은거 부터 큰걸로
          (vl-sort L '(lambda (a b)(<(cadar a)(cadar b)))) 소트를 해라 L이라는 리스트를 뒤에 있는 조건으로.. 조건은
          리스트 원소 첫번째 요소 두번째 값으로 작은거 부터 큰걸로

          • 1
          • 댓글 달기
          • 공유
            공유
            • 공유 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

    링크 삽입/편집

    대상 URL을 입력하세요

    또는 기존의 콘텐츠에 링크

      검색어가 지정되지 않았습니다. 최근 항목 표시 검색하거나 위와 아래 화살키를 이용하여 항목을 선택하세요.