CADXChange
购买

BlockCompare 文档

BlockCompare 默认打开时处于 Compare DWG 模式;标题栏中的 Compare DWG / Compare with Excel 开关会切换为对照一个已导出的 Excel 工作簿进行比较,而不是第二个 DWG 文件夹。无论哪种模式,都会逐屏进入以下流程:Select Files → Review Matches → 一个简短的 Comparing… 进度屏幕 → Comparison Report。这里没有步骤指示器 — 每次点击 Back 都会返回到上一个屏幕的确切实例(因此其文件列表、筛选条件和编辑内容仍然保留),而报告屏幕上的 Finish 会向前跳两步回到同一个 Select Files(或 Select Excel)屏幕实例,而不是 Review Matches — 其文件列表、筛选条件和配置文件同样也会保留,与 Back 留下的状态完全一致。

快速上手

截图来自较新版本 —— 与您安装的版本相比,视觉细节可能略有差异。

Comparing files

Compare DWG 与 Compare with Excel

在正常的双文件夹工作流与对照一个已导出 Excel 工作簿与单一 DWG 文件夹比较之间的标题栏切换。

Compare DWG 与 Compare with Excel screenshot
  • Compare DWG(默认)是本页其余部分描述的双文件夹工作流。Compare with Excel 会把 Select Files 屏幕上的 Folder A 选择器替换为一个单独的 .xlsx 工作簿 — 由配套的 BlockSync 工具生成的块数据导出 — 而 Folder B 仍然是一个普通的 DWG 文件夹。
  • 切换模式会保留每种模式自身的 Select Files 状态 — 切换到 Compare with Excel 再切回 Compare DWG 不会丢失 Folder A/B 的文件列表或筛选选择。

Compare with Excel — 选择工作簿

浏览到 BlockSync 导出的块数据工作簿;Folder B 仍然是一个普通的 DWG 文件夹。

Compare with Excel — 选择工作簿 screenshot
  • Browse… 选取 .xlsx 工作簿。一旦选定,屏幕会在扫描任何内容之前报告它发现了多少个块实例,以及最初记录在其中的来源文件数量 — 例如 "Found 13 block instance(s) across 2 source file(s) in this workbook."
  • 工作簿中已经存在的块名称会自动成为比较范围;此模式没有单独的 Blocks/Layers/Viewports 勾选列表,因为工作簿本身已经反映了从 BlockSync 导出时所选定的内容。
  • 从此之后就是与 Compare DWG 相同的 Review Matches → Comparing → Comparison Report 流程,将工作簿中记录的文件名与 Folder B 的实际文件配对 — 此模式下默认的匹配策略是 Filename priority,而不是 Hybrid,因为工作簿一侧没有自己的实时句柄数据可用于加权 Hybrid 匹配。
  • Excel 工作簿没有已解析的图层颜色,因此此模式下仍会比较 Layer name,但 LayerColor 会被排除在差异之外 — 否则每一行都会显示出虚假的颜色变化。

添加文件(Folder A / Folder B)

添加要比较的图纸集合的“修改前”和“修改后”版本。

添加文件(Folder A / Folder B) screenshot
  • Add Files 或 Add Folder 分别独立建立 Folder A(修改前)和 Folder B(修改后)。Add Folder 扫描整个文件夹中的 .dwg 文件 — 是否也扫描子文件夹取决于 "Include subfolders when adding a folder"(Settings → AutoCAD,默认关闭),该设置对双方都适用。重复路径会被悄悄跳过。
  • 在 Folder A 中添加、移除或清空文件会自动触发一次轻量级预扫描,以填充下方的 Blocks/Layers/Viewports 标签页 — 预扫描运行期间,Folder A 自身的 Add/Add Folder/Clear 按钮和列表会被禁用。Folder B 则刻意从不进行预扫描,因为它的作用只是提供匹配候选项,而不驱动筛选标签页。
  • 每个列表显示 File Name 和带颜色标记的 Status,每行都有一个 Remove 按钮。尚未添加任何内容时,列表会显示 "No files yet — add a folder or files above.",而不是空白表格。

使用 Blocks、Layers 和 Viewports 筛选

根据 Folder A 中的内容,缩小实际参与比较的范围。

