 (defun c:slv()
;(IF (= (TYPE F1) 'FILE ) "YES"  (STOP))
;(IF (= (TYPE F2) 'FILE ) "YES" (STOP))

 (defun setup()
   (setq ch (getstring "\n D(3)D(4)D(5)D(6)D(8)D(10)D(12) ?"))

   (setq L (getreal "\n How about the SLV longer ?"))

   (setq base (getpoint "\n Where will you put on the SLV ?"))
   (setq x1 (eval (car base)))
   (setq y1 (eval (cadr base)))
(trace slv)
   (setvar "cmdecho" 1)
   (while (or (eq ch "3") (eq ch "D3") (eq ch "d3")) (D3))
   (while (or (eq ch "4") (eq ch "D4") (eq ch "d4")) (D4))
   (while (or (eq ch "5") (eq ch "D5") (eq ch "d5")) (D5))
   (while (or (eq ch "6") (eq ch "D6") (eq ch "d6")) (D6))
   (while (or (eq ch "8") (eq ch "D8") (eq ch "d8")) (D8))
   (while (or (eq ch "10") (eq ch "D10") (eq ch "d10")) (D10))
   (while (or (eq ch "12") (eq ch "D12") (eq ch "d12")) (D12))
   (setup)
 )

 (defun D3()
   (setq d 3)
   (setq c 6)
   (setq b 10)
   (setq h 6)
   (setup1)
 )

 (defun D4()
   (setq d 4)
   (setq c 7)
   (setq b 11)
   (setq h 6)
   (setup1)
 )

 (defun D5()
   (setq d 5)
   (setq c 8)
   (setq b 13)
   (setq h 8)
   (setup1)
 )

 (defun D6()
   (setq d 6)
   (setq c 10)
   (setq b 15)
   (setq h 8)
   (setup1)
 )

 (defun D8()
   (setq d 8)
   (setq c 12)
   (setq b 17)
   (setq h 8)
   (setup1)
 )

 (defun D10()
   (setq d 10)
   (setq c 14)
   (setq b 19)
   (setq h 8)
   (setup1)
 )

 (defun D12()
   (setq d 12)
   (setq c 17)
   (setq b 22)
   (setq h 8)
   (setup1)
 )

(defun setup1()
   (setq cf 1)
   (if (< l 0) (setq b (* -1 b)))
   (if (< l 0) (setq c (* -1 c)))
   (if (< l 0) (setq d (* -1 d)))
   (if (< l 0) (setq h (* -1 h)))
   (if (< l 0) (setq cf (* -1 cf)))
   (setq b1 (/ b 2))
   (setq c1 (/ c 2))
   (setq d1 (/ d 2))
   (setq e (+ d1 cf))

   (setq p1 (list (+ x1 b1) y1))
   (setq p2 (list (+ x1 b1) (+ y1 h)))
   (setq p3 (list (+ x1 c1) (+ y1 h)))
   (setq p4 (list (+ x1 c1) (+ y1 l)))
   (setq p5 (list (+ x1 d1) (+ y1 l)))
   (setq p6 (list (+ x1 d1) (+ y1 cf)))
   (setq p7 (list (+ x1 e) y1))
   (command "pline" p1 p2 p3 p4 p5 p6 p7 p1 "")

   (setq p10 (list (- x1 b1) y1))
   (setq p11 (list (- x1 e) y1))
   (setq p12 (list (- x1 d1) (+ y1 cf)))
   (setq p13 (list (- x1 d1) (+ y1 l)))
   (setq p14 (list (- x1 c1) (+ y1 l)))
   (setq p15 (list (- x1 c1) (+ y1 h)))
   (setq p16 (list (- x1 b1) (+ y1 h)))
   (command "pline" p10 p11 p12 p13 p14 p15 p16 p10 "")
   (command "linetype" "s" "hidden" "")
   (command "line" p1 p10 "")
   (command "line" p4 p14 "")
   (command "line" p6 p12 "")
   (command "linetype" "s" "continuous" "")
   (setup)
 )
   (setup)
 )
