비밀번호를 잊으셨나요?

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

계정이 있나요? 로그인

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 113026
다음
진행 중
Lv.0
등록일: 2021-04-192021-04-19T13:16:31+09:00 2021-04-19T13:16:31+09:00카테고리: AutoCAD & CADian

각도 계산 후 원형 배열 리습 도움이 필요합니다 ㅠㅠ

안녕하세요 필요한 기능이 있어서 리습을 만들 수 있을까 하여 문의 드립니다.

게시판에 이미지를 첨부하는 방법을 모르겠어서 하단에 블로그 링크로 남겨뒀습니다!
혼자 고캐드와 인터넷을 이것저것 뒤적거려 작성해 보려다가 arraypolar 의 커맨드 작성 법도 모르겠고 벽에 부딛힌것 같아 도움을 구합니다 ㅠㅠ
이미 작성되어 있는 곡선을 따라 배열을 하는 것이 목적입니다.
1. A아크의 중심과 곡선의 시작점을 잇는 라인을 하나 작성한다.
2. 작성한 라인을 A아크의 중심과 반지름(r)을 공유하는 원의 둘레(2πr)를 125mm로 나눈 각도(a)를 측정.

3. ARRAY(배열) 기능의 PO(원형)을 선택하여 배열의 중심점을  A아크의 중심점으로 선택하여 배열을 만든 후 사이의각도(A)를 선택하여 2에서 측정한 각도(a)를 적용.

추가로 가능하다면 배열 하는 선의 갯수를 4개로 제한 하고 싶습니다.

   *단순하게 125mm로 경로를 따라 배열하는 방법으로 곡선을 따라 배열 하였을 경우 원하는 목적에 도달하지 못하여 이런 방법을 취하게 되었습니다.

이미지를 첨부하는 방법을 몰라 하단에 링크를 남겨뒀습니다!

최종 목적은 두번째 이미지와 같은 배열을 완성하고 그 배열이 모두 Join(결합) 할 수 있는 리습을 만드는 것입니다! 
https://blog.naver.com/hiro0408/222315323627
  • 0
  • 14 14 답변
  • 92 조회
