Inventor 2026 按规则批量重命名（iLogic 外部规则）
=================================================

文件
----
Inventor_按规则批量重命名_iLogic.vb

安装
----
1. 把 .vb 文件放到 Inventor 的“外部规则目录”。
2. Inventor：工具 -> 选项 -> iLogic 配置，确认该目录已加入“外部规则目录”。
3. 打开一个已保存的 IPT、IAM、IDW 或 DWG。
4. 在 iLogic 浏览器的“外部规则”中运行本规则。

输入窗口
--------
规则会扫描：
- 当前三维零件/装配；
- 当前设计引用的 IPT、IAM；
- 与模型同目录、同基本名的 IDW/DWG；
- 装配中使用的 iPart/iAssembly Member；
- Member 对应的工厂文件；
- 工厂 MemberCacheDir 中已经生成、即使当前装配未使用的全部 Member。

名称模板支持：
- {原名}：原文件基本名；
- {图号}：Inventor“零件代号/Part Number”，为空时使用原名；
- {序号}：从指定起始值生成的流水号；
- {类型}：3D 或 2D。

输入框示例：
- 名称模板填写 PRJ-{图号}-{序号}
- 查找、替换均可留空；
- 起始序号填写 1；
- 位数填写 3；
- 预览结果类似 PRJ-A100-001.ipt。

“查找”用于填写需要从模板结果中移除或替换的文字，“替换”填写新文字；
替换框留空时表示删除查找到的文字。查找和替换位于窗口第二行，填写后点击
右侧独立的“确认查找/替换”按钮即可应用并刷新清单。把鼠标停在各输入框上
也会显示使用提示。

点击窗口右下角、位于“执行”和“取消”旁边的蓝色“预览输入/输出”按钮后，
表格显示每个输入文件和输出文件名；输出列可以直接手工修改，也可以取消
某一行的“处理”勾选。

“预览输入/输出”只刷新表格，不会复制、改名或删除任何文件。确认预览无误后，
再点击窗口右下角的“执行”按钮。

预览清单按主装配浏览器中的 occurrence 顺序递归排列，每个模型的同名二维
图纸紧跟在该模型之后；不属于装配 occurrence 的工厂或其他文件排在清单末尾。
黄色行表示 iPart/iAssembly Member，蓝色行表示 iPart/iAssembly 工厂，
普通文件为白色；名称冲突仍使用红色，优先于类型颜色。

若不同源文件按模板得到相同的输出名称，预览会自动为后续文件追加
“-001、-002……”以保证同目录同扩展名的输出唯一。例如两个零件的图号均为
A100，输出会自动成为 A100.ipt 和 A100-001.ipt。手工编辑输出列后如果再次
形成重复名称，对应行会立即标红并禁止执行。

三维装配和三维零件也不允许使用相同的基本名。若装配体和第一个零件按规则
都得到 A100，装配体优先保留 A100.iam，零件自动命名为 A100-001.ipt；
该零件的同名图纸相应命名为 A100-001.idw。

若一个子件将改名，它的父装配/父图纸也必须勾选并使用新文件名；规则会在
执行前检查这一点，防止新旧文件混用或删除旧文件后出现断链。

二维规则
--------
同目录同基本名的二维图纸自动跟随三维模型。例如：
  输入：A100.ipt、A100.idw
  模板：PRJ-{图号}
  输出：PRJ-A100.ipt、PRJ-A100.idw

iPart/iAssembly Member 规则
---------------------------
若 Member 文件名以工厂文件名开头，Member 自动继承工厂的新前缀。例如：
  输入：A.ipt（工厂）、A-4.ipt（Member）
  工厂输出：002.ipt
  Member 输出：002-4.ipt

规则使用 Inventor 文件副本保留 InternalName，再通过 ReplaceReference 重定向
新装配和新图纸的引用。这样可避免普通资源管理器改名造成的引用丢失。

重命名工厂时，规则会更新工厂表并重新生成所有已存在的 Member。新 Member
和引用全部验证成功后，规则会主动询问是否删除过期的旧 Member 子文件及
原过期 Member 文件夹。

为避免误删，只有旧工厂的 MemberCacheDir 是“与旧工厂同目录、文件夹名称
等于旧工厂基本名”的专用目录，并且新输出已全部迁出时，才会递归删除整个
旧 Member 文件夹。共享目录、工作区根目录或重解析点目录不会被递归删除。

Inventor 可能在工厂改名后改变 Member 缓存子目录。执行阶段会读取新工厂的
MemberCacheDir，并以 Inventor 实际生成的完整路径更新装配引用，不再假定
新 Member 与旧 Member 位于同一目录。

输出窗口
--------
完成后显示复制、引用更新、旧文件删除等逐项日志，可点击“复制日志”。
全部操作成功后，规则会自动重新打开并激活新名称的主装配体。从工程图启动时，
优先打开该工程图直接引用的装配体；没有主装配时会打开扫描结果中的装配体。

安全说明
--------
- 先生成并验证新设计，成功后才弹出旧文件清理确认框。
- 清理确认框默认选择“否”；选择“否”会保留完整旧设计，选择“是”才会删除
  旧文件、过期 Member 和符合安全条件的原 Member 文件夹。
- 删除阶段发生文件占用等错误时，已经验证成功的新文件会被保留，不会回滚删除。
- 执行前请备份项目；Vault 管理文件应在 Vault 中执行重命名，不应使用本规则。
- 只读文件默认不处理。
- 工厂表中尚未生成过文件的行不会为了重命名而额外生成。
