(defun C:LENDEL (/ ss tl n ent itm obj l) (setq ss (ssget) ers 0 n (1- (sslength ss))) (setq min (getreal "\nEnter minimum length: ")) (while (>= n 0) (setq ent (entget (setq itm (ssname ss n))) obj (cdr (assoc 0 ent)) l (cond ((= obj "LINE") (distance (cdr (assoc 10 ent))(cdr (assoc 11 ent)))) ((= obj "ARC") (* (cdr (assoc 40 ent)) (if (minusp (setq l (- (cdr (assoc 51 ent)) (cdr (assoc 50 ent))))) (+ pi pi l) l))) ((or (= obj "CIRCLE")(= obj "SPLINE")(= obj "POLYLINE") (= obj "LWPOLYLINE")(= obj "ELLIPSE")) (command "_.area" "_o" itm) (getvar "perimeter")) (T 0)) n (1- n)) (if (< l min) (progn (princ (strcat "len del" (rtos l))) (command "_erase" itm "") (setq ers (+ ers 1)) ) (princ) ) ) (alert (strcat "Total number deleted: " (rtos ers))) (princ) )