(defun c:longcir ()
(setq l (getdist "get long circle lenght = "))
(setq w (getdist "get drill hole = "))
(setq ang (getangle "input angle ="))
(setq ip (getpoint "input point : "))
(setq i1 (polar ip (- ang (/ pi 2)) (/ w 2)))
(setq i5 (polar ip (+ ang (/ pi 2)) (/ w 2)))
(setq i3 (polar ip ang (+ l (/ w 2))))
(setq i6 (polar ip (+ ang pi ) (/ w 2)))
(setq i4 (polar i5 ang l ))
(setq i2 (polar i1 ang l ))
(setq i11 (polar i1 (- ang (/ pi 2)) (* 1 (getvar "dimscale"))))
(setq i21 (polar i2 (- ang (/ pi 2)) (* 1 (getvar "dimscale"))))
(setq i41 (polar i4 (+ ang (/ pi 2)) (* 1 (getvar "dimscale"))))
(setq i51 (polar i5 (+ ang (/ pi 2)) (* 1 (getvar "dimscale"))))
(setq i31 (polar i3 ang (* 1 (getvar "dimscale"))))
(setq i61 (polar i6 (+ ang pi) (* 1 (getvar "dimscale"))))
(setq lay (getvar "clayer"))
(command "line" i1 i2 "")
(command "line" i4 i5 "")
(command "arc" i2 i3 i4 )
(command "arc" i5 i6 i1 )
(command "layer" "s" "6" "")
(command "line" i61 i31 "")
(command "line" i21 i41 "")
(command "line" i11 i51 "")
(command "layer" "s" lay "")
(princ)
)