[链接](http://bbs.mjtd.com/forum.php?mod=viewthread&tid=112234&extra=page%3D4%26filter%3Dtypeid%26typeid%3D107&page=2)
注:本例是统计的圆,可以根据需要修改为统计其他图形
效果图
![](https://box.kancloud.cn/0c053eb160ff9e7377ba2edf2d11505d_734x542.gif)
源码:
```
;;;统计相同矩形边长的数量.
;;;编写日期2013-07-05
;;;编写: CADMAN
;;;子函数 (求矩形边长)
;(defun qbc (pts / b h)
;(setq b (distance (car pts) (cadddr pts)))
;(setq h (distance (car pts) (cadr pts)))
;(cons (max b h) (min b h))
;);结束qbc
(defun c:ng:count ( / bclst pts ss el bc\_new i p2 p3 m x1 x2)
(princ "\\n请框选:")
(setq ss (ssget '((0 . "circle"))))
(setq i 0 bclst nil pts nil)
(repeat (sslength ss)
(setq el (entget (ssname ss i)))
(setq pts nil)
(foreach pt el (if (\= (car pt) 40) (setq pts (cons (cdr pt) pts))))
(setq bclst (cons pts bclst))
(setq i (1+ i))
);repeat
(setq bc\_new nil)
(while bclst
(setq m (car bclst) x1 (length bclst))
(setq bclst (vl-remove m bclst))
(setq x2 (length bclst))
(setq n (\- x1 x2))
(setq bc\_new (cons (list m n) bc\_new))
)
(setq p2 (getpoint "\\起始位置"))
(setq p3 (polar p2 0 100))
(command "\_.TEXT" "c" (polar p2 (\* pi 0.5) 30) "10" "0" "半径");指定书写标题的位置
(command "\_.TEXT" "c" (polar p3 (\* pi 0.5) 30) "10" "0" "数量")
(foreach bg bc\_new ;设定重复次数为新表的长度
(command "\_.TEXT" "c" p2 "10" "0" (strcat (rtos (car (car bg)) 2)))
(command "\_.TEXT" "c" p3 "10" "0" (cadr bg))
(setq p2 (polar p2 (\* pi 1.5) 30))
(setq p3 (polar p2 0 100))
)
(princ)
)
```
- 前言
- 概述
- autolisp简介(初)
- 搭建编程环境
- Visual Lisp 编辑器的使用(初)
- vs code的使用
- 基本概念(初)
- 表达式
- 数据类型
- 整数类型
- 实数类型
- 字符串类型
- 列表
- 选择集类型
- 实体名称(ename)
- vla对象(vla-object)
- 文件描述符
- 符号和变量(初)(精)
- 源码文件
- 变量
- 变量的类型
- 变量赋值
- 变量求值
- 预定义变量
- 数值处理
- 字符串处理
- 显示和输出
- 控制字符
- 列表操作
- 重点函数列表
- 尺寸标注
- 文字固定偏移
- 填充
- 填充到指定的矩形
- 计算填充面积并标注
- 其他
- 绘制任意曲线的等分线
- 原位缩放
- 修改填充基点和角度
- 批量标注多段线长度
- 统计相同直径的圆的数量
- z坐标置0
- 生成随机数
- 图层
- 相交
- intersectWith无法求交点的几种情形
- 向量和矩阵
- 向量加减乘除
- 向量长度
- 求单位向量
- 向量点积
- 向量叉积
- 命令和交互
- 调用command命令
- 多段线
- 获取多段线顶点
- UCS
- 有关ucs的命令和系统变量
- 通过command操作ucs
- 草图设置
- 捕捉
- 栅格
- 正交
- 对象捕捉
- 坐标系和变换(高级)
- 任意轴算法
- 坐标系
- trans
- geomcal
- autocad开发相关网站
- 小技巧汇总
- 判断点是否在封闭图形内
- 安装
- acad启动加载顺序
- 安装包制作
- 添加文件到启动组
- 添加目录到搜索路径
- 对话框和图形界面
- DCL
- openDCL
- 菜单和自定义界面
- 菜单文件
- 自定义文件
- 函数参考
- quote