我来发一个
(defun c:cs( / YH_BLOCK1 YH_BLOCK1NUM YH_BLOCK2 YH_BLOCK2NUM YH_ENTGET YH_GETAREA YH_INDEX YH_LENGTH YH_TYPE) (setq YH_block1 "YH_立管" YH_block2 "YH_喷头") (princ "\n\n请指定范围......") (setq YH_getarea (ssget)) (if (/= YH_getarea nil) (progn (setq YH_length (sslength YH_getarea)) (setq YH_block1num 0 YH_block2num 0) (setq YH_index 0) (repeat YH_length (setq YH_entget (entget (ssname YH_getarea YH_index))) (setq YH_type (cdr (assoc 0 YH_entget))) (if (and (= YH_type "INSERT") (= (cdr (assoc 2 YH_entget)) YH_block1)) (setq YH_block1num (1+ YH_block1num))) (if (and (= YH_type "INSERT") (= (cdr (assoc 2 YH_entget)) YH_block2)) (setq YH_block2num (1+ YH_block2num))) (setq YH_index (1+ YH_index)) ) (princ (strcat "图块" YH_block1 "数量为:" (rtos YH_block1num 2 0))) (princ "\n") (princ (strcat "图块" YH_block2 "数量为:" (rtos YH_block2num 2 0))) ) ) (princ) )
至于文字,不知道你是要求文字值为 UP 还是包含 UP |