linshiyin2 发表于 2012-12-9 23:02:32

块统计程序不少谁能写个块分组统计程序见图

本帖最后由 linshiyin2 于 2012-12-11 12:46 编辑

块的统计程序不少谁能写个块分组统计程序见图
通过两个属性分类块,一个是组号,一个是类别
最好实现这样的

自己已解决,撤销悬赏。

linshiyin2 发表于 2012-12-11 08:56:50

如何撤销悬赏啊

aaxxgg 发表于 2012-12-14 11:44:44

;;;论坛找到的,应该能满足你的要求
(defun c:TJK (/ DATA ELST LASTLST NAME NLST SS)

        (princ "\n 欢迎使用图面块数量统计程序:")

        (princ "\n 请选取需要统计的区域:")

;;ss->elst选择集->图元表

(defun ss->elst (ss / elst)

    (setq i 0)

    (repeat (sslength ss)

      (setq elst (cons (ssname ss i) elst)

   i(1+ i)

      )

    )

    (reverse elst)

)

;;;统计表中相同元素的个数

(defun lstsameitmnum (lst / a len x return)

    (while lst

      (setq a (car lst))

      (setq len (length lst))

      (setq lst (vl-remove-if '(lambda (x) (= a x)) lst))

      ;;第一个是(- len(length lst))个

      (setq return (cons (list a (- len (length lst))) return))

    )

    return

)

(if (setq ss (ssget '((0 . "INSERT"))))

    (progn

      (setq elst (ss->elst ss))

      (foreach e elst

(setq data (entget e))

(setq name (cdr (assoc 2 data)))

(setq nlst (cons name nlst))

      )

      (setq lastlst (lstsameitmnum nlst))

      (princ "\n>>>块数量统计如下(块名,数量): ")

      (prin1 lastlst)

    )

    (princ "\n请重新选择")

)

(princ)

)

TPG辉 发表于 2013-11-1 11:43:00

学中,
页: [1]
查看完整版本: 块统计程序不少谁能写个块分组统计程序见图