使用 Blocks、Layers 和 Viewports 筛选 screenshot
  • Blocks 标签页列出 Folder A 预扫描中发现的每一个块定义:Block Name、References、In Files、Dynamic 和 Has Attrs 标志。Layers 列出每一个图层名称,带颜色色块和 In Files 计数。Viewports 按 Layout、Layer、Width 和 Height 列出每一个图纸空间视口。
  • 每个标签页都有自己的 Search 框;All / None / Invert 只作用于当前搜索所显示的内容,而不是未筛选的完整列表。
  • 在某个标签页上不勾选任何内容,与通常一样会比较所有内容;勾选特定的块/图层会从一开始就限制 Scan & Match 所读取的内容,而 Viewports 选择则是在扫描之后作为一个单独的边界框筛选来应用,只保留实际落在某个已勾选视口内的块实例。
  • 与 CADXChange 其他一些比较工具不同,这三个标签页共用一个单一的筛选配置文件(见下一节),而不是每个标签页各自保存独立的配置文件。

匹配策略、置信度与已保存的配置文件

BlockCompare 如何判断哪个“修改前”文件对应哪个“修改后”文件。

匹配策略、置信度与已保存的配置文件 screenshot
  • Match strategy — Filename priority、Handle priority 或 Hybrid(默认)— 设置一个提议的配对在文件名相似度与两个文件共享多少块句柄之间的权重分配。Hybrid 更偏向句柄信号,这正是即使修订版同时重命名了文件、匹配仍能保持正确的原因。
  • Confidence 滑块(0.00–1.00,默认 0.15)是一个提议配对的综合得分需要达到的门槛,才会被自动接受;得分低于该值的配对会被留作未匹配,留待在下一屏进行人工配对。调高滑块会使匹配更严格;调低则会自动接受把握较弱的猜测。
  • Filter profile Save… 以名称保存当前的 Blocks/Layers/Viewports 选择;Load 会重新应用一个已保存的选择,勾选名称匹配的行,其余保持未勾选。免费版一次只能保留一个已保存的配置文件 — 用新名称保存第二个会显示升级提示,而不是悄悄替换现有的(用相同名称覆盖始终是允许的)。

Scan & Match

读取两个文件夹并提出文件到文件的配对方案 — 这是真正打开每一个 DWG 的步骤。

  • 免费版将此步骤限制在每侧 3 个文件(Folder A 和 Folder B 分别计算)— 超过限制会在任何扫描开始之前阻止整次运行,并给出说明限制内容的消息,而不是扫描部分批次。
  • 先扫描 Folder A,再扫描 Folder B,每个槽位在后台一次处理一个文件;对免费版而言并行度被硬性限制为 1,无论 Settings 中的 "Max Parallel AutoCAD Instances" 值如何设置,因此免费版扫描始终一次只处理一个文件。此处还会计算每个文件自身的 MD5 哈希值,用于之后检测字节级完全相同的配对。
  • 扫描失败的文件会标出其错误,且不会阻止批次中其余部分继续扫描;该失败会延续到匹配阶段,成为一个没有任何配对对象的文件。
  • 匹配本身是跨每一对 Folder A/Folder B 的全局最优分配(而不是简单的最近匹配),因此一个文件看起来最合适的配对不能抢走另一个文件更需要的伙伴。
  • 此步骤没有 Cancel 按钮,但每个文件有 10 分钟的时限——AutoCAD 在损坏或特别大的 DWG 上失去响应时会被终止,该文件标记为失败。无法读取的文件会被排除在比对之外并在下一个界面列出,而不会被报告为“全部新增/删除”。

Review Matches

在任何比较发生之前,确认或修正提议的修改前/修改后文件配对。

Review Matches screenshot
  • 每一行显示 File A 及其提议的 File B(一个可编辑的下拉列表,列出每一个 Folder B 文件),并附有 Filename %、Handle % 和 Combined % 分数 — 这些百分比反映的是最初提议的配对,如果你从下拉列表中手动选择另一个 File B,它们不会重新计算。
  • 红色高亮的行表示冲突 — 该文件仅按文件名的最佳匹配和仅按句柄的最佳匹配彼此不一致(或与当前选定的配对不一致)— 并会指名一个 Conflict candidate,以便你在决定之前看到次优选项。
  • 没有可靠匹配的 Folder A 文件会以自己单独的一行开始,不选定任何 File B,且 Exclude 已被勾选 — 除非你自己选定一个 File B 并取消勾选 Exclude,否则它会被排除在比较之外。
  • Change Strategy 和 Re-match 会纯粹针对已扫描的快照数据重新运行匹配算法 — 不会重新读取任何 DWG,因此实际上是瞬时完成的,但它会替换每一行,丢弃自上次扫描以来做出的任何手动 File B 覆盖或 Exclude 改动。
  • 只有当至少一行既未被排除又已选定 File B 时,Compare 才会可用。

Comparing(进度屏幕)

确认匹配和查看报告之间的一个简短进度屏幕 — 这里同样没有 Cancel 按钮。

  • 已确认的配对按顺序逐一进行比较,进度条和 "Comparing {n}/{total}: {File A} vs {File B}" 状态会在每一对完成后更新。
  • 此屏幕没有 Back 也没有 Cancel — 最后一对完成的那一刻,它会自动导航到 Comparison Report。

Comparison Report

每一个已匹配的配对,逐字段呈现 — 绝不仅仅标记为“不同”。

Comparison Report screenshot
  • 结果按已匹配的配对分组,每一组显示为一个可展开的区块,标题为 "{File A} → {File B}"。哈希字节级完全相同的一对文件会被报告为 "Identical file — comparison skipped.",完全没有明细列表 — 该配对不会运行任何逐块差异比较。
  • 差异按 AutoCAD 自身的持久对象句柄匹配,而不是按名称或位置,因此一个被移动或重命名的块仍会被识别为同一个实例,而不会被报告为一次删除加一次添加。
  • 每个条目显示 Handle、Block Name、Kind(Added/Removed/Modified)以及改动了多少字段。未改动的块实例完全不会出现在这个屏幕上的列表中 — 它们仍会计入各分组自身的汇总行,只是不会逐行列出,因此一份包含数千个未改动实例的图纸不会埋没那少数真正发生改动的部分。
  • Details…(仅当至少一个字段发生改动时才可用)会打开一个小弹窗,并排列出每个已改动字段的新旧值;在一个弹窗已经打开的情况下点击另一行的 Details 只会重新定位到该行,而不需要先关闭当前弹窗。
  • 页面级别的汇总行刻意省略了 Unchanged 计数,即使每个单独分组自己的汇总行会显示它。

Exporting to Excel

导出到 Excel

将同一份比较结果写入一个即使未安装 BlockCompare 也能打开的工作簿 — 包括屏幕报告中遗漏的一切内容。

导出到 Excel screenshot
  • 每个在所有已比较配对中出现的独立块名称占一个工作表,另加一个元数据工作表,列出应用/AutoCAD 版本以及每一对的文件名和 MD5 哈希值(因此你可以独立确认哪些配对是完全相同的)。
  • 与屏幕报告不同,导出的工作表包含 Unchanged 行,与 Added/Modified/Removed 一起 — 文件中不会遗漏任何内容,只是屏幕上不显示而已。
  • Added 行填充为绿色;Removed 行填充为红色并带删除线文字;Modified 行不进行整行填色,但每个已改动的单元格都带有记录其旧值的批注,因此网格中始终可见新值,而旧值只需悬停即可查看 — 这是本节描述的默认 "one row per record" 布局;另一种布局见下一节。
  • 导出工作表中的 Status 列使用与屏幕上 Kind 列不同的措辞 — Excel 中是 "Deleted" 和 "Altered",而屏幕上是 "Removed" 和 "Modified" — 如果在两者之间交叉核对,这一点值得留意。
  • 导出本身没有行数上限或 Free/Pro 限制 — 免费版可以导出任意大小的报告;BlockCompare 中唯一的免费版限制是 Scan & Match 上每侧 3 个文件的上限。

选择报告布局

Export to Excel 会先打开一个小对话框,询问用两种行布局中的哪一种来写入报告。

选择报告布局 screenshot
  • One row per record(默认)是上一节描述的布局:一个已改动字段的旧值随单元格批注一起呈现。
  • Adjacent before/after rows 则会把每一个 Modified 实例展开为两行 — 具体效果见下一节。
  • 这一选择只影响 Modified 实例的排布方式;Added、Removed 和 Unchanged 行无论哪种方式都以相同方式写入。

两行前后对照布局

另一种布局:一个 Modified 实例的旧值和新值分别位于两个相邻的行上,而不是一行,两行上的已改动字段都会高亮显示。

两行前后对照布局 screenshot
  • 一个 Modified 实例会得到两行而不是一行 — 第一行是旧值,第二行是新值 — 而不是把旧值折叠进单一行上的一条批注中。
  • 第一行的 Status 列显示 "┌ ALTERED",第二行显示 "└ ALTERED",因此即使表格被筛选或排序打散,这一对行仍能被读作一个关联单元,而不必依赖两行始终保持相邻。
  • 两行之间真正发生改动的每一个字段都会被高亮(而不仅仅在批注中注明),因此审阅者可以并排扫视完整的两行,而不必逐个悬停在标记出的单元格上。
  • Added、Removed 和 Unchanged 实例不受此选择影响,无论哪种方式都保持单行,因为它们没有缺失的“之前”或“之后”一侧需要配对。

设置

点击标题栏的齿轮图标打开。每个字段都会即时保存 —— 没有单独的保存按钮。

Language

Settings → General

English / 简体中文 / 繁體中文 / 日本語 / 한국어 / Deutsch / Français / Italiano / Español。语言更改需要重启应用才能生效。

默认值:English

Theme

Settings → General

System / Light / Dark。主题更改需要重启应用才能生效。

默认值:Match system

AutoCAD version

Settings → AutoCAD

优先使用哪个已安装的 AutoCAD 版本。如果加载失败,应用会自动回退使用另一个已安装的版本。

默认值:Auto (newest installed)

Max parallel AutoCAD instances

Settings → AutoCAD

后台可同时处理多少份图纸(可选值:1、2、4、6、8、12、16)。数值越高速度越快,但会占用更多 CPU 和内存 — 在配置较低的机器上应调低此值。

默认值:8

Include subfolders when adding a folder

Settings → AutoCAD

适用于 Select Files 屏幕上的 Add Folder,对 Folder A 和 Folder B 均生效。

默认值:Off

授权

许可证状态会显示在标题栏中,为 Free、Pro、Pro (offline) 或 Expired,完整信息可在 Settings → License 中查看。

要激活:将许可证密钥粘贴到 Settings → License → "License key" 中并点击 Activate。要将许可证转移到新机器,请先在旧机器上点击 "Deactivate this machine",再到新机器上激活。

如果应用无法连接许可证服务器(没有网络,或服务器暂时不可用),之前激活的 Pro 许可证会以“Pro (offline)”状态继续使用 14 天。请在此期间内重新联网验证——超过 14 天仍未验证成功、超过订阅到期日,或系统时钟被调回时,许可证会显示为 Expired,直到能够重新验证。

故障排查

应用启动某个任务时出现 "AutoCAD not found" 或插件信任错误

应用在后台驱动 AutoCAD 打开并处理每一份图纸,因此需要一份完整的、已获得许可的 AutoCAD 2021–2027 安装 — 不支持 AutoCAD LT。如果 AutoCAD 已安装但仍出现此错误,很可能是该 AutoCAD 版本在此机器上从未被启动过:先打开它一次(哪怕只是进入绘图界面),然后关闭再试一次 —AutoCAD 只有在交互式运行过至少一次之后才会信任某个插件位置。

Review Matches 中某一行被红色高亮

仅按文件名的匹配和仅按句柄的匹配,在这个“修改前”文件属于哪个“修改后”文件上意见不一致。请查看 Conflict candidate 列,然后接受提议的匹配、从 File B 下拉列表中选择替代项,或排除(Exclude)该行。

扫描一个大文件夹似乎卡住不动

Scan & Match 期间每个文件有 10 分钟的时限——失去响应的 AutoCAD 后台进程(最常见的原因是 DWG 损坏或特别大)会被终止,该文件标记为失败。无法读取的文件不参与匹配,并在 Review matches 界面列出。可在日志文件夹中查看最后读取的文件。

我添加的一个文件没有出现在 Comparison Report 中

没有可靠匹配的 Folder A 文件会在 Review Matches 屏幕上预先被排除(未选定 File B,Exclude 已勾选)— 除非你返回,为它选定一个 File B 并取消勾选 Exclude,否则它会被悄悄排除在 Compare 之外。

导出的 Excel 报告使用了与屏幕报告不同的标签

这是预期行为 — 工作簿中的 Status 列显示 "Deleted"/"Altered",而屏幕上的 Kind 列显示 "Removed"/"Modified"。两种视图含义相同,只是措辞不同。

Review Matches 屏幕上的 Re-match 似乎没有识别新文件

Re-match 只会针对已经扫描的块/句柄数据重新运行匹配算法 — 它从不重新读取任何 DWG。要识别新增或移除的文件,请返回 Select Files 并重新运行 Scan & Match。

本地文件

Settings → Diagnostics → Open Log Folder 可以直接跳转到日志文件夹,方便排查问题。

设置%LocalAppData%\CADXChange\BlockCompare\settings.json
日志%LocalAppData%\CADXChange\BlockCompare\Logs\
筛选配置文件%LocalAppData%\CADXChange\BlockCompare\Profiles\