Union(联合)是一组被归为一体的对象集合。当对象被分组为一个 Union 后,就可以像操作单个对象一样对其进行移动、修改或删除。它既可以是由用户自定义、由任意选定对象组成的 Union,也可以是软件生成的 Union,例如长度调谐图案、过孔屏蔽等。例如,当你在板上放置过孔缝合(via stitching)时,软件能够将这些缝合过孔识别为一个对象,因为它已自动为它们创建了一个 Union。
创建与修改用户自定义 Union
可以选择任意一组对象,并通过 Tools » Convert » Create Union from Selected Objects,或右键 Union 子菜单来基于它们创建 Union。启动该命令后,将创建一个 Union,并将所选对象作为其成员。信息对话框会确认有多少对象被添加到该 Union 中。
要从当前选中的 Union 中移除一个或多个成员对象,可从主菜单选择 Tools » Convert » Break objects from Union 命令,或在设计空间中右键并从上下文菜单选择 Unions » Break objects from Union 命令(前提是在设计空间中已选中所需 Union 的至少一个成员对象)。启动命令后,将出现 Confirm Break Objects Union 对话框。使用该对话框可确定要从 Union 中移除哪些对象(反过来,也就是要保留哪些对象作为该 Union 的一部分)。

Confirm Break Objects Union 对话框
Options and Controls of the Confirm Break Objects Union Dialog
选择要在 Union 中保留或移除的对象
-
Object Kind - 显示对象类型,例如 Net Label、Component、Text 等。
-
Description - 显示对象的描述,例如 高度/宽度、标号(designator)等。
-
Keep in Union - 启用以将对象标记为从 Union 中移除。
-
All On - 单击以将所有对象标记为从 Union 中移除。
-
All Off - 单击以取消选择所有对象。
要打散(溶解)当前 PCB 文档中定义的所有 Union,请使用主菜单中的 Tools » Convert » Break all objects Unions 命令。所有原成员对象都将不再保持分组。信息对话框会确认移除了多少对象,以及这些对象来自多少个 Union。
要调整所选 Union 的成员对象大小(适用于支持该功能的 Union 类型),在所需 Union 中的某个成员对象上方右键(该对象可选中也可不选中),然后从上下文菜单选择 Unions » Resize Union 命令。光标将变为十字准星,并提示你选择一个对象。只需将光标移到所需 Union 中的对象上并单击,或按 Enter。随后会在一个不可见的包围矩形的角上显示编辑手柄,该矩形包围着 Union 的成员对象。拖动手柄可同时在水平与垂直方向缩放成员对象。若 Union 中某个成员对象无法缩放(例如元件),系统会提示你,并且缩放操作不会继续执行。
浏览 Union
PCB panel 的 Unions 模式允许你以层级视图访问 Union 类型、Union 以及 Union 图元,便于参考。在该面板模式下也可以编辑这些 Union 及其包含的图元。

