AutoLISP统计图形中某种图元的数量

AutoLISP统计图形中某种图元的数量,以圆和直线为例,代码如下。

(defun c:ssnum ()
    (setq ss (ssget))
    (setq i 0
      line_num 0
      circle_num
         0
    )
    (repeat (sslength ss)
    (setq name (ssname ss i))
    (cond
        ((= "LINE" (cdr (assoc 0 (entget name))))
         (setq line_num (1+ line_num))
        )
        ((= "CIRCLE" (cdr (assoc 0 (entget name))))
         (setq circle_num (1+ circle_num))
        )
    )
    (setq i (1+ i))
    )
    (print (strcat "line=" (itoa line_num)))
    (print (strcat "circle=" (itoa circle_num)))
    (princ)
)

代码完。

作者:codee
文章千古事,得失寸心知。


原文地址:https://www.cnblogs.com/bimgoo/p/2503030.html