;;Zoom to Ellipse - 6/13/2004 MPK ;;Creates a selection set of all ellipses in a drawing ;;Then creates a subset of those on Text layers and the proper size ;;The first item in that set is deleted and replaced with a circle ;;The user is prompted to fix the leaders and run it again. (defun C:ZTE ( / EL_SS1 EL_SS2 ) (setq EL_SS1 (ssget "X" (list (cons 0 "ELLIPSE")))) (setq EL_SS2 (SSADD)) ;(princ (SSlength EL_SS1)) (setq cnt -1) (if EL_SS1 (REPEAT (SSLENGTH el_ss1) (setq ELENT (entget (ssname EL_SS1 (setq cnt (+ cnt 1))))) (if (AND (< (abs (car (cdr (assoc 11 ELENT)))) 13) (or (wcmatch (strcase (cdr (assoc 8 ELENT))) "*TEXT*") (wcmatch (strcase (cdr (assoc 8 ELENT))) "*TEXT"))) (ssADD (cdr (assoc -1 ELENT)) EL_SS2) ) ) (progn (Alert "NO KEYNOTE ELLIPSE FOUND!") (vl-exit-with-value nil)) ) (if (> (sslength EL_SS2) 0) (progn (setq ELENT (entget (ssname EL_SS2 0))) (setq CPNT (cdr (assoc 10 ELENT))) (command "zoom" "c" CPNT "100") (setvar "CLAYER" (cdr (assoc 8 ELENT))) (command ".circle" CPNT "9") (entdel (cdr (assoc -1 ELENT))) (alert "FIX LEADERS AND RUN ZTE AGAIN.") ) (progn (Alert "NO KEYNOTE ELLIPSE FOUND!") (vl-exit-with-value nil)) ) )