;;;************************************************ ;;; GAPLINE.LSP ;;; line drawing routine which puts a ;;; specified length gap at each end of ;;; a line (defun gapline ( / gap p1 p2 p3 p4 ang osm msg #SC) ;--------------------set up------------- (setq gap nil) (setvar "CMDECHO" 0) (setq osm (getvar "OSMODE") #SC (getvar "dimscale")) (setvar "OSMODE" 0) (if (not #gapdef) (setq msg (strcat "\n Enter distance for gap at each end of line <" (if (/= #ms 1.0) (rtos (* #SC #ms 0.0625) 2 2) (rtos (* #SC #ms 0.0625) 4 3) );if ">: " );strcat #gapdef (* #SC #ms 0.0625) );setq (setq msg (strcat "\n Enter distance for gap at each end of line <" (if (= #ms 25.4) (rtos #gapdef 2 2) (rtos #gapdef 4 3) );if ">: " );strcat );setq );if ;--------------------main--------------- (prompt msg) (initget 2) (setq gap (getdist)) (if (not gap) (setq gap #gapdef)) (setq p1 (getpoint "\n Pick first point for line origin: ")) (setq p2 (getpoint p1 "\n Pick point for other end of line: ")) (setq ang (angle p1 p2)) (setq p3 (polar p1 ang gap) p4 (polar p2 (+ ang (dtr 180)) gap) );setq (command "LINE" p3 p4 "" );command ;--------------------clean up----------- (setq #gapdef gap) (setvar "OSMODE" osm) (princ) )