Try this.
Code:
(defun C:Evacuation (/ intAttDia lstSelection objSelection)
(vl-load-com)
(setq intAttdia (getvar "attdia"))
(setvar "attdia" 0)
(setq lstSelection (entselwithfilter '(list (cons 0 "POLYLINE"))
"\nSelect polyline evacuation route: "
)
objSelection (vlax-ename->vla-object (car lstSelection))
)
(vl-cmdf "insert" "EVACUATION DISTANCE TAG" (cadr lstSelection) "" "" "" "")
(setvar "attdia" intAttDia)(vla-put-textstring
(vlax-ename->vla-object (entnext (entlast)))
(rtos (vlax-curve-getDistAtParam objSelection
(vlax-curve-getEndParam objSelection)
)
4
0
)
)
(prin1)
)
(defun entselWithFilter (lstOfFilters strPrompt / intOSMode lstPoint ssSelections)
(vl-load-com)
(if strPrompt
(princ (strcat "\n" strPrompt))
)
(setq intOSMode (getvar "osmode"))
(setvar "osmode" 512)
(while (not (setq ssSelections (ssget (setq lstPoint (getpoint)) (eval lstOfFilters))))
(princ "\nInvalid Selection Please Select Again: ")
)
(setvar "osmode" intOSMode)
(print (getvar "lastpoint"))
(list (ssname ssSelections 0) lstPoint)
)