¿£Áö´Ï¾î ±â¼úºí·Î±×
;1. 2Á¡¼±ÅÃ->Áß°£Á¡»êÃâ->2¹ø°Á¡ÀÔ·Â->Á÷¼±ÀÛ¼º...
;2. ¹Ýº¹¹®À¸·Î ±¸¼ºÇß½À´Ï´Ù.
;   (Áß°£¿¡ Space¹Ù³ª EnterÅ°¸¦ ´©¸£¸é ¹Ýº¹¹®À» ºüÁ®³ª¿É´Ï´Ù.)
;3. UrOSMODE ¸¦ ÀÚÁÖ »ç¿ëÇϽô OSMODE·Î ¹Ù²Ù½Ê½Ã¿ä.
 
(defun c:M2P ( / UrOSMODE OSMODE p0 p1 )
  (vl-load-com)
  ;;;Undo ÃʱâÈ­½ÃÀÛ
  (vla-StartUndoMark (vla-get-ActiveDocument (vlax-get-ACAD-Object)))
  ;;;Undo ÃʱâÈ­½ÃÀÛ
  ;ÇöÀç ¼³Á¤µÈ OSMODE°¡ ¾Æ´Ñ ÇöLISP¿¡¼­¸¸ »ç¿ëÇÏ´Â OSMODE·Î ¼³Á¤
  (setq UrOSMODE 319)
  ;ÇöÀç ¼³Á¤°ª OSMODE¸¦ ¹é¾÷ÇصдÙ.
  (setq OSMODE (getvar "OSMODE"))
  ;1Á¡ ÀԷ¹ÞÀ½
  (setq p0 (getpoint "nStart Point(1Á¡Áö½Ã): "))
  (if (/= p0 nil)
    (progn
      ;2Á¡ ÀԷ¹ÞÀ½
      (setq p1 (getpoint "nEnd Point(2Á¡Áö½Ã): "))
   (setvar "orthomode" 1)
      (if (/= p1 nil)
        (progn
          (setq p1 (getpoint (setq p0 (list (/ (+ (car p0) (car p1)) 2) (/ (+ (cadr p0) (cadr p1)) 2) 0.0)) "nÁ÷¼±ÀÇ Æ÷ÀÎÆ®Áö½Ã: "))
          (setvar "errno" 0)
          (while (and (/= p0 nil) (/= p1 nil) (/= (getvar "errno") 52))
            (setvar "OSMODE" 0) 
            (vla-AddLine (vla-get-ModelSpace (vla-get-ActiveDocument (vlax-get-acad-object)))
              (vlax-3d-point (trans p0 1 0)) (vlax-3d-point (trans p1 1 0)))
            (setvar "OSMODE" UrOSMODE)
            (setq p0 (getpoint "nStart Point(1Á¡Áö½Ã): "))
            (if (/= p0 nil)
              (progn
                (setq p1 (getpoint "nEnd Point(2Á¡Áö½Ã): "))
                (if (/= p1 nil)
                  (setq p1 (getpoint (setq p0 (list (/ (+ (car p0) (car p1)) 2) (/ (+ (cadr p0) (cadr p1)) 2) 0.0)) "nÁ÷¼±ÀÇ Æ÷ÀÎÆ®Áö½Ã: "))
                )
              )
            )
          ) ;;;while
        )
      ) ;;;if
    )
  ) ;;;if
  (setvar "OSMODE" OSMODE)
  ;;;Undo ÃʱâÈ­³¡
  (vla-EndUndoMark (vla-get-ActiveDocument (vlax-get-ACAD-Object)))
  ;;;Undo ÃʱâÈ­³¡
  (princ)
) ;end of defun