CAD按块属性统计

CAD按块属性统计

功能简介: CAD按块属性统计

收录时间:

浏览次数: 0

所属栏目: 图块工具

  • 功能使用
  • 相关推荐
  • 相关资讯
  1. (defun c:TTT ()
  2.   (setq ss (ssget '((0 . "INSERT")))) ; 选择所有的块
  3.   (if ss
  4.     (progn
  5.       (setq count-alist nil)  ; 初始化编号计数的关联列表
  6.       (setq sslen (sslength ss))
  7.       (setq i 0)
  8.       (while (< i sslen)
  9.         (setq ent (ssname ss i))
  10.         (setq entdata (entget ent))
  11.         (setq attribs (entnext ent))
  12.         ;(princ "\nBlock Reference Data:\n")
  13.         ;(princ (cdr (assoc 2 entdata))) ;; 显示块名
  14.         (while ((cdr (assoc 0 (entget attribs))) "ATTRIB")
  15.           (setq attribdata (entget attribs))
  16.           (if ((cdr (assoc 2 attribdata)) "编号")
  17.             (progn
  18.               (setq num (cdr (assoc 1 attribdata)))
  19.               (setq existing-pair (assoc num count-alist))
  20.               (if existing-pair
  21.                 (setq count-alist (subst (cons num (1 (cdr existing-pair)))
  22.                                          existing-pair
  23.                                          count-alist))
  24.                 (setq count-alist (cons (cons num 1) count-alist))
  25.               )
  26.             )
  27.           )
  28.           (setq attribs (entnext attribs))
  29.         )
  30.         (setq i (+ i 1))
  31.       )
  32.       (princ "\nCount of '编号' Values:\n")
  33.       (foreach item count-alist
  34.         (princ (strcat (car item) ": " (itoa (cdr item)) "\n"))) ; 输出所有编号及其出现次数
  35.     )
  36.     (princ "\nNo attribute blocks selected.")
  37.   )
  38.   (princ)
  39. )