HasanCad this should do what you want. make sure download Multi radio buttons.lsp
; dimension a pline from vertices
; does not support bulges
; By AlanH Consulting info@alanh.com.au
; SEP 2019
(defun AHpldim (plent / lst pt1 pt2 pt3 pt offd oldsnap dir)
(setq oldsnap (getvar 'osmode))
(setvar 'osmode 0)
(setq pt (cadr plent) )
(setq obj (vlax-ename->vla-object (car plent)))
(setq pt1 (vlax-curve-getstartpoint obj))
(setq pt2 (vlax-curve-getendpoint obj))
(setq offd (getdist "\nEnter offset distance "))
(if (not AH:Butts)(load "Multi Radio buttons.lsp"))
(if (= but nil)(setq but 1))
(setq dir (ah:butts but "h" '("Left or right" "Right" "Left")))
(command "copy" plent "" "0,0" "0,0")
(setvar 'filletrad 0)
(command "fillet" "p" "last")
(setq plent (entlast))
(setq lst (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 10)) (entget plent))))
(if (< (distance pt pt1)(distance pt pt2))
(setq lst (reverse lst))
)
(command "erase" plent "")
(setq x 0)
(repeat (- (length lst) 1)
(setq pt1 (nth x lst))
(setq pt2 (nth (+ x 1) lst))
(if (= dir "Right")
(setq pt3 (polar pt1 (+ (/ pi 2.0)(angle pt1 pt2)) offd))
(setq pt3 (polar pt1 (- (angle pt1 pt2)(/ pi 2.0)) offd))
)
(command "Dim" "aligned" pt1 pt2 pt3 "" "exit" )
(setq x (+ x 1))
)
(setvar 'osmode oldsnap)
(princ)
)
(AHpldim (entsel "\nPick pline near start end"))