공유
  • Facebook

    관련 있는 질문들

    • 캐디안으로 도면을 열때 한글이 ???로 표시되는 문제
    • CADian Lisp
    • 캐디안에서 렌더링 기능이 지원되나요?
    • 동적블록 신축에서 길이를 늘릴때 최종 길이를 입력 또는 늘려야 하는 차이만큼의 길이를 입력

    14 답변

    • 작성 순
    • 최신 순
    • 공감 순
    1. aalan
    2. 수야12 Lv.21
      2021-04-19T13:34:12+09:00답변 등록 답변 등록 일시 2021-04-19 1:34 pm

      일단 임시로 이미지 첨부 하는법 알려드릴께요 

      다음이나 네이버 등 포털에 블로그를 만드신후에 그곳에 이미지를 올려놓으시고 
      이미지를 복사 붙혀 넣기 하시면 링크가 걸려서 이미지가 보입니다 
      곡선이 스플라인인지 아크(호)인지…  중심이란 단어가 나오는거 봐서는 아크(호)같긴 한데
      이런 궁금중 유발보다는 확실한 이미지가 낫지요 
      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    3. [Deleted User]
      2021-04-19T13:51:14+09:00답변 등록 답변 등록 일시 2021-04-19 1:51 pm

      일단 아크로 수정해 뒀습니다!

      말씀 해주신대로 복사 붙여넣기 해봤는데 이미지가 안뜨네요…ㅠㅠ 왠지 모르겠습니다 ㅠㅠ

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    4. 수야12 Lv.21
      2021-04-19T14:00:00+09:00답변 등록 답변 등록 일시 2021-04-19 2:00 pm

      ㅎㅎ 이미지 위에다 마우스 올리고 이미지 복사

      요렇게 
      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    5. [Deleted User]
      2021-04-19T14:03:45+09:00답변 등록 답변 등록 일시 2021-04-19 2:03 pm

      그렇게 복사 붙여넣기 하면 안보이는것 같아서 아예 블로그 글을 링크했습니다:)!

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    6. 수야12 Lv.21
      2021-04-19T17:42:14+09:00답변 등록 답변 등록 일시 2021-04-19 5:42 pm
      (defun c:ff(/ ks_Line e obj len cp rad CirLen stang p1 ang ang1)(vl-load-com)
       (defun ks_Line (p1 p2)
         (entmakex (list (cons 0 “LINE”)
                         (cons 10 p1)
                         (cons 11 p2)
                   )
         )
       )
       (setq e(car(entsel “nSelect Arc:”)))
       (setq obj(vlax-ename->vla-object e))
       (setq len(vla-get-Arclength obj))
       (setq cp(vlax-safearray->list(vlax-variant-value(vla-get-Center obj))))
       (setq rad(float(vla-get-Radius  obj)))
       (setq CirLen(* 2 pi rad))
       (setq stang(vla-get-Startangle obj))
       (setq p1 (vlax-safearray->list(vlax-variant-value(vla-get-Startpoint obj))))
       (setq ang(/(/ CirLen 125.0)rad))
       (setq ang1 (+ stang ang))
       (repeat 4
        (ks_line cp p1)
        (setq p1(polar cp ang1 rad))
        (setq ang1(+ ang1 ang))
       )
       (princ)
      ) 
      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    7. 수야12 Lv.21
      2021-04-19T17:54:42+09:00답변 등록 답변 등록 일시 2021-04-19 5:54 pm

      흠.. 뭔가 리습 만드는 중에 게시글 내용이 바뀐거 같은데요??? 

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    8. [Deleted User]
      2021-04-19T18:13:56+09:00답변 등록 답변 등록 일시 2021-04-19 6:13 pm

      앗 블로그에 이미지 올리고 링크 하면서 살짝 바뀌었습니다!

      리습 짜주셔서 감사합니다:)!
      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    9. [Deleted User]
      2021-04-20T09:52:11+09:00답변 등록 답변 등록 일시 2021-04-20 9:52 am

      오 완전 제가 원하던 그대로 입니다!
      근데 리습이 제가 생각했던거보다 많이 복잡하군요 ㅠㅠ

      너무 쉽게 생각한것 같습니다 ㅠㅠ

      일단 여쭙고 싶은게 지금 결과물을 보니 각 선간의 간격이 원했던것보다 많이 크더라구요
      반지름 8500짜리 원을 기준으로 했을때 각 선의 사이각이 0.84258499 도 정도로 좁았었는데 지금 리습을 실행 시킨 후 측정을 해보니 약 3도 정도 되는거 같습니다!
      이걸 어찌 수정해야 할까요 ㅠㅠ

      (setq ang(/(/ CirLen 125.0)rad)) 이부분이 2파이 라디안(원주)/125/라디안 으로 이해 했는데 그럼 그 이하에서 간격 설정 하는 과정에서 수정 해야 하는지요 ㅠㅠ?

      그리고 리습을 실행시켜서 각 선사이의 각도가 a라고 한다면 완성된 결과물에 작업을 한 후  그걸 같은 아크 중심으로 2a 각도로 원형으로 어레이 시켜야 하는데 어찌 손봐야 할지 모르겠습니다 ㅠㅠ


      제가 많이 공부를 해야 할것 같네요 ㅠㅠ
      링크를 다시 첨부하오니 부디 확인해 주시면 감사하겠스비낟 ㅠㅠ

      4/20 : 네이버 블로그 (naver.com)
      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    10. [Deleted User]
      2021-04-20T09:57:58+09:00답변 등록 답변 등록 일시 2021-04-20 9:57 am

      아 추가로 중간에 3접원을 작성하여 트립 하는 부분은 경우에 따라 방향이 달라지기 때문에 꼭 리습으로 구현하지 않아도 될것 같습니다!

      지금 리습의 작업 간격 조정과 작업 후 처음 각도의 2배로 array 시키는 부분만 해결하면 될것 같습니다 ㅠㅠ 
      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    11. 수야12 Lv.21
      2021-04-20T11:08:30+09:00답변 등록 답변 등록 일시 2021-04-20 11:08 am

       CirLen 125.0  이 구문 뜻이 원의 길이를 125 미리로 나눈 값입니다 

      저 125를 변수로 정하시면 원하시는 값을 얻지 않을까요 ??
      가령 120 미리를 사용하시고 싶다 하시면 (setq div 120)인런식으로 변수를 만든후에 사용하시면 될듯합니다  (/ CirLen div) 요렇게 

      덧. 현장에서 일하다 가끔 사무실 들어오면 쳐다보는거라 빠른 피드백은 불가능합니다 ㅎㅎ;; 
      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    12. 수야12 Lv.21
      2021-04-20T13:07:32+09:00답변 등록 답변 등록 일시 2021-04-20 1:07 pm
      (defun c:ff(/ ks_Line e obj len cp rad CirLen stang p1 divLen divang div ang1)(vl-load-com)
       (defun ks_Line (p1 p2)
         (entmakex (list (cons 0 “LINE”)
                         (cons 10 p1)
                         (cons 11 p2)
                   )
         )
       )
       (setq e(car(entsel “nSelect Arc:”)))
       (setq obj(vlax-ename->vla-object e))
       (setq len(vla-get-Arclength obj))
       (setq cp(vlax-safearray->list(vlax-variant-value(vla-get-Center obj))))
       (setq rad(float(vla-get-Radius  obj)))
       (setq CirLen(* 2 pi rad))
       (setq div 150.0)
       (setq stang(vla-get-Startangle obj))
       (setq divLen(/ CirLen div))
       (setq divang(/ divLen rad))
       (setq ang1 stang)
       (repeat 4
       
         (repeat 3   
          (setq p1(polar cp ang1 rad))
          (ks_Line cp p1)
          (setq ang1(+ ang1 divang))
         )
         (setq ang1 (+ ang1 (* divang 2.0))) 
       )  
       (princ)
      ) 
      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    13. [Deleted User]
      2021-04-20T16:22:37+09:00답변 등록 답변 등록 일시 2021-04-20 4:22 pm

      제가 어디서 자료를 찾아 볼 수준도 못되는지라 자꾸 번거롭게 질문 하여 죄송합니다 ㅠㅠ  

      일단 맨 처음 알려주신 리습을 찬찬히 뜯어 보고 있었습니다


      (defun c:ff(/ ks_Line e obj len cp rad CirLen stang p1 ang ang1)(vl-load-com)    – 변수 선언

       (defun ks_Line (p1 p2)                                                             – ?
         (entmakex (list (cons 0 “LINE”)                                                 – ?
                         (cons 10 p1)                                                      – ?
                         (cons 11 p2)                                                      – ?
                   )
         )
       )
       (setq e(car(entsel “nSelect Arc:”)))                                            – 아크 선택
       (setq obj(vlax-ename->vla-object e))                                           – 선택한 아크를 obj 로지정
       (setq len(vla-get-Arclength obj))                                                 – obj의 길이를 len 로 지정
       (setq cp(vlax-safearray->list(vlax-variant-value(vla-get-Center obj))))  – 아크의 센터점을 cp로 지정
       (setq rad(float(vla-get-Radius  obj)))                                           – obj의 반지름을 rad로 지정
       (setq CirLen(* 2 pi rad))                                                           – 2πr 값을 CirLen 지정
       (setq stang(vla-get-Startangle obj))                                            – obj의 시작 각도 stang 지정
       (setq p1 (vlax-safearray->list(vlax-variant-value(vla-get-Startpoint obj)))) – obj의 시작점을 p1 으로 지정
       (setq ang(/(/ CirLen 125.0)rad))                  – CirLeng을 125로 나눈후 반지름으로 나눈 값을 ang로 지정
       (setq ang1 (+ stang ang))                                            – stang에 ang 를 더한값을 ang1으로 지정
       (repeat 4                                                                 – 아래 구문을 4회 반복
        (ks_line cp p1)                                                         – cp에서 p1으로 이어지는 선 작성
        (setq p1(polar cp ang1 rad))                                        – ?
        (setq ang1(+ ang1 ang))                                 – 기존 ang1과 ang를 더한 값을 ang1로 재지정
       )       
       (princ)
      ) 
      이렇게 이해 했습니다. 여기서 제가 궁금한것과 원래 의도 한것은 위에 배경색 지정해 놓은 부분을 선 사이각 ang 가 360/(2πr/125)로 지정하여 그 각도 만큼 회전 배열
      (위 리습에서는 P1를 ang에 지정된 값만큼 cp를 중심점으로 회전하여 선을 작성)하는 것이었습니다.

      (/(/ CirLen 125.0)rad)) 의 경우 제가 이해한 것은 r/(2πr/125) 인것으로 이해를 하였습니다. 
      헌데 이 부분을 (/ 360 (/ CirLen 125)) 로 변경 해도 제대로 적용이 되질 않더라구요 ㅠㅠ 

      360/(2πr/125) 의 값을 ang로 지정하기 위해서 lisp을 어떻게 수정 하면 좋을지 알려 주시면 감사하겠습니다 ㅠㅠ

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    14. 수야12 Lv.21
      2021-04-20T18:08:25+09:00답변 등록 답변 등록 일시 2021-04-20 6:08 pm

      나중에 집에 가서 천천히 읽어 봐야 겠네요 뭔소린지 이해가 잘 ㅎㅎ;;

      혹시 원하시는게 이런 리습 아닌신가요 ??  이 리습은 단순 블럭 나열 리습을 임시로 수정한것입니다 
      그럼 영화 신세계 대사 처럼 “이럼 나가린데….” ㅎㅎ
      아 그리고 캐드 리습은 육십분법이 아닌 호도법으로 각을 표현 합니다 360도 라면 2pi 또는 6.28319라고 써야 합니다 
      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    15. [Deleted User]
      2021-04-21T08:56:44+09:00답변 등록 답변 등록 일시 2021-04-21 8:56 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