비밀번호를 잊으셨나요?

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

계정이 있나요? 로그인

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 104337
다음
진행 중
Lv.0
등록일: 2015-06-152015-06-15T16:22:37+09:00 2015-06-15T16:22:37+09:00카테고리: AutoCAD & CADian

각도에 따른 도형배치 및 방향 이동 리습 한번 봐주세요..

전에 두번인가 질문했었는데, 아직도 결론이 나질 않아서 추가 질문드립니다.ㅠㅠ

일단 리습의 목적은

어떤 기준점에서 좌우상하 중에서 직선으로 배치된 도형을 중간에 한번꺽어서 이동시키려는 리습입니다.
기존의 리습이 있어서 기존의 리습에서 추가하려고 하는건데,
만약 우측으로 배치된 도형이 있으면 우측으로 배치한 후에 위나 아래로 한번더 꺽이게 되는데,
꺽일때 원하는 방향으로 꺽이면서 동시에 원하는 수식이 들어가야되는데, 우측으로 배치 되고,
위로 꺽일때만 원하는 값이 나오고 다른 7가지의 경우에서는 값이 안나옵니다…
(경우의 수는 총 8가지입니다.  right, top, left, bottom으로 배치가 되고,
right,left는 위아래로 꺽이고, top,bottom은 좌우로 꺽이면 총 8가지죠.)

일단 리습을 올리겠습니다.




;——— Y backy length 삼각함수 계산 —————————————————————————–;


  ;; 1. 각도변환 (radian)
  (setq rang (angle midpt1 midpt3)) ; 범위 0 ~ 360 도
-> midpt1이 배치되는 기준점이라고 보시면 되고, midpt3는 배치된 방향에서 꺽이는 점이라고 보시면
되겠습니다.


  ;; 2. 방향 별 기준 설정 ( 90, 180, 270은 degree -> radian로 변환)
  (cond
    (if (= dirt “Right”)
;     (progn
;       (if (> pceny (cadr midpt3))
;  (setq sincos (abs (- (/ (* 360 pi) 180) rang))))
;       (if (< pceny (cadr midpt3))
  (setq sincos rang))
;     )
;    ) 
    (if (= dirt “Top”)
      (setq sincos (abs (- (/ (* 90 pi) 180) rang))))
    (if (= dirt “Left”)
      (setq sincos (abs (- (/ (* 180 pi) 180) rang))))
    (if (= dirt “Bottom”)
      (setq sincos (abs (- (/ (* 270 pi) 180) rang))))
  )

;-> 사실 right는 (setq sincos rang)만 입력을 했는데, 위에 주석된 조건은 아래로 꺽일 시, 
; 의도되지 않는각(만약 아래로 20도가 꺽이면 340도가 적용됨) 나오므로 넣어준것입니다.


  ;; 3. Y backy length 계산식 -> [5*tan(θ)-1.5sin(θ)]
  (setq sin1 (sin sincos))
  (setq cos1 (abs(cos sincos)))
  (setq tan (/ sin1 cos1))
  (setq tan1 (* 0.005 tan))
  (setq sin2 (* backy sin1))
  (setq yback (abs (- tan1 sin2)))
 
;-> cos1에 절대값을 씌운이유는 left로 뽑을시에 값이 적용이 되어서 넣었습니다.
; 180을 미러로 보면 160도하고 200도가 미러인데, 값의 차이가 -부호더라구요.
;——————————————-생략—————————————————————-



  ;; 4. 배치방향으로 backy만큼 이동한다.
  (command “_MOVE” (entlast) “” 1sttip1 (polar 1sttip1 (angle midpt1 midpt3) backy))
 
  ;; 5. 꺽이는 방향 설정
   (setq moving
   (if (wcmatch (strcase dirt) “TOP,BOTTOM”)
        (list
          ((if (> pcenx (car midpt3)) – +) (car 1sttip1) yback)     ; x
          (cadr 1sttip1))                                                                    ; y
        (list
          (car 1sttip1)                                                                               ; x
               ((if (> pceny (cadr midpt3)) – +) (cadr 1sttip1) yback)   ; y
         )
      )
  )

;; 6. 꺽이는 방향으로 moving만큼 이동


  (command “_MOVE” (entlast) “” 1sttip1 moving)



 여기까지 입니다.

일단, 리습에서 4번은 원래 있던 리습인데, 4번이 각도에따라 도형이 배치되는 것이라서
제가 추가하려는건 원하는 방향중 위로 꺽이는지 아래로 꺽이는지에 따라 추가로 이동을 시키려는
리습이라 6번을 추가하게 된겁니다. 그리고 5번은 전에 질문에서 답변해주셔서 추가한것 이고요.

문제는 1,2,3번 항목입니다.
고수님들께서 보시면 잘 아시겠지만, 제가 의도하려는건
0~30도 사이의 각의 기준을 새워 이 각도만큼 다른 방향에서도 적용을 시키려고 하는건데,
예를들어 우측에 직선으로 배치된 도형을 위로 20도 만큼의 각을 주면 그에 따른 계산식(3번 리습 참고)
을 적용하는 것이고, 이것을 top방향에 대입했을때, 위로 직선으로 배치되고 좌측으로 각도가 20도 들어가면 결국 110도가 추가되는건데(top방향은 90도), 110도로 계산식에 대입하면 원하는 계산값이 안나오므로 90을 빼서 20도의 값을 적용 시키려는 겁니다.
제 생각엔 2번,3번 리습에 문제 없어보이는데, 계산식은 90도가 안빼져서 대입이됩니다.
그래서 원하는 계산값이 안나오네요…ㅠㅠ

일단 최대한 이해를 위해 많은 설명을 넣었는데, 리습에서 어디가 문제인지 확인 부탁드립니다.ㅠㅠ
그림으로 첨부해서 올리면 더 편한데, 사정상 올리지 못한 점 양해 부탁드립니다…

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

    관련 있는 질문들

    • 도서관 도면 구합니다. !
    • 캐드2022 레이어 그룹 분류시 레이어 드래그 오류
    • 전기도면 나사모양의 폴리선을 그릴수 있나요?
    • 캐드, zw캐드 와이프아웃 박스가 너무 많이 생겨요. 폴리선 박스가 중첩으로 많이 생겨요

    2 답변

    • 작성 순
    • 최신 순
    • 공감 순
    1. aalan
    2. [Deleted User]
      2015-06-15T16:31:06+09:00답변 등록 답변 등록 일시 2015-06-15 4:31 pm

      추가로 말씀드리면, pcenx와 pceny는 배치되는 도형의 기준점입니다. midpt1는 꺽이는 기준점이구요.
      midpt3는 꺽이는 각도점 입니다.

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    3. [Deleted User]
      2015-06-16T12:20:03+09:00답변 등록 답변 등록 일시 2015-06-16 12:20 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