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)
)
代码完。
本文介绍了一段AutoLISP代码,该代码用于统计CAD图形文件中特定类型的图元数量,例如直线和圆形。通过定义函数ssnum,使用ssget获取选择集,并遍历每个图元来检查其类型并计数。

被折叠的 条评论
为什么被折叠?



