안녕하세요.
고캐드 회원님들 올해도 새해 복 많이 받으시길 바랍니다.
https://www.gocad.co.kr/?mid=qa_cad&document_srl=3493526&rnd=3493909
글에 이어서 질문드립니다.
참고용으로 작성 도중인 리습도 첨부드립니다. (댓글참조)
리습내용중 다른건 보는데 방해되니 중요한부분인
제일 하단 빨간색으로 굵게 칠해놓은곳에
제목과 같은 내용을 작성하면 될것으로 예상하고 있습니다.
(리습을 실행해보시면 미리보기로는 arc를 제대로 그려내고 있습니다.)
entmake로 arc 를 그리면 될것같은데 (cons 42 ?)
다른분의 리습에서 arc 를 그린걸 보니 cons 42, 10 으로 그리는것 같습니다만
예제로 보는건 수식이 너무 들어있어서 이해가 안가고 있습니다 ㅠ
arc 를 그리기 위한 중심점(p3), 시작점(ar1), 끝점(ar2) 은 구해놓았습니다.
고수님들의 힌트 부탁드리겠습니다.
감사합니다.
고캐드 회원님들 올해도 새해 복 많이 받으시길 바랍니다.
https://www.gocad.co.kr/?mid=qa_cad&document_srl=3493526&rnd=3493909
글에 이어서 질문드립니다.
참고용으로 작성 도중인 리습도 첨부드립니다. (댓글참조)
리습내용중 다른건 보는데 방해되니 중요한부분인
제일 하단 빨간색으로 굵게 칠해놓은곳에
제목과 같은 내용을 작성하면 될것으로 예상하고 있습니다.
(리습을 실행해보시면 미리보기로는 arc를 제대로 그려내고 있습니다.)
entmake로 arc 를 그리면 될것같은데 (cons 42 ?)
다른분의 리습에서 arc 를 그린걸 보니 cons 42, 10 으로 그리는것 같습니다만
예제로 보는건 수식이 너무 들어있어서 이해가 안가고 있습니다 ㅠ
arc 를 그리기 위한 중심점(p3), 시작점(ar1), 끝점(ar2) 은 구해놓았습니다.
고수님들의 힌트 부탁드리겠습니다.
감사합니다.
오… 제가 있던 문제점이 싹 없어졌습니다.
수야님 감사합니다.
만들고자 하는것에 대략 준비작업이 다되어가고 있네요!
이제 저 라운드를 반대편으로 그리는걸 만들고…
리맥님 소스처럼 실시간으로 간격 벌리기, 라운드 변경 같은것만 구현하면..
구상하던것의 한 50% 정도 완료 될거같네요. ㅜ
이젠 반대편 중심점 구하는데 삽질을 해야겠습니다.
폴리라인으로 호(돌출)을 표현하려면 방향성이 있습니다
(setq at1 (angle p3 ar1))
(while (>= at1 (* pi 0.5))
(setq at1 (- at1 (* pi 0.5)))
)
(setq at2 (angle p3 ar2))
(while (>= at2 (* pi 0.5))
(setq at2 (- at2 (* pi 0.5)))
)
(setq arr (+ (/ (+ at1 at2) 2.0) (angle p3 ar1))
ar3 (polar p3 arr off)
ocs (trans ‘(0.0 0.0 1.0) 1 0 t)
)
위 댓글의 굵은글씨부
사이 각도 계산을 이렇게 구하니 정상작동하는듯 하나…..
일부 위치에서 또 돌아가네요..
두 직선사이의 절반의 각도를 구하는게 단순해보이는데 어렵네요;
삽질하다보니 뭔가 된거같은데 우측 상단만 반대로 꺽이는 현상발생..
ar3 포인트 각도계산을 잘못한거 같습니다.
; 실제 그리기 작업
(setq arr (+ (/ (- (angle p3 ar2) (angle p3 ar1)) 2.0) (angle p3 ar1))
ar3 (polar p3 arr off)
ocs (trans ‘(0.0 0.0 1.0) 1 0 t)
)
(entmake
(list
‘(000 . “LWPOLYLINE”)
‘(100 . “AcDbEntity”)
‘(100 . “AcDbPolyline”)
‘(090 . 40)
‘(070 . 0)
(cons 010 (trans p1 1 ocs))
(cons 038 (caddr (trans ar1 1 ocs)))
(cons 010 (trans ar1 1 ocs))
(cons 042 (LM:3p->bulge ar1 ar3 ar2))
(cons 010 (trans ar2 1 ocs))
(cons 210 ocs)
)
http://www.lee-mac.com/3pointarccircle.html
참고해서 하는데도 이상하게 그려지네요 ㅠ
아 이렇게 그려지는거군요..?
cons 10 시작점
cons 42 각도
cons 10 끝점
이려나요?
아니군요. 이상하게 그려지네요..ㅋㅋ
참고한 수식은 (cons 042 (/ (sin (/ an2 2.0)) (cos (/ an2 2.0))))…
심지어 열린 객체가 아니라 닫혀버린 폴리선으로 그려져 버리네요. (cons 70 0 으로.. 해결)