(DEFUN CISTCIR (/ ss oldl i rr layerlist en ln) (SETvar "CMDECHO" 0) (IF (SETQ SS (SSGET "X" (LIST (CONS 0 "CIRCLE")))) (PROGN (COMMAND ".UNDO" "BE") (SETQ OLDL (GETvar "CLAYER")) (SETQ I -1 RR 0) (setq layerlist(list (cons "LinShi" "LinShi" ))) (REPEAT (SSLENGTH SS) (SETQ EN (SSNAME SS (SETQ I (1+ I))) R (CDR (ASSOC 40 (ENTGET EN))) RR (IF (> R RR) R RR) LN (STRCAT "L" (rtos r))) (COMMAND "LAYER" "M" LN "" "CHANGE" EN "" "P" "LA" LN "") (if (assoc ln layerList) (setq layerlist(subst (cons ln (1+(cdr (assoc ln layerList))))(assoc ln layerList) layerlist)) (setq layerlist(append layerlist (list(cons ln 1)))) ) (SETvar "CLAYER" OLDL) (COMMAND ".UNDO" "E") ) (setq layerlist(cdr layerlist)) (TEXTSCR) (PRINC "直径 : 数量\n") (while (car layerlist) (progn (PRINC (car (car layerlist))) (PRINC " : ") (PRINC (cdr (car layerlist))) (PRINC "\n") (setq layerlist(cdr layerlist)) ) ) ) ) (SETvar "CMDECHO" 1) (PRINC) )
很久没用Lisp了,不知如何。 |