将 PCB panel 模式设置为 Unions,然后用它来定位、查看并重命名某个 Union。
在 PCB 面板的 Union 模式下,其三个主要区域会变为如下内容(自上而下):
-
PCB 文档中的所有 Union Types(用户自定义 Union、层叠表等)。
-
上方区域中所选 Union 类型下的具体 Unions。
-
Union Primitive(s)构成所选 Union 的 图元。
当选择 PCB 面板的 Unions 模式时,面板会列出在 PCB 编辑器设计空间中检测到的所有 Union。存在时将列出以下类型的 Union:
| Union 类型 |
行为 |
| 钻孔表 |
单击并拖动以移动;单击以选中并显示缩放手柄;双击打开 Properties panel;在面板中右键 Union 名称以重命名。 |
| 长度调谐对象(Accordion、Trombone、Sawtooth) |
单击以选中;在边/顶点上单击并拖动以重塑形状;双击打开 Properties panel;在面板中右键 Union 名称以重命名。 |
| 层叠表 |
单击并拖动以移动;单击以选中并显示缩放手柄;双击打开 Properties panel;在面板中右键 Union 名称以重命名。 |
| 矩形 |
单击并拖动以移动;单击以选中并显示缩放手柄;双击打开 Properties panel;在面板中右键 Union 名称以重命名。 |
| Smart Paste(粘贴的 OLE 对象) |
单击并拖动以移动;单击以选中并显示缩放手柄;双击打开 Properties panel;在面板中右键 Union 名称以重命名。 |
| 用户自定义 Union |
在 Union 中任意对象上右键,然后选择 Unions » Select All In Union。复制、删除、移动、旋转等使用标准选择行为。注意:标准左键单击会选中光标下的对象,而不是 Union。在面板中右键 Union 名称以重命名。 |
| 过孔屏蔽 |
单击以选中;双击打开 Add Shielding to Net dialog;在面板中右键 Union 名称以重命名。 |
| 过孔缝合 |
单击以选中;在边/顶点上单击并拖动以重塑形状;单击并拖动以移动;双击打开 Add Stitching to Net dialog;在面板中右键 Union 名称以重命名。 |
Union 类型
面板顶部区域显示 PCB 文档中的所有 Union Types(User-defined Union、Layer Stack Table 等)。
该面板区域(以及另外两个区域)提供以下右键菜单命令:
-
Select All – 使用此命令选择该面板区域中的所有条目。
-
Clear Filter – 使用此命令移除设计空间中的所有过滤。
Unions
面板中部区域显示所选 Union Type 下的各个 Union。
除 Union Types 区域中可用的命令外,该区域还提供以下右键菜单命令:
-
Break objects from Union – 单击打开 Confirm Break Objects Union dialog 以从指定 Union 中移除所选对象。
-
Select All In Union – 单击以在设计空间中选择该 Union 的所有图元。
也可以在所需 Union 的某个成员对象上右键,并从上下文菜单选择
Unions » Select All In Union 命令,以选中该对象所属 Union 中的所有对象。
-
Deselect All In Union – 单击以取消选择设计空间中该 Union 的所有已选图元。
也可以在所需 Union 上右键,并从上下文菜单选择 Unions » Deselect All In Union 命令,以取消选择当前所选 Union 中的所有对象。
-
Resize Union – 单击以手动调整所选 Union 的大小。运行命令后,指针会变为十字准星,并在一个不可见的包围矩形角上显示编辑手柄,该矩形包围着 Union 的成员对象。拖动手柄可同时在水平与垂直方向缩放成员对象。
-
Explode Length Tuning To Free Primitives – 单击以将所选长度调谐 Union 打散为构成它的走线与圆弧段。
-
Delete Selected Unions – 单击以从面板中删除所选 Union。
-
Rename – 单击打开 Rename Union 对话框以手动输入 Union 的新名称。

Rename Union 对话框
-
Ignore Dead Copper – 单击以为所选 Union 启用 Ignore Dead Copper 选项。启用后,如果在 Design Rule Checker dialog 中启用了 Report Dead Copper larger than 选项,则在 DRC 期间不会将未分配网络的 Union 对象报告为死铜(dead copper)。
注意:对于通过导入图像后自动创建的 Union(使用主菜单中的 Place » Graphics 命令),Ignore Dead Copper 选项默认启用。
Union 图元
面板底部区域显示面板中所选 Union 内包含的所有图元。
除 Union Types 区域中可用的命令外,还提供以下右键菜单命令:
-
Zoom Selected – 用于在设计空间中放大并过滤所选图元。
-
Properties – 单击打开所选图元对应的 Properties 面板模式,例如 Track mode。也可以通过双击某个图元来访问 Properties 面板。
Union 语言关键字
以下两个查询语言关键字可用于处理 Union:
-
InUnion(<Union Index>) - 每个 Union 都会被分配一个数字索引(Index),可用它来标识目标 Union。当你输入数字时,会显示索引列表。
-
InNamedUnion(<Union Name>) - 每个 Union 都有一个系统分配的名称,例如 Union 1,可使用该名称或用户自定义名称来标识目标 Union。例如, InNamedUnion('Logo-Altium'),如下图所示。

通过用户自定义名称定位 Union