Exclusively Vertical lines
Code:
(defun c:MakeU ( / farfrompoints pts ss e sp ep FptNpt)
(defun farfrompoints (ptlst / p B e pts)
(foreach
pt ptlst
(setq pts ptlst)
(while (setq p (car pts))
(if (> (setq B (distance pt p))
(caddr e))
(setq e (list p pt B)))
(setq pts (cdr pts)))
)
(list (cadr e) (Car e))
)
(if (setq pts nil ss (ssget "_X" '((0 . "LINE")( 8 . "c-temp"))))
(progn
(while (setq e (ssname ss 0))
(setq sp (vlax-curve-getStartPoint e)
ep (vlax-curve-getEndPoint e)
ang (angle sp ep))
(if (or (equal ang (/ pi 2.0))
(equal ang (* pi 1.5)))
(setq pts (cons
(car (vl-sort
(list sp ep)
'(lambda (a b)
(< (cadr a) (cadr b))))) pts)))
(ssdel e ss))
(if pts
(entmakex (list (cons 0 "LINE")
(cons 10 (car (setq FptNpt (farfrompoints pts))))
(cons 11 (cadr FptNpt))
'(8 . "c-temp"))) (princ "\nNo Vetical Lines Found:")
)
)
(princ "\n0 objects selected:")
)
(princ)
)
EDITED: Confuse pBe