(defun c:sltap()
(setq F (getvar "blipmode")) (setvar "blipmode" 0)
(setq p (getpoint "Insert point:"))
(setq D (getint "\n Enter screw size [4] [6] [8] [10] [12] [16]:"))
(setq L (getint "Enter screw length:"))
(setq L1 (+ L 3))
(setq A (getreal "Enter sltap angle:"))
(setq B (* pi (/ A 180)))
(if (= D 4)
 (progn
  (setq D1 3.2)))
(if (= D 6)
 (progn
  (setq D1 5)))
(if (= D 8)
 (progn
  (setq D1 6.6)))
(if (= D 10)
 (progn
  (setq D1 8.4)))
(if (= D 12)
 (progn
  (setq D1 10)))
(if (= D 16)
 (progn
  (setq D1 13.8)))
(setq p1 (polar p B L))
(setq p2 (polar p B L1))
(setq p3 (polar p2 B (* D1 0.2886751)))
(setq p4 (polar p (+ B (/ pi 2)) (/ D1 2.0)))
(setq p5 (polar p (- B (/ pi 2)) (/ D1 2.0)))
(setq p6 (polar p (+ B (/ pi 2)) (/ D 2.0)))
(setq p7 (polar p (- B (/ pi 2)) (/ D 2.0)))
(setq p8 (polar p1 (+ B (/ pi 2)) (/ D1 2.0)))
(setq p9 (polar p1 (- B (/ pi 2)) (/ D1 2.0)))
(setq p10 (polar p1 (+ B (/ pi 2)) (/ D 2.0)))
(setq p11 (polar p1 (- B (/ pi 2)) (/ D 2.0)))
(setq p12 (polar p2 (+ B (/ pi 2)) (/ D1 2.0)))
(setq p13 (polar p2 (- B (/ pi 2)) (/ D1 2.0)))
(command "line" p6 p10 p11 p7 "")
(command "line" p4 p12 p13 p5 "")
(command "line" p12 p3 p13 "")
(command "line" p12 p13 "")
(setvar "blipmode" F))
