;호길이 회전
(defun c:ad ()
(defun c:ad ()
(defun getIntExt (msg /)
(fix (getreal (strcat msg)))
)
(princ “n기준 원 객체 선택:”)
(if (setq ss (ssget “:S”(list (cons 0 “CIRCLE”))))
(progn
(setq doc (vla-get-activedocument (vlax-get-acad-object)))
(vla-startundomark doc)
(fix (getreal (strcat msg)))
)
(princ “n기준 원 객체 선택:”)
(if (setq ss (ssget “:S”(list (cons 0 “CIRCLE”))))
(progn
(setq doc (vla-get-activedocument (vlax-get-acad-object)))
(vla-startundomark doc)
(setq e (ssname ss 0))
(setq obj (vlax-ename->vla-object e))
(setq cdi (vlax-get obj ‘Circumference))
(setq b (vlax-get obj ‘Center))
(setq obj (vlax-ename->vla-object e))
(setq cdi (vlax-get obj ‘Circumference))
(setq b (vlax-get obj ‘Center))
(setq a (ai_entsnap “n회전할 객체 선택:” nil))
(setq ang (getIntExt “n회전할 호길이 입력: “))
(setq c (* (/ ang cdi) 360.0))
(command “osmode” “0”)
(command “rotate” a “” b “c” c)
;(command “osmode” “113”)
(vla-endundomark doc)
)
)
)
호 길이는 사실상 별로 사용하지 않는데
최근에 필요하게 되어서 그리는 방법을 찾다보니
원을 끊어 호로 만든것 같은것만
캐드 ‘Len’ 명령어로 합계값 을 지정해서 그리는 방법밖에 없더군요?
한원에 대해서 연속으로 제각기 다른 호길이의 포인트를 구할일이 생기다보니
급조해서 만들어보았어요.
(미숙한 리습)
혹시나 검색하다 필요하신분이 계실까봐 등록!
* 설마 캐드 일반명령어 중에 다른 명령어로 쉽게 그리는게 있거나 하진 않겠죠???(머슥)
(setq ang (getIntExt “n회전할 호길이 입력: “))
(setq c (* (/ ang cdi) 360.0))
(command “osmode” “0”)
(command “rotate” a “” b “c” c)
;(command “osmode” “113”)
(vla-endundomark doc)
)
)
)
호 길이는 사실상 별로 사용하지 않는데
최근에 필요하게 되어서 그리는 방법을 찾다보니
원을 끊어 호로 만든것 같은것만
캐드 ‘Len’ 명령어로 합계값 을 지정해서 그리는 방법밖에 없더군요?
한원에 대해서 연속으로 제각기 다른 호길이의 포인트를 구할일이 생기다보니
급조해서 만들어보았어요.
(미숙한 리습)
혹시나 검색하다 필요하신분이 계실까봐 등록!
* 설마 캐드 일반명령어 중에 다른 명령어로 쉽게 그리는게 있거나 하진 않겠죠???(머슥)
수고하셨습니다 ~!!