Oh, UCS too, good one sdoman.
(defun c:bisect (/ line1 line2 vp p1 p2)
(vl-load-com)
(while (null (setq line1 (entsel "\nSelect first Line : "))))
(while (null (setq line2 (entsel "\nSelect second line : "))))
(setq vp (getpoint "\nPick the vertex of the two lines."))
(if (and line1 line2 vp)
(progn
(setq p1 (trans (vlax-curve-getclosestpointto (car line1) (trans (cadr line1) 1 0) t) 0 1)
p2 (trans (vlax-curve-getclosestpointto (car line2) (trans (cadr line2) 1 0) t) 0 1)
)
(vl-cmdf "_xline" "_non" "b" vp "_non" p1 "_non" p2 "")
)
)
(princ)
)