痛点
ATTSYNC 会清空已填写的属性值(这是 Autodesk 的一个已知限制),标题栏的改动只能手动逐份传播。
BlockCopy 是如何工作的
以下几个部分对应软件里真实的标签页,顺序与软件一致 —— 每张截图都是 BlockCopy 运行时的真实、未经修改的画面。
Distribute — 将块定义克隆到尚未包含它的文件中
将一个块定义克隆到每一个尚不包含它的目标文件中。已经包含该块的文件默认完全不受影响。
- 1浏览到包含目标块定义的源 DWG 文件。
- 2在源文件的块列表中,搜索并勾选要分发的块 — 每个块都显示引用数量、动态标志以及是否存在属性,让你在克隆前就清楚将要发生什么。
- 3使用 Add Files… 建立目标列表 — 可添加任意数量将要接收该定义的 DWG。
- 4默认情况下,已包含该块定义的目标文件完全不会被改动。只有当你确实想覆盖已存在的副本时,才勾选 Replace existing definitions。
- 5Clone Now 会把块定义(几何图形、属性标签布局、动态属性)复制到每一个尚未包含它的目标文件中。
Options on this screen
- Replace existing definitions
- 即使目标文件已经拥有该块的副本,也强制覆盖它,而不是跳过。
Copy Reference — 复制一个已填写值的块实例
将一个已插入的块(及其当前的属性值)作为全新引用复制到其他文件中 — 不只是空的块定义。
- 1浏览到源 DWG,并选择其中已插入的一个具体块引用 — 这是实际的实例,带有当前已填写的属性值,而不仅仅是一个空定义。
- 2使用 Add Files… 选择哪些目标文件应接收该副本。
- 3Insert Now 会把该块的一个全新引用 — 位置、属性值等全部信息 — 插入到每一个目标文件中。
Sync Update — 推送修订后的定义,而不清空数值
在目标文件中替换更新后的块定义,并安全地重新同步每一个已有引用 — 数值按属性标签匹配并保留,而不会像 ATTSYNC 那样被重置为空。
- 1浏览到持有修订后块定义的源 DWG。
- 2使用 Add Files… 列出每一个需要更新其现有该块引用的目标文件。
- 3如果目标文件中已有同名定义、且你希望强制覆盖,勾选 Replace existing definitions。
- 4Sync Now 会在每个目标文件中替换块定义,并重新同步每一个已有引用 — 属性值按标签匹配并保留,因此一次标题栏修订不会抹掉已经填好的项目编号。
- 5如果在 Settings → General 中启用了 Back up target files before syncing,同步后一旦出现任何不匹配都会立即被标记出来,Restore Backup… 可以一键撤销整次运行。
Options on this screen
- Replace existing definitions
- 即使目标文件认为自己已是最新,也强制覆盖它的块定义。
- Back up target files before syncing (Settings)
- 适用于 Sync Update 和 Upgrade Version — 如果结果未通过校验,可以借此回滚文件。
Upgrade Version — 用新块替换旧块
在目标文件中,用新的块定义(v2)替换旧块定义(v1)的每一个引用 — 位置、旋转角度、缩放比例、图层、属性以及动态属性都会一并带到替换后的块上。
- 1使用 Add Files… 建立目标集合,然后从扫描出的列表中选取要淘汰的旧(v1)块定义。
- 2选取用于替换它的新(v2)块定义。
- 3Upgrade Now 会在每个目标文件中原地把所有现有的 v1 引用替换为 v2 — 位置、旋转角度、缩放比例、图层、属性值和动态属性状态都会带到新定义上,而不是被重置。
- 4如果启用了自动备份,之后可以使用 Restore Backup…。
Delete Blocks — 安全地在批量图纸中清除块引用
从一批目标文件中选择一个或多个已发现的块定义,可选地将删除范围限定到特定图层,然后在所有选中文件中清除每一个匹配的引用 — 在删除任何内容之前会有确认对话框和逐次运行的备份。
- 1使用 Add Files… 建立目标列表 — 这里没有单独的源图纸,因为块定义和图层都是直接从目标文件中扫描出来的。
- 2在 Blocks 标签页中,勾选要删除的块定义 — 每一行显示该块在所有目标文件中的合计引用数量、是否为动态块以及其属性标签。
- 3切换到 Layers 标签页将删除范围限定到特定图层;不勾选任何图层则删除所有图层上的匹配引用。
- 4Delete Now 会显示确认信息,准确说明即将影响多少种块类型、(如有)多少图层以及多少文件,之后才会真正删除。
- 5Automatic backup(该界面自带独立的文件夹选择器,初始值取自全局默认设置)会先复制每个文件 — 之后可用 Restore Backup… 从备份中撤销一次运行。
Options on this screen
- Layer filter
- 不勾选任何图层则删除所有图层上的匹配引用;勾选一个或多个图层则将删除范围限定到这些图层。
- Automatic backup
- 在从目标文件中删除内容之前先复制该文件,本次运行使用独立的备份文件夹 — 与全局的 Settings → AutoCAD 备份开关相互独立。
同时包含
动态块得以保留,不会被拍平
很多批量复制脚本(以及一些竞品工具)在以编程方式接触动态块的瞬间就会把它拍平成静态几何图形。BlockCopy 在全部五种工作流中都完整保留了动态块的参数和可见性状态定义,因此同步或升级后的块在 AutoCAD 中仍然完全可编辑。
按标签而非位置匹配数值
Sync Update 和 Upgrade Version 会按标签名而不是块内的排列顺序,将属性值匹配到新定义上 — 因此修订后的定义即使重新排列了属性顺序,也不会把值张冠李戴。
每种模式在写入前都会备份
Distribute、Copy Reference、Sync Update、Upgrade Version 和 Delete Blocks 在触及目标文件之前都会先备份,默认开启 — 每种模式都有自己的 Enable Auto Backup 复选框和备份文件夹,初始值取自 Settings 中的一个共享默认设置。之后可以用 Restore Backup… 从任意一次运行的备份中恢复选中的文件。
操作超时会暴露卡住的文件,而不是静默挂起
如果目标文件被锁定(已在 AutoCAD 中打开)或某个操作运行时间异常长,BlockCopy 会报告具体是哪个文件、经过了多长时间,而不是无限期挂起。
运行环境与要求
决定 BlockCopy 能否在您的电脑上运行、以及运行后表现如何的全部因素。
- 仅支持 Windows 10/11,64 位。
- 需要一份已获得许可的完整版 AutoCAD(2021–2027)。不支持 AutoCAD LT — LT 无法运行 BlockCopy 所依赖的后台自动化功能。
- 如果安装了多个 AutoCAD 版本,可在 Settings → AutoCAD 中指定要使用的版本,或保持 "Auto (newest installed)" 设置 — 如果该版本因任何原因加载失败,会自动回退使用另一个已安装的版本。
- 基于 .NET 8 构建。如果你的机器上尚未安装 .NET 8 Desktop Runtime,安装程序会提示从微软获取(免费、一次性,约 60 MB)。
- 联网仅用于在启动时以及之后定期检查许可状态。扫描、读取和写入操作全部通过 AutoCAD 自身引擎在本地完成 — 图纸内容永远不会被上传。
- 界面语言:English / 简体中文 / 繁體中文 / 日本語 / 한국어 / Deutsch / Français / Italiano / Español。
- 对于包含大量文件的批处理任务,可以在后台并行处理多个图纸 — 在 Settings 中调整 "Max parallel AutoCAD instances",在速度与 CPU/内存占用之间取舍。
- 每个耗时较长的操作都会显示带百分比和预计剩余时间的进度条,并可在运行中随时取消。
- 如果需要排查问题,Settings → Diagnostics → Open Log Folder 可以直接打开宿主程序和插件的日志文件夹。
另见全站的 系统要求 页面,比较所有工具。
使用场景
以下是 BlockCopy 专为解决的一些实际场景 —— 如果您的情况不在列表中,多半仍能在上面某个标签页里找到对应功能。
标题栏批量部署
之前
修订后的标题栏必须手动复制到每一份图纸文件中。
之后
一个源图纸、一次运行,所有图纸得到更新,而数值保持不变。
节省时间
约 4 小时 → 10 分钟
阀门/设备符号标准更新
之前
公司对某类阀门或仪表的标准符号发生变化(新图形、增加引线、修订剖面线),每张使用旧符号的图纸都需要换成新符号 — 但每个实例都填有自己的位号、尺寸和规格,绝不能丢失。
之后
Sync Update 在项目范围内替换块定义,并按属性标签重新同步每一个已有引用,因此新符号会出现在所有地方,同时每个阀门的位号、尺寸和规格都原样保留。
节省时间
约一天的手动重绘 → 不到 15 分钟
旧项目的块版本升级
之前
某个旧项目沿用了此前标准中的一个块(v1),而该标准已被 v2 取代 — 位置、属性和动态状态都有差异,逐一手动替换每个引用会有丢失数据的风险。
之后
Upgrade Version 在一次运行中,把整个目标集合内的所有 v1 引用替换为 v2,并自动带上位置、旋转角度、缩放比例、图层、属性和动态属性。
节省时间
40 张图纸的旧项目集合,约一天 → 20 分钟
复制一个已填值的设备位号
之前
某个具体标注实例 — 已填好序列号、规格和位置的泵或面板块 — 需要出现在其他图纸上(索引/总图、备件图),而不必重新绘制或重新输入每一个属性值。
之后
Copy Reference 一步即可把这个确切的实例(含其数值)作为新引用复制到每一个目标文件中。
节省时间
每张图纸约 20 分钟 → 数秒
推行新的标准注释或符号
之前
一个新的标准块(安全注释、修订云线图例、指北针)需要添加到项目中此后每一张图纸上,但只添加到尚未拥有它的图纸上 — 添加到已有该块的文件会造成重复。
之后
Distribute 把块定义克隆到每一个尚未拥有它的目标文件,已拥有的文件保持原样不动 — 无需手动检查重复。
节省时间
整个项目约 2 小时 → 5 分钟
在整个项目范围内淘汰一个停用的块
之前
某个块被彻底停用(被取代的标准符号、不再适用的注释),整套图纸中对它的每一处引用都需要清除 — 逐个打开文件手动删除实例,既容易漏改,也没有留下任何被删除内容的记录。
之后
Delete Blocks 在一次确认过的运行中清除整个目标集合内所选块定义的每一处引用,可选地限定到特定图层,并先完成备份。
节省时间
整个项目约 3 小时 → 10 分钟
早期测试者怎么说
BlockCopy 尚未正式发布,因此还没有正式客户名单可供引用 —— 以下是来自早期测试者的真实反馈,按角色而非姓名署名。
“工作进行到一半才发现块定义是错的。已经放置了那么多图纸,彻底改正已经不现实了 — 我们只记下这个教训,提醒下次小心,然后继续做下去。”
“项目进行到一半,有人要求新增一项内容,而一半的图纸甚至还没有那个块定义。没有一种干净利落的办法能让所有图纸赶上进度,只能靠手动返工。”