痛点
AutoCAD 没有内置手段来判断一个块在图纸集合的两个修订版本之间发生了什么变化 — 唯一的办法就是同时打开两者手动比对,或者干脆相信修订说明里写的内容。
BlockCompare 是如何工作的
以下几个部分对应软件里真实的标签页,顺序与软件一致 —— 每张截图都是 BlockCompare 运行时的真实、未经修改的画面。
第一步 — 添加修改前和修改后的版本
将 BlockCompare 指向两个文件夹 — 修改前的图纸和同一批图纸修改后的版本 — 并在扫描之前先缩小实际关心的块、图层或视口范围。标题栏中的 Compare DWG / Compare with Excel 开关,用于在这种双文件夹工作流与对照导出的 Excel 工作簿之间切换。
- 1先使用标题栏中的 Compare DWG / Compare with Excel 开关 — Compare DWG(默认模式,如下所述)从磁盘读取双方内容;Compare with Excel 会把 Folder A 换成配套的 BlockSync 工具导出的单一块数据工作簿,而 Folder B 仍然是一个实时的 DWG 文件夹。
- 2使用 Add Files 或 Add Folder,向 Folder A(修改前)和 Folder B(修改后)中添加内容 — 双方各自可添加任意数量的 DWG。
- 3BlockCompare 会预扫描两个文件夹,并在比较开始前报告每个文件的实时状态。
- 4打开 Blocks 标签页,精确勾选要比较的块定义 — 每一行显示其引用数量、有多少文件包含它、是否为动态块,以及是否带有属性。
- 5切换到 Layers 或 Viewports 标签页,将比较范围缩小到特定图层或图纸空间视口,而不是整张图纸。
- 6选择一种 Match strategy — Filename priority、Handle priority 或 Hybrid(默认,偏向句柄匹配)— 并拖动 Confidence threshold 滑块,决定一个文件配对需要多高的把握才会被自动提出。
- 7将当前各标签页的选择另存为一个命名的 Filter profile(Save…),之后可再次加载(Load),用于同一项目上反复进行的比较工作。
- 8点击 Scan & Match,读取每个文件并提出文件到文件的配对方案。
Options on this screen
- Filename priority / Handle priority / Hybrid (default)
- 在为“修改前”文件匹配对应的“修改后”文件时,优先信任哪种信号。Hybrid 会综合两者,并偏向句柄匹配。
- Confidence threshold
- 一个提议的文件配对需要达到多高的把握,BlockCompare 才会自动接受它,而不是标记出来等待人工复核。
- Compare DWG / Compare with Excel
- Compare with Excel 会把 Folder B 的扫描范围缩小到仅限工作簿中出现的块名称,并默认使用 Filename priority 匹配,因为在这一侧,工作簿中记录的文件名 — 而非实时句柄数据 — 是更可靠的信号。
第二步 — 确认或修正提议的文件配对
BlockCompare 会自动把每个“修改前”文件与最可能对应的“修改后”文件配对 — 这个界面用于在任何比较发生之前,确认这个配对,或手动修正它。
- 1每一行列出 File A 与 BlockCompare 提议的 File B,并附有 Filename %、Handle % 和 Combined % 分数,显示该配对的可信程度。
- 2标红的行代表冲突 — 文件名信号与句柄信号不一致 — 并列出一个 Conflict candidate,方便你在决定前看到次优候选。
- 3可以通过 File B 下拉菜单覆盖任何提议的配对,或勾选 Exclude 将某个文件完全排除在本次运行之外。
- 4随时可以更改 Strategy,点击 Re-match 针对当前文件列表重新运行配对算法。
- 5每个配对都确认无误后,点击 Compare。
第三步 — 逐个块查看具体发生了什么变化
每一对已配对的文件都按 AutoCAD 的持久对象句柄进行比较,因此一个被移动、重新赋值属性或更改了图层的块,会被精确地报告出来 — 而不只是被标记为“不同”。
- 1结果按已配对的文件对分组,每组带一行摘要以及一个可展开的条目列表。
- 2每个条目都显示其 Handle、Block Name、Kind(Added / Removed / Modified)以及 Fields Changed 的数量。
- 3点击任意一个已修改条目上的 Details… 会弹出一个窗口,并排列出每一个已改动字段的 Old Value 和 New Value。
- 4未发生变化的块实例完全不会被列出,因此一张包含数千个实例的图纸不会把真正为数不多的差异淹没掉。
- 5点击 Finish 结束本次会话,或点击 Back 调整配对并重新比较。
把报告交给没有安装 BlockCompare 的人
同样的 Added / Removed / Modified 分类,包含每一处字段级的改动,写入一个任何人都能打开、筛选或存档的工作簿 — 在导出时可以选择两种版式之一。
- 1在 Comparison Report 界面,点击 Export to Excel,然后在弹出的对话框中选择一种报告版式。
- 2该工作簿列出每一个已改动、新增和删除的块实例,附带其文件配对、句柄、块名称,以及字段级的新旧数值。
- 3作为一份扁平、可筛选的表格,它可以在没有人安装 BlockCompare 的情况下,作为一份评审材料或 QA 签核记录使用。
Options on this screen
- One row per record (default)
- 每个实例占一行;已改动字段的旧值以单元格批注的形式保留,使表格保持紧凑。
- Before/after rows for changed records
- 一个已修改的实例改为占用相邻的两行 — 一行显示旧值,一行显示新值 — 并且真正发生变化的字段会在两行上都高亮显示,使新旧值并排可见,而无需悬停查看批注。
同时包含
按句柄匹配,而不是按名称或位置
每一次比较都直接从各实体读取 AutoCAD 持久的内部对象句柄,并据此对齐块实例 — 同一个标识符即便在块被移动、重命名或属性被编辑后依然保持不变,因此真正的改动永远不会被误判为“先删除后新建”。
三种匹配策略,通过置信度滑块调节
Filename priority 和 Handle priority 会把文件配对完全偏向某一种信号;Hybrid(默认)综合两者,并偏向句柄匹配 — 在修订同时重命名了文件时很有用。Confidence threshold 决定一个配对是需要人工复核,还是可以被自动接受。
冲突候选会被主动呈现,而不是被隐藏
当文件名信号与句柄信号在判断某个“修改前”文件应对应哪个“修改后”文件上出现分歧时,该行会在 Review Matches 中标红,并列出次优候选 — 这样一个存在冲突的配对会得到一个明确的决定,而不是被悄悄猜测。
可复用的筛选配置文件
将当前勾选的块、图层和视口另存为一个命名配置文件,在下一次比较运行时重新加载 — 适用于需要反复对照新修订版本进行比较的项目。
可以对照 Excel 快照进行比较,而不仅限于第二个 DWG 文件夹
Compare with Excel 会把 Folder A 换成配套的 BlockSync 工具导出的块数据工作簿 — 适用于“修改前”版本只以某人交接的电子表格形式留存,而手头已没有对应 DWG 的情况。工作簿自身的块名称会自动成为比较范围。
运行环境与要求
决定 BlockCompare 能否在您的电脑上运行、以及运行后表现如何的全部因素。
- 无需安装 Microsoft Excel — BlockCompare 使用自带引擎(ClosedXML)直接读写 .xlsx。
- 仅支持 Windows 10/11,64 位。
- 需要一份已获得许可的完整版 AutoCAD(2021–2027)。不支持 AutoCAD LT — LT 无法运行 BlockCompare 所依赖的后台自动化功能。
- 如果安装了多个 AutoCAD 版本,可在 Settings → AutoCAD 中指定要使用的版本,或保持 "Auto (newest installed)" 设置 — 如果该版本因任何原因加载失败,会自动回退使用另一个已安装的版本。
- 基于 .NET 8 构建。如果你的机器上尚未安装 .NET 8 Desktop Runtime,安装程序会提示从微软获取(免费、一次性,约 60 MB)。
- 联网仅用于在启动时以及之后定期检查许可状态。扫描、读取和写入操作全部通过 AutoCAD 自身引擎在本地完成 — 图纸内容永远不会被上传。
- 界面语言:English。
- 对于包含大量文件的批处理任务,可以在后台并行处理多个图纸 — 在 Settings 中调整 "Max parallel AutoCAD instances",在速度与 CPU/内存占用之间取舍。
- 每个耗时较长的操作都会显示带百分比和预计剩余时间的进度条,并可在运行中随时取消。
- 如果需要排查问题,Settings → Diagnostics → Open Log Folder 可以直接打开宿主程序和插件的日志文件夹。
另见全站的 系统要求 页面,比较所有工具。
使用场景
以下是 BlockCompare 专为解决的一些实际场景 —— 如果您的情况不在列表中,多半仍能在上面某个标签页里找到对应功能。
发布前的修订签核
之前
一套图纸被修订之后,审核人只能相信修订云线/说明是完整的,或者逐个块与上一版本手动核对。
之后
把 BlockCompare 指向上一版本文件夹和新版本文件夹 — 每个真正发生变化的块都会连同具体字段一起列出,随时可以对照修订说明核实。
节省时间
约 3 小时的人工核对 → 15 分钟
发现一次无意的块修改
之前
一个共享的块定义为某个项目被修改,改动却悄悄波及到每一份引用它的图纸,没有留下其他内容也一并变动的记录。
之后
比较受影响图纸在修改前后的状态 — BlockCompare 的字段级差异会精确显示哪些实例和属性发生了变化,让无意的改动在交付前就被发现。
节省时间
交付后才发现 → 当天就能发现
核实一次自动化批量编辑
之前
在图纸集合上运行了某个批处理工具(或脚本)之后,没有简便的方法确认它只改动了应该改动的内容,没有改动其他东西。
之后
比较批处理运行前后的文件夹 — Comparison Report 列出每一处实际改动,确认这次自动化操作确实只做了预期的事,没有多做也没有少做。
节省时间
抽查少量文件 → 一份完整、经过核实的报告