; MLINE.LSP : ´ÙÁß¼± ±×¸®´Â ÇÁ·Î±×·¥ ; ÀÛ¼ºÀÏ : 1994. 2. 1. ; ÀÛ¼ºÀÚ : ÃÖ¹®¼± ; Àü¿ª º¯¼ö ; *COPY* : ±×·ÁÁú ¼±ÀÇ °³¼ö (setq *COPY* 2) ; *OFF* : ±×·ÁÁú ¼±µé°£ÀÇ °£°Ý (setq *OFF* 1.0) ; Àü¿ª º¯¼ö *COPY*ÀÇ °ªÀ» º¯°æÇÑ´Ù. (defun C:SETCOPY ( / cpy) (setq cpy (getint (strcat "\nNew COPY value <" (itoa *COPY*) ">: "))) (if cpy (setq *COPY* cpy)) (princ) ) ; Àü¿ª º¯¼ö *OFF*ÀÇ °ªÀ» º¯°æÇÑ´Ù. (defun C:SETOFF ( / off) (setq off (getdist (strcat "\nNew OFFSET value <" (rtos *OFF*) ">: "))) (if off (setq *OFF* off)) (princ) ) ; ÁöÁ¤ÇÑ µÎÁ¡À» Áö³ª´Â ¼±À» ; OFF °Å¸®¸¸Å­ ¿É¼ÂÇÑ ¼±À» ±×¸°´Ù. (defun draw-oline (sp ep off / ang) (setq ang (+ (angle sp ep) (/ PI 2.0))) (command "LINE" (polar sp ang off) (polar ep ang off) "" ) ) ; ÁöÁ¤ÇÑ µÎÁ¡À» Áö³ª´Â ¼±À» ÁöÁ¤ÇÑ ; °£°ÝÀ¸·Î ÁöÁ¤ÇÑ È¸¼ö¸¸Å­ ±×¸°´Ù. (defun draw-mline (sp ep num off) (if (<= 2 num) (progn (draw-oline sp ep off) (draw-oline sp ep (- off)) (draw-mline sp ep (- num 2) (+ off *OFF*)) ) ) ) ; ½ÃÀÛÁ¡°ú ³¡Á¡À» ÀԷ¹޴´Ù. ; ÁöÁ¤ÇÑ °³¼ö°¡ Ȧ¼öÀ̸é Áß°£¼±À» ±×¸°´Ù. (defun C:MLINE ( / sp ep) (initget 1) (setq sp (getpoint "\nFrom point: ")) (initget 1) (setq ep (getpoint sp "\nTo point: ")) (draw-mline sp ep *COPY* *OFF*) (if (/= (rem *COPY* 2) 0) (command "LINE" sp ep "")) (princ) )