(defun C:mak (/ r1 p1 p2 ang temp1 temp2 dist1 temp cen r x3 y3)
     (setvar "cmdecho" 0)
     (MENUCMD "S=MAK")
     (setq p1 (getpoint "\nEeter the point (line from) :"))
     (setq p2 (getpoint p1 "\nEeter the point (line to ) :"))
     (setq ang (angle p1 p2))
     (setq r 4.5)
     (setq r1 (/ r 2))
     (setq temp1 (polar p1 (+ (dtr 45) ang) r1))
     (setq temp2 (polar p1 (+ (dtr 225) ang) r1))
     (setq dist1 (distance p1 p2))
     (setq dist1 (+ dist1 r))
     (id p1 p2 dist1) (setq cen (list x3 y3))
     (setq temp1 (getvar "useri1"))
     (if (= 0 temp1) (setq temp1 1)
     (setq temp1 (+ temp1 1)))
     (setq temp1 (rtos temp1 2 0))
     (setq temp (getstring (strcat "\nEnter the text <" temp1 ">:")))
     (if (= temp "") (progn
                            (setq temp temp1)
                            (setq temp1 (atoi temp))
                            (command "setvar" "useri1" temp1)))
     (command "doughnut" 0.5 1.5 p1 "")
     (command "line" p1 p2 "")
     (command "circle" cen r)
     (command "text" "m" cen (* (/ r 4)  3) 0 temp)
    (setvar "cmdecho" 1)
)

(defun id ( p1 p2 d /  )
        (setq x3 (+ (car p1) (/ (* (- (car p2) (car p1)) d) (distance p1 p2))))
        (setq y3 (+ (cadr p1) (/ (* (- (cadr p2) (cadr p1)) d) (distance p1 p2))))
)

(defun dtr (d)
   (* pi (/ d 180.))
)
