指南/块属性
统计多张图纸中的块数量 — 用整套图纸在 Excel 里生成 BOM / 材料统计表
更新于 September 29, 2026

这个项目里有多少台风机盘管?每种口径的阀门各有多少?物料清单或材料统计都从数块开始,而这些块散落在整套图纸里 — 每层一张平面图、一张机房图、一张立管图。逐张图纸地数,无论靠肉眼还是靠框选,既慢,又容易在图纸改版的当天数错。
AutoCAD 自带的工具一次只在一个地方计数。COUNT 命令(2022 及更高版本)统计的是当前打开的那张图里的块。DATAEXTRACTION 可以读取多张图纸,但每次运行都要重新走一遍多页向导、选块和属性,然后还要清理导出的表。
本指南用 BlockSync 的导出(每个块引用一行)加上 Excel 数据透视表,把这些行变成数量 — 逐张图纸的和总计,还能按尺寸或型号这类属性值拆分。不会往图纸里写回任何内容。示例是一套六张 HVAC 图纸;免费版每批最多处理 10 张图纸。
1. 添加图纸并勾选要统计的块
打开 BlockSync 并添加图纸 — 指定一批用 Add Files…,或用 Add Folder… 加入某个文件夹下的全部图纸。BlockSync 会扫描每个文件,在 Blocks 标签页列出找到的每个块定义,以及引用总数和该定义所在的文件数。
这份列表其实就是初步的统计:这里六张图纸里 FCU 有 32 个引用,VALVE 有 70 个,PUMP 有 7 个。请记下这些总数,因为最终的数据透视表必须与它们相加一致。注意 In files 统计的是含有该块定义的图纸数,而不是真正放置了它的图纸数。
勾选要纳入统计的块 — Select All 会勾选所有块,也可以用搜索框只勾选几个 — 然后点击 Extract to Excel。每个被勾选的块会成为带时间戳的工作簿里的一个标签页。
2. 看看导出的内容
每个标签页列出一种块,每个引用一行:它所在的图纸(_File)、对象句柄、块名和所在空间(_Space:模型或某个布局),然后是几何列,最右边是每个属性标记一列 — 这里 VALVE 标签页是 DN,FCU 标签页是 MODEL。
一个引用一行,才使计数成为可能;而属性列让你能区分变体:25 mm 的阀门和 65 mm 的阀门是同一个块,在物料清单上却是不同的行。

3. 把所有块放进同一个列表
数据透视表需要一个单一的列表。新建一个工作表,列为 File、Block、Type 和 Qty。从每个块的标签页复制 _File 和 _Block,把各标签页上下叠起来;Type 复制用来区分变体的属性(FCU 用 MODEL,VALVE 用 DN,没有属性的块用一个短横线);Qty 每行填 1。
继续之前先检查行数:它应该等于第 1 步各引用数之和 — 这里 32 + 7 + 70 = 109 行。如果不相等,说明漏了某个标签页,或者某个标签页粘贴了两次。

4. 用数据透视表计数
选中该列表,选择 Insert → PivotTable。把 Block 再把 Type 拖到行,File 拖到列,Qty 拖到值(求和)。结果就是统计表:每个块及其变体一行,每张图纸一列,右侧是行合计,底部是每张图纸的合计。
这里读出来是:17 台 FCU-200、12 台 FCU-300、3 台 FCU-400,7 台水泵,以及 35 个 DN25、24 个 DN40、11 个 DN65 阀门 — 共 109 个块,与第 1 步的 32 + 7 + 70 吻合。逐图纸的列能一眼看出每种物料用在哪里,这是单看总数看不出来的。
如果某个符号也可能出现在布局里,把 _Space 拖到透视表的筛选器并选择 Model,避免同一个对象被算两次。

5. 保持最新
图纸有变化时,重新导出,把新的行粘贴到旧列表上,再用 Data → Refresh All:数据透视表会重新计算。Blocks 标签页上的 Save Profile… 会记住勾选了哪些块,Load Profile 下次再把它们勾选上。