(defun c:dfg (/ ent pt ents i n npt item lstNew) (setq ent (entsel "选择一条多段线:")) (while (setq point (getpoint "\n选择要删除的端点:")) (setq ents (entget (car ent))) (setq i 0 npt 0 n (length ents) lstNew '() ) (while (< i n) (setq item (nth i ents)) (cond ((= npt 0) (if (= (car item) 10) (progn (setq npt (1+ npt)) (setq i (1- i)) ) (setq lstNew (append lstNew (list item))) ) ) ((= npt 1) (if (equal (cdr item) (list (car point) (cadr point)) 0.00001) (setq i (+ i 3)) (setq lstNew (append lstNew (list item))) ) ) ) (setq i (1+ i)) ) (entmod lstNew) ) (princ) ) |