This is a little off the subject, but I have quit using the leader command, and use my own polyline leader that I place first, followed up with dtext afterwards.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;; Polyline Leader Routine ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; UPOINT Function ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;unknown author
(defun ARCH:UPOINT (bit kwd msg def bpt / inp)
(setvar "CMDECHO" 0)
(if def
(setq pts (strcat (rtos (car def))
","
(rtos (cadr def))
(if (and (caddr def) (= 0 (getvar "FLATLAND")))
(strcat "," (rtos (caddr def)))
""))
msg (strcat "\n" msg " <" pts ">: ")
bit (* 2 (fix (/ bit 2))))
(setq msg (strcat "\n" msg " ")))
(initget bit kwd)
(setq inp (if bpt
(getpoint msg bpt)
(getpoint msg)))
(if inp
inp
def))
(defun ARCH:UPOINTX (bit kwd msg def bpt / inp)
(setvar "CMDECHO" 0)
(if def
(setq pts (strcat (rtos (car def))
","
(rtos (cadr def))
(if (and (caddr def) (= 0 (getvar "FLATLAND")))
(strcat "," (rtos (caddr def)))
""))
msg (strcat "\n" msg " <" pts ">: ")
bit (* 2 (fix (/ bit 2))))
(setq msg (strcat "\n" msg " ")))
(initget bit kwd)
(setq inp (if bpt
(getpoint msg bpt)
(getpoint msg)))
(setvar "osmode" 1)
(if inp
inp
def))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun LDR-IT (/ tmp)
(setvar "CMDECHO" 0)
(prompt "\n* Enter for default Leader w/ 3 picks *")
(initget "2 3 4 C X")
(setq tmp
(getkword
"\n* Pick Arrow Poly Leader type: <2> Picks <3> Picks <4> Picks <X> Xpoly *"))
(cond ((= tmp "2") (LDR2IT))
((or (= tmp "3") (= tmp nil)) (LDR3IT))
((= tmp "4") (LDR4IT))
((= tmp "X") (LDRXIT)))
(princ))
;;;
(defun LDR2IT (/ pt1 pt2 pt3)
(ARCH:F_S-VAR)
(setvar "CMDECHO" 0)
;;(ARCH:CUSTOM_LAYERS-ANNO)
(setvar "orthomode" 0)
(setvar "osmode" 0)
(setq pt1 (ARCH:UPOINTX 1 "" "* Pick arrow head start point *" nil nil)
pt2 (ARCH:UPOINTX 1 "" "* To point *" nil pt1)
pt3 (polar pt1 (angle pt1 pt2) (* 0.2 (getvar "DIMSCALE"))) ;0.125
)
(setvar "osmode" 0)
(ARCH:CUSTOM_LAYERS-ANNO-LDR)
(command
"PLINE"
pt1
"W"
"0"
(* 0.065 (getvar "DIMSCALE")) ;0.0417
pt3
"W"
"0"
"0"
pt2)
(command "")
;;(command "change" "l" "" "p" "c" "1" "")
(ARCH:F_R-VAR))
;;;
(defun LDR3IT (/ pt1 pt2 pt3)
(ARCH:F_S-VAR)
(setvar "CMDECHO" 0)
;;(ARCH:CUSTOM_LAYERS-ANNO)
(setvar "orthomode" 0)
(setvar "osmode" 0)
(setq pt1 (ARCH:UPOINT 1 "" "* Pick arrow head start point *" nil nil)
pt2 (ARCH:UPOINT 1 "" "* To point *" nil pt1)
pt3 (polar pt1 (angle pt1 pt2) (* 0.2 (getvar "DIMSCALE"))) ;0.125
)
(setvar "orthomode" 1)
(ARCH:CUSTOM_LAYERS-ANNO-LDR)
(command
"PLINE"
pt1
"W"
"0"
(* 0.065 (getvar "DIMSCALE")) ;0.0417
pt3
"W"
"0"
"0"
pt2)
;;(while (setq pt2 (getpoint "\n* To point *" pt2)) (command pt2))
(setq pt2 (getpoint "\n* To point *" pt2))
(command pt2)
(command "")
;;(command "change" "l" "" "p" "c" "1" "")
(ARCH:F_R-VAR))
;;;
(defun LDR4IT (/ pt1 pt2 pt3)
(ARCH:F_S-VAR)
(setvar "CMDECHO" 0)
;;(ARCH:CUSTOM_LAYERS-ANNO)
(setvar "orthomode" 0)
(setvar "osmode" 0)
(setq pt1 (ARCH:UPOINT 1 "" "* Pick arrow head start point *" nil nil)
pt2 (ARCH:UPOINT 1 "" "* To point *" nil pt1)
pt3 (polar pt1 (angle pt1 pt2) (* 0.2 (getvar "DIMSCALE"))) ;0.125
)
(setvar "orthomode" 0)
(ARCH:CUSTOM_LAYERS-ANNO-LDR)
(command
"PLINE"
pt1
"W"
"0"
(* 0.065 (getvar "DIMSCALE")) ;0.0417
pt3
"W"
"0"
"0"
pt2)
;;(while (setq pt2 (getpoint "\n* To point *" pt2)) (command pt2))
(setq pt2 (getpoint "\n* To point *" pt2))
(command pt2)
(setvar "orthomode" 1)
(setq pt2 (getpoint "\n* To point *" pt2))
(command pt2)
(command "")
;;(command "change" "l" "" "p" "c" "1" "")
(ARCH:F_R-VAR))
;;;
(defun LDR5IT (/ pt1 pt2 pt3)
(ARCH:F_S-VAR)
(setvar "CMDECHO" 0)
;;(ARCH:CUSTOM_LAYERS-ANNO)
(setvar "orthomode" 0)
(setvar "osmode" 0)
(setq pt1 (ARCH:UPOINT 1 "" "* Pick arrow head start point *" nil nil)
pt2 (ARCH:UPOINT 1 "" "* To point *" nil pt1)
pt3 (polar pt1 (angle pt1 pt2) (* 0.2 (getvar "DIMSCALE"))) ;0.125
)
(setvar "orthomode" 0)
(ARCH:CUSTOM_LAYERS-ANNO-LDR)
(command
"PLINE"
pt1
"W"
"0"
(* 0.065 (getvar "DIMSCALE")) ;0.0417
pt3
"W"
"0"
"0"
pt2)
;;(while (setq pt2 (getpoint "\n* To point *" pt2)) (command pt2))
(setq pt2 (getpoint "\n* To point *" pt2))
(command pt2)
(setq pt2 (getpoint "\n* To point *" pt2))
(command pt2)
(setvar "orthomode" 1)
(setq pt2 (getpoint "\n* To point *" pt2))
(command pt2)
(command "")
;;(command "change" "l" "" "p" "c" "1" "")
(ARCH:F_R-VAR))
;;;
(defun LDRCIT (/ pt1 pt2 pt3)
(ARCH:F_S-VAR)
(setvar "CMDECHO" 0)
;;(ARCH:CUSTOM_LAYERS-ANNO)
;;(setq tempsnap (getvar "osmode"))
(setvar "osmode" 0)
(setq pt1 (ARCH:UPOINT 1 "" "Pick arrow head point" nil nil)
pt2 (ARCH:UPOINT 1 "" "To point" nil pt1)
pt3 (polar pt1 (angle pt1 pt2) (* 0.125 (getvar "DIMSCALE"))))
(setvar "orthomode" 0)
(ARCH:CUSTOM_LAYERS-ANNO-LDR)
(command
"PLINE"
pt1
"W"
"0"
(* 0.0417 (getvar "DIMSCALE"))
pt3
"W"
"0"
"0"
"arc")
;;(while (setq pt2 (getpoint "\nTo point: " pt2)) (command pt2))
(setq pt2 (getpoint "\nTo point: " pt2))
(command pt2)
;;(setvar "osmode" tempsnap)
(command "")
;;(command "change" "l" "" "p" "c" "1" "")
(ARCH:F_R-VAR))
;;;
(defun LDRXIT (/ dist p1 p2 p3 p4 p5 p6 ortho)
(ARCH:F_S-VAR)
(defun dtr (d) (* pi (/ d 180.0)))
(defun rtd (r) (* 180.0 (/ r pi)))
(ARCH:CUSTOM_LAYERS-SYMB)
(setq dist (* (getvar "dimscale") 0.07))
(setq ortho (getvar "orthomode"))
(setvar "orthomode" 0)
(setvar "osmode" 0)
(setq P1 (getpoint "\n* Pick a Point to Begin the Polyline *"))
(setvar "orthomode" 1)
(setq P2 (polar P1 (dtr 90) dist))
(setq P3 (polar P1 (dtr 270) dist))
(setq P4 (polar P1 (dtr 0) dist))
(setq P5 (polar P1 (dtr 180) dist))
(setq P6 (getpoint P1 "\n* Pick next point *"))
(command "_pline" P4 P5 P1 P2 P3 P1 P6)
(while (> (getvar "cmdactive") 1) (command pause))
(setvar "osmode" ortho)
(ARCH:F_R-VAR)
(princ))
Gary