;;======================================================
;  ¼±ÅÃÇÑ ´ë»óÀ»
; copyÇÏ¿© rotateÇÏ°í ÇÊ¿äÇϸé mirror±îÁö Çѹø¿¡ ÇÒ ¼ö ÀÖÀ½.
;;------------------------------------------------------
(defun c:crt(/ myerror cdw os ss pt1)
   ;start --- Internal error handler ----------
    (defun myerror(S)
    (if (/= s "Function cancelled")(princ (strcat "nError:" s)))
    (setvar "orthomode" cdw)
    (command "undo" 1)
    (setvar "osmode" os)
    (setq *error* olderr)(princ) )
    (setq olderr *error* *error* myerror)
   ;end----------------------------------------
   (setq cdw (getvar "orthomode") os (getvar "osmode"))
   (prompt "...COPY ROTATE PROGRAM")
   (setvar "cmdecho" 0)
   (setvar "orthomode" 1)
   (setvar "osmode" 0)
   (prompt "nSelect copy object->")
   (setq ss (ssget))
   (setq pt1 (getpoint "nCopy first base point & Rotate base point->"))
   (princ "nRotate second point & angle->")
   (command "copy" ss "" pt1 pt1)
   (command "rotate" ss "" pt1 pause)
   (setvar "orthomode" 0)
   (setvar "osmode" 512)
   (prompt "nSecond point-> nea of")
   (command "move" ss "" pt1 pause)
   (setvar "orthomode" 1)
   (setq pt2 (getvar "lastpoint"))
   (setq pt3 (getpoint pt2 "nSecond point of mirror line->"))
   (if (/= pt3 nil) (command "mirror" ss "" pt2 pt3 "y"))
   (setvar "orthomode" cdw)
   (setvar "osmode" os)
   (command "redraw")
   (prin1)
)