
(equal (distance (vlax-curve-getstartpoint curve) (vlax-curve-getstartpoint curvetst)) 0.0 fuzz) startpoint of curve is equal to startpoint of curvetst (equal (distance pt (vlax-curve-getstartpoint curvetst)) 0.0 fuzz) startpoint of curvetst "closely belongs" to curve and is not equal to startpoint of curve as it belongs to then statement of if function that checked that startpoint of curve is not equal to startpoint of curvetst (if (setq pt (vlax-curve-getpointatparam curve (vlax-curve-getparamatpoint curve (vlax-curve-getclosestpointto curve (vlax-curve-getstartpoint curvetst))))) pt is either startpoint of curve or some point on curve startpoint of curve is not equal to startpoint of curvetst

(if (not (equal (distance pt (vlax-curve-getstartpoint curve)) 0.0 fuzz))

(if (setq pt (vlax-curve-getpointatparam curvetst (vlax-curve-getparamatpoint curvetst (vlax-curve-getclosestpointto curvetst (vlax-curve-getpointatparam curve (+ (vlax-curve-getstartparam curve) 1e-10)))))) pt is either startpoint of curvetst or some point on curvetst (vl-every (function (lambda ( a b ) (equal a b fuzz))) ptlst pttlst) (setq ptt (vlax-curve-getclosestpointto curve ptt)) (setq pttlst (cons (vlax-curve-getendpoint curve) pttlst)) (setq pt (vlax-curve-getpointatparam curvetst (+ (vlax-curve-getstartparam curvetst) (* (setq m (1+ m)) (/ (- (vlax-curve-getendparam curvetst) (vlax-curve-getstartparam curvetst)) (float seg)))))) (foreach iii (vl-remove ii (if (null (nolst zz (if sss (1- (sslength sss)) zz))) (list ii) (nolst zz (if sss (1- (sslength sss)) zz)))) (while (setq curve (ssname sss (setq ii (1+ ii)))) (setq entl (vl-sort entl (function (lambda ( a b ) (> (vlax-curve-getdistatparam a (vlax-curve-getendparam a)) (vlax-curve-getdistatparam b (vlax-curve-getendparam b))))))) (if (vl-every (function (lambda ( x ) (equal x pt fuzz))) ptlst)

(setq ptlst (cons (vlax-curve-getendpoint curve) ptlst)) (setq pt (vlax-curve-getpointatparam curve (+ (vlax-curve-getstartparam curve) (* (setq m (1+ m)) (/ (- (vlax-curve-getendparam curve) (vlax-curve-getstartparam curve)) (float seg)))))) (while (setq curve (ssname ss (setq i (1+ i)))) (setq adoc (vla-get-activedocument (vlax-get-acad-object))) (defun OVERKILL-MR ( ss seg fuzz / adoc *error* nolst i k sss curve m n ent entl pt ptlst ii zz kk iii curvetst ptt pttlst curves ) Thats for the reply, but OVERKILL-MR still seems to delete one of the lines randomly, it does not keep the upper one!
