(defun collinear (line1 line2 fuzz / p1 p2) (if (= (type line1) 'ENAME) (setq line1 (vlax-ename->vla-object line1)) ) (if (= (type line2) 'ENAME) (setq line2 (vlax-ename->vla-object line2)) ) (and (= (type line1) 'VLA-OBJECT) (= (type line2) 'VLA-OBJECT) (= (vlax-get line1 "ObjectName") "AcDbLine") (= (vlax-get line2 "ObjectName") "AcDbLine") (setq p1 (vlax-get line1 "StartPoint")) (setq p2 (vlax-get line1 "EndPoint")) (numberp fuzz) (equal (vlax-curve-getClosestPointTo line2 p1 T) p1 fuzz) (equal (vlax-curve-getClosestPointTo line2 p2 T) p2 fuzz) ) ) (defun c:collinear ( / e1 e2) (if (and (setq e1 (car (entsel "\nSelect 1st line: "))) (setq e2 (car (entsel "\nSelect 2nd line: "))) (setq fuzz (getdist "\nFuzz factor: ")) ) (collinear e1 e2 fuzz) ) )