Should be what your looking for.
(defun C:PP (/ SS vla SPT MPT EPT)
(prompt "\nSelect Polylines")
(if (setq SS (ssget '((0 . "*POLYLINE"))))
(foreach poly (vl-remove-if 'listp (mapcar 'cadr (ssnamex SS)))
(setq vla (vlax-ename->vla-object poly)
SPT (vlax-curve-getStartPoint vla)
MPT (vlax-curve-getPointAtDist vla (/ (vlax-get-property vla 'length) 2.0))
EPT (vlax-curve-getendpoint vla)
)
(entmake (list '(0 . "POINT") (cons 10 SPT)))
(entmake (list '(0 . "POINT") (cons 10 MPT)))
(entmake (list '(0 . "POINT") (cons 10 EPT)))
)
)
(princ)
)