(defun c:spring3()
  (SETQ LY (GETVAR "CLAYER"))
  (SETQ OD (GETREAL"\nINPUT OUT DIA:"))
  (SETQ D (GETREAL"\nCIRCLE OF DIA:"))
  (SETQ P1 (GETPOINT"\nWHERE YOU PUT:"))
  (SETQ P2 (GETPOINT P1"\nHOW LONGER:"))
  (SETQ L (DISTANCE P1 P2))
  (SETQ AG1 (ANGLE P1 P2))
  (SETQ AG2 (* PI  0.5))
  (SETQ RD (/ D 2.0))
  (SETQ DR1 (POLAR P1 AG1 RD))
  (SETQ DR2 (POLAR DR1 AG1 (* D 1.4)))
  (SETQ DR3 (POLAR DR2 AG1 (* D 1.8)))
  (SETQ H1 (POLAR P2 AG1 (- (/ D 2.0))))
  (SETQ DR4 (POLAR H1 AG1 (- RD)))
  (SETQ DR5 (POLAR DR4 AG1 (- (* D 1.8))))
  (SETQ DR6 (POLAR DR5 AG1 (- (* D 1.8))))
  (SETQ DR71 (POLAR P2 (DTR 90) RD))
  (SETQ DR72 (POLAR P2 (DTR (* 90 -1)) RD))
  (SETQ H2 (POLAR P1 (- AG1 (DTR 90)) OD))
  (SETQ DR7 (POLAR H2 AG1 D))
  (SETQ DR73 (POLAR H2 (DTR 90) RD))
  (SETQ DR74 (POLAR H2 (DTR (* 90 -1)) RD))
  (SETQ DR8 (POLAR DR7 AG1 (* D 1.8)))
  (SETQ DR9 (POLAR DR8 AG1 (* D 1.8)))
  (SETQ DR10 (POLAR H1 (- AG1 (DTR 90)) OD))
  (SETQ DR11 (POLAR DR10 AG1 (- (* D 1.4))))
  (SETQ DR12 (POLAR DR11 AG1 (- (* D 1.8))))
  (SETQ DR13 (POLAR DR1 AG1 (- (/ D 2.0))))
  (SETQ DR14 (POLAR DR1 AG1 RD))
  (SETQ DR15 (POLAR DR2 AG1 (- (/ D 2.0))))
  (SETQ DR16 (POLAR DR2 AG1 RD))
  (SETQ DR17 (POLAR DR3 AG1 (- (/ D 2.0))))
  (SETQ DR18 (POLAR DR3 AG1 RD))
  (SETQ DR19 (POLAR DR4 AG1 (- (/ D 2.0))))
  (SETQ DR20 (POLAR DR4 AG1 RD))
  (SETQ DR21 (POLAR DR5 AG1 (- (/ D 2.0))))
  (SETQ DR22 (POLAR DR5 AG1 RD))
  (SETQ DR23 (POLAR DR6 AG1 (- (/ D 2.0))))
  (SETQ DR24 (POLAR DR6 AG1 RD))
  (SETQ DR25 (POLAR DR7 AG1 (- (/ D 2.0))))
  (SETQ DR26 (POLAR DR7 AG1 RD))
  (SETQ DR27 (POLAR DR8 AG1 (- (/ D 2.0))))
  (SETQ DR28 (POLAR DR8 AG1 RD))
  (SETQ DR29 (POLAR DR9 AG1 (- (/ D 2.0))))
  (SETQ DR30 (POLAR DR9 AG1 RD))
  (SETQ DR31 (POLAR DR10 AG1 (- (/ D 2.0))))
  (SETQ DR32 (POLAR DR10 AG1 RD))
  (SETQ DR33 (POLAR DR11 AG1 (- (/ D 2.0))))
  (SETQ DR34 (POLAR DR11 AG1 RD))
  (SETQ DR35 (POLAR DR12 AG1 (- (/ D 2.0))))
  (SETQ DR36 (POLAR DR12 AG1 RD))
  (SETQ UC1 (POLAR DR13 AG1 (- 1)))
  (SETQ UC2 (POLAR P2 AG1 (+ 1)))
  (SETQ DC1 (POLAR H2 AG1 (- 1)))
  (SETQ DC2 (POLAR DR10 AG1 (+ RD 1)))
  (SETQ DR37 (POLAR DR3 (DTR 90) RD))
  (SETQ DR38 (POLAR DR3 (DTR (* 90 -1)) RD))
  (SETQ DR39 (POLAR DR6 (DTR 90) RD))
  (SETQ DR40 (POLAR DR6 (DTR (* 90 -1)) RD))
  (SETQ DR41 (POLAR DR9 (DTR 90) RD))
  (SETQ DR42 (POLAR DR9 (DTR (* 90 -1)) RD))
  (SETQ DR43 (POLAR DR12 (DTR 90) RD))
  (SETQ DR44 (POLAR DR12 (DTR (* 90 -1)) RD))
  (SETQ AG3 (ANGLE DR7 DR1))
  (SETQ DR45 (POLAR DR1 AG3 (+ RD 1)))
  (SETQ DR46 (POLAR DR7 AG3 (* (+ RD 1) -1)))
  (SETQ DR47 (POLAR DR2 AG3 (+ RD 1)))
  (SETQ DR48 (POLAR DR8 AG3 (* (+ RD 1) -1)))
  (SETQ DR49 (POLAR DR3 AG3 (+ RD 1)))
  (SETQ DR50 (POLAR DR9 AG3 (* (+ RD 1) -1)))
  (SETQ DR51 (POLAR DR4 AG3 (+ RD 1)))
  (SETQ DR52 (POLAR DR10 AG3 (* (+ RD 1) -1)))
  (SETQ DR53 (POLAR DR5 AG3 (+ RD 1)))
  (SETQ DR54 (POLAR DR11 AG3 (* (+ RD 1) -1)))
  (SETQ DR55 (POLAR DR6 AG3 (+ RD 1)))
  (SETQ DR56 (POLAR DR12 AG3 (* (+ RD 1) -1)))
  (COMMAND "CIRCLE" DR1 RD)
  (COMMAND "CIRCLE" DR2 RD)
  (COMMAND "CIRCLE" DR3 RD)
  (COMMAND "ARC" DR71 "E" DR72 "R" RD)
  (COMMAND "ARC" DR74 "E" DR73 "R" RD)
  (COMMAND "CIRCLE" DR4 RD)
  (COMMAND "CIRCLE" DR5 RD)
  (COMMAND "CIRCLE" DR6 RD)
  (COMMAND "CIRCLE" DR7 RD)
  (COMMAND "CIRCLE" DR8 RD)
  (COMMAND "CIRCLE" DR9 RD)
  (COMMAND "CIRCLE" DR10 RD)
  (COMMAND "CIRCLE" DR11 RD)
  (COMMAND "CIRCLE" DR12 RD)
  (COMMAND "LINE" DR13 DR74 "")
  (COMMAND "LINE" DR13 DR25 "")
  (COMMAND "LINE" DR14 DR26 "")
  (COMMAND "LINE" DR15 DR27 "")
  (COMMAND "LINE" DR16 DR28 "")
  (COMMAND "LINE" DR17 DR29 "")
  (COMMAND "LINE" DR18 DR30 "")
  (COMMAND "LINE" DR23 DR35 "")
  (COMMAND "LINE" DR24 DR36 "")
  (COMMAND "LINE" DR21 DR33 "")
  (COMMAND "LINE" DR22 DR34 "")
  (COMMAND "LINE" DR19 DR31 "")
  (COMMAND "LINE" DR20 DR32 "")
  (COMMAND "LINE" DR71 DR32 "")
  (COMMAND "LAYER" "S" "CEN" "")
  (COMMAND "LINE" UC1 UC2 "")
  (COMMAND "LINE" DC1 DC2 "")
  (COMMAND "LINE" DR37 DR39 "")
  (COMMAND "LINE" DR38 DR40 "")
  (COMMAND "LINE" DR41 DR42 "")
  (COMMAND "LINE" DR42 DR44 "")
  (COMMAND "LINE" DR45 DR46 "")
  (COMMAND "LINE" DR47 DR48 "")
  (COMMAND "LINE" DR49 DR50 "")
  (COMMAND "LINE" DR51 DR52 "")
  (COMMAND "LINE" DR53 DR54 "")
  (COMMAND "LINE" DR55 DR56 "")
  (COMMAND "LAYER" "S" LY "")
)
