객체스냅에서 근처점에 체크 해 놓으면 문제가 없는데, 체크해제 놓고 작업하면 회전시 일부 라인이 그림과 같이 됩니다.
(defun c:rc(/ bas ent ang)
(graphscr)
(setvar “cmdecho” 0)
(setq ent (ssget))
(command “copy” ent “” “0,0” “0,0”)
(setq bas (getpoint “nPick base point :”))
(setq ang (getangle “nEnter rotation angle :” bas))
(command “rotate” ent “” bas (rtd ang))
(redraw)
(PRINC)
)
공유
osnap 설정값으로 인해 오류가 날 수도 있습니다…
(defun c:rc(/ bas ent ang)
(graphscr)
(setvar “cmdecho” 0)
(setq ent (ssget))
(setvar “osmode” 0) ;; osnap mode 설정으로 인한 오류 방지
(command “copy” ent “” “0,0” “0,0”)
(setvar “osmode” 2) ;; osnap을 mid 로 설정
(setq bas (getpoint “nPick base point :”))
(setvar “osmode” 0) ;; osnap 해제
(setq ang (getangle “nEnter rotation angle :” bas))
(command “rotate” ent “” bas (rtd ang))
(redraw)
(PRINC)
)
친절한 답글 감사드립니다. 덕분에 리습에 대해 조금이나마 알게되었네요. 님이 올려주신 글을 참고하여 osmode라는 것을 이용하여 오스냅의 처음 제가 설정해 놓은 상태에서 리습으로 근처점만 추가하여 회전하고, 다시 원래상태로 되돌려서 문제를 해결했습니다. 참고자료 감사드립니다. ^^ 고수시네요…