비밀번호를 잊으셨나요?

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

계정이 있나요? 로그인

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 111619
다음
진행 중
Lv.0
등록일: 2019-08-052019-08-05T21:16:23+09:00 2019-08-05T21:16:23+09:00카테고리: AutoCAD & CADian

리습만드는 도중 질문있습니다. 가장 큰 점 골라내기 입니다.

윈 10 64빗 2019 사용중에 있습니다.

지금 재료명을 나열할 때 
x축에 수평인 선들을 여러개 긋고 오른쪽끝에 혹은 왼쪽끝에 정렬해서 재료명을 기입하지 않습니까
이 x축에 수평인 선들이 들쭉날쭉할 때 ssget으로 여러개를 잡아 오른쪽의 포인트를 다 뽑고 그중 가장 큰 x좌표를 따라서 나머지 선들도 정렬되게 하고싶습니다. 
포인트를 하나 뽑는건 알겠는데 한번에 여러개를 뽑을 수 있는가.. 먼저 이게 궁금하고
만약에 뽑았다면 그 중에서 가장 큰 것을 구분을 어떻게하는가도 궁금합니다.
추가로 혹시 텍스트도 같이 잡았을때 선들은 좌표를뽑아서 정리하고 텍스트들은 중간왼쪽으로 정렬하여 텍스트 옆에 일정 공간을 띄우고 넣을 수 있는지 궁금합니다 !
작업중인데 모르는게 많다보니까 꽉막혀있습니다.. 일단 작업해보고 내역부터 올려보겠습니다 ! 
  • 0
  • 7 7 답변
  • 12 조회
공유
  • Facebook

    관련 있는 질문들

    • 동적블록 신축에서 길이를 늘릴때 최종 길이를 입력 또는 늘려야 하는 차이만큼의 길이를 입력
    • 캐드 타일 개수 구하기
    • 캐드 선택할 때 마우스 옆에 박스안 초록동그라미, 파란동그라미 표시 어떻게 없애나요?
    • 캐드 용량이 16.8MB 인데 10MB 이하로 줄이고 싶습니다

    7 답변

    • 작성 순
    • 최신 순
    • 공감 순
    1. aalan
    2. [Deleted User]
      2019-08-05T22:07:37+09:00답변 등록 답변 등록 일시 2019-08-05 10:07 pm
      (defun c:asd ()
        (setvar ‘cmdecho 1)
        (setq os (getvar ‘osmode))
        (setvar ‘osmode 512)
        
        (setq ad (ssget)) ;선택
        (setq ac (getpoint)) ;기준점
        (setq ab (car ac)) ;x좌표 분리완료
        (setq dd (sslength ad)
      i  0
        )
        (repeat dd
          (setq pt (ssname ad i))
          (setq ppt (entget pt))
          (setq gg (assoc 11 (entget pt)))
        (setq bb (cdr (cdr (assoc 11 (entget pt)))))
          (setq cc (cons ab bb))
          (setq ee (cons 11 cc))
          (setq ff (subst ee gg ppt))
          (entmod ff)
          (setq i (+ 1 i))
        )
        
        (setvar ‘osmod os)
      )
      일단 오른쪽 좌표축을 정렬하는 리습까지는 왔습니다..
      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    3. [Deleted User]
      2019-08-05T22:35:08+09:00답변 등록 답변 등록 일시 2019-08-05 10:35 pm

      x,y 축으로 분리하는데까지 성공했는데 x축은 오른쪽 끝점만 이동하면 되지만 y축으로 이동하는 것은 스타트포인트와 엔드포인트 (10, 11) 모두가 이동해야되서 entmod 가 두번 들어가야하는데 repeat 안에 entmod는 두번 적용이 안되는 걸로나오는데 어떻게 해야될지 궁금합니다.

      (defun c:av ()
        (setvar ‘cmdecho 1)
        (setq os (getvar ‘osmode))
        (setvar ‘osmode 512)
        (setq ad (ssget)) ;선택
        (setq ac (getpoint)) ;기준점
        (setq ab (car ac)) ;x좌표 분리완료
      (setq af (cadr ac))
        (setq dd (sslength ad)
      i  0
        )
        ;——————————
        (setq a “n표식선택: 수평<1>/수직<엔터>:”)
        (initget “1”)
        (setq kw (getkword a))
        
      ;————————————-
        (cond ((= kw “1”)
        (repeat dd
          (setq pt (ssname ad i))
          (setq ppt (entget pt))
          (setq gg (assoc 10 (entget pt)))    
          (setq xx (car (cdr (assoc 10 (entget pt))))) ;x point    
          (setq bb (cdr (cdr (cdr (assoc 10 (entget pt))))))    
          (setq cc (cons af bb))    
          (setq jj (cons xx cc))    
          (setq ee (cons 10 jj))
         
          (setq ff (subst ee gg ppt))
          
          (setq qq (assoc 11 (entget pt)))    
          (setq ww (car (cdr (assoc 11 (entget pt))))) ;x point    
          (setq rr (cdr (cdr (cdr (assoc 10 (entget pt))))))    
          (setq tt (cons af rr))    
          (setq hh (cons ww tt))    
          (setq kk (cons 11 hh))
          (setq pp (subst kk qq ppt))
          
            (entmod ff)
          (entmod pp)                 <————————— 여기서 entmod 중복으로 잘모르겠네요
            
          
          
          (setq i (+ 1 i))
        )
      )
      ;————————————-
         (t
        (repeat dd
          (setq pt (ssname ad i))
          (setq ppt (entget pt))
          (setq gg (assoc 11 (entget pt)))
          (setq bb (cdr (cdr (assoc 11 (entget pt)))))
          (setq cc (cons ab bb))
          (setq ee (cons 11 cc))
          (setq ff (subst ee gg ppt))
          (entmod ff)
          (setq i (+ 1 i))
        )
        )
      );cond
       
        (setvar ‘osmode os)
      )
      조잡하지만 봐주시면 감사하겠습니다.
      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    4. 수야12 Lv.21
      2019-08-05T23:07:33+09:00답변 등록 답변 등록 일시 2019-08-05 11:07 pm

      음 이거 답글 달면 거의 강의 수준이라…

      일단 오른쪽 포인트 잡겠다고 dxf 11번 사용 하시는것은 잘 못된 접근 방식입니다 (습관적으로 라인을 
      왼쪽에서 오른쪽으로 그리시나 봐요? ㅎㅎ) 반대로 그리는 사람도 있거든요 그때는 오른쪽 포인트가 10번이 되죠..
      (setq en(entget))
      (setq en(subst(cons 10 new)(assoc 10 en)en))
      (entmod(subst(cons 11 new)(assoc 11 en)en))
      이런식으로 사용 하시면  entmod  한번에 적용 됩니다 
       그리고  리습구문이 객체 이동이 아니라 기준점 축 기준으로 업데이트네요??  
      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    5. [Deleted User]
      2019-08-05T23:18:30+09:00답변 등록 답변 등록 일시 2019-08-05 11:18 pm

      아.. 그렇군요 오른쪽에서 왼쪽으로 오는 선도 있는걸 간과하고 있었습니다.

      객체이동보다는 업데이트해서 사용하려합니다. 보통 재료선을 뽑을때 출발선은 잘맞으나 텍스트와 맞붙는 쪽이 잘안맞더라구요. 그래서 업데이트를 해볼까해서요.
      둘중에 오른쪽에 있는 포인트를 잡는걸로 if문을 넣어야하겠네요 흠흠..
      길고 긴 제 구문이 저세줄로 압축이 되는느낌인데.. setq () 후 en이 다시나오는 구문이 뭘뜻하는지는 모르겠지만 구글리과 여러번의 노동으로 끼워맞추어보겠습니다. 혹시라도 더 알려주실게 있으면 댓글주세요~ 강의도 괜찮습니다.. ㅎㅎ
      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    6. 수야12 Lv.21
      2019-08-05T23:22:41+09:00답변 등록 답변 등록 일시 2019-08-05 11:22 pm

      제 초보때 경험 바탕으로 (기본 제공 함수에 익숙하지 않던 시절)

      x축 오른쪽정렬이라면 x값이 큰놈이 필요하겠죠 
      (setq en(entget (ssname ss i))) 
      (setq a10(cdr(assoc 10 en))a11(cdr(assoc 11 en))
      (if (<(car a10)(car a11))
        (setq ptlst (append (list a11)))
        (setq ptlst(append (list a10)))
      )
      이런식으로 ssget 돌려서 x값 큰 리스트 만들고 
      또 ptlist를 repeat를 이용해서 가장 큰값을 찾을겁니다 대충 이런식으로 
      (setq n 0 b ‘(0 0))
      (repeat (length ptlist)
        (setq a (nth n ptlist))
       (if(<(car b) (car a))(setq b a))
       (setq n(1+ n))
      )
      이런식으로 하면 저기 b에 가장 큰값이 들어 가겠죠   
      물론 지금은 이렇게 안하고 리습에서 제공하는 기본 함수로 해결 한답니다  위 방법은 제가 리습 함수를 제대로 파악하지 못한 초보때 주로 사용하던 방법입니다 (꼰대짓일수도 있는데 가장 중요한게 리습에서 제공하는 함수가 뭐가 있나 대충 이라도 전체적으로 훓어 보시고 인지 하셔야 편합니다)
      https://blog.naver.com/khs12kim/221507157879&nbsp;   (제 블로그입니다 관리는 안해요  ^^;;)
      라인 연결 리습인데 포인트 정리에 관한 기본적인 느낌은 아실수 있으실겁니다 
      https://blog.naver.com/khs12kim/221507154932
      https://blog.naver.com/khs12kim/221499907570&nbsp;
      세개다 기본적인 함수로 포인트 정렬하긴 했는데… 
       
      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    7. 수야12 Lv.21
      2019-08-06T00:13:01+09:00답변 등록 답변 등록 일시 2019-08-06 12:13 am

      녹화_2019_08_06_00_09_26_403.gif

      sss.lsp 
      이게 위에서 말한 초보적 접근 방식입니다 일단 오른쪽 정렬로 한번 만들어 봤습니다 
      나머지는 방향은 쉽게 하실수 있을 겁니다 
      환영하오~!! 신비한 리습의 세계에 첫발을 들인 여행자여 ~!! ^^;;

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    8. [Deleted User]
      2019-08-06T10:03:14+09:00답변 등록 답변 등록 일시 2019-08-06 10:03 am

      어제 야근빡쎄게하고 쓰러졌다가 이제 주위가 눈에 좀 들어오네요 자세한 정보 너무 감사합니다 블로그 정독하고 오겠습니다 완성되면 올려볼게요!

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter

    Sidebar

    질문하기
    공지사항

    • 국산 CAD ‘캐디안 2025’ 출시 사전 예약 진행 2024-09-27

    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