(defun c:Attsum (/ ss i ent blkname att attname attvalue total)
(setq total 0) ; 初始化总和为0
(princ "\n请选择需要统计的wdx*或wgd*块...")
(setq ss (ssget '((0 . "INSERT") (2 . "wdx*,wgd*")))) ; 筛选块名以wdx或wgd开头的块
(if ss ; 判断是否选择了对象
(progn
(setq i 0)
(repeat (sslength ss) ; 遍历选择集中的每个块
(setq ent (ssname ss i)) ; 获取块对象
(setq blkname (cdr (assoc 2 (entget ent)))) ; 获取块名
(princ (strcat "\n处理块: " blkname)) ; 输出当前处理的块名