通过重构进行设计重组
概览
- 了解哪些重构命令适用于特定的结构调整任务,包括元器件到图纸、元器件到端口、原理图到器件图纸,以及器件图纸到原理图的转换。
- 了解 Altium Designer 如何在重新组织原理图层次结构时,帮助保留连接关系、符号属性和子电路关联。
- 理解这些功能如何随着设计的演进,支持内容复用、本地化以及更清晰的图纸组织。
传统意义上的重构,是指在不改变现有设计功能(或编程领域中代码功能)的前提下,调整其结构。在 PCB 设计中,以下多种情况下,某种形式的重构都能提供有益且及时的解决方案:
-
某个元件已停产,需要用功能等效的子电路替换。(查看演示)
-
需要将某个原理图设计转变为子电路,以用于更大的设计。(查看演示)
-
需要将现有原理图子页转换为器件图页,以便在未来的设计中复用。(查看演示)
-
需要将现有器件图页本地化,并针对当前设计进行定制。(查看演示)
-
需要将某些现有子电路移至另一张图页。(查看演示)
Altium Designer 提供了多项功能,共同构成其设计重构能力,让您能够根据需求灵活调整设计结构。
将元件转换为图纸符号
此功能可将当前文档中的元件转换为图纸符号。当现有元件已停产,需要用在单独图页上定义的功能等效子电路替换时,此功能尤为适用。
右键单击元件,然后从上下文菜单中选择 Part Actions » Convert Part To Sheet Symbol 命令,即可将元件符号转换为图纸符号。转换后保留连接关系,图纸入口按原引脚名称命名,并将 I/O Type 设置为与原引脚的电气类型一致。
图纸符号的 Designator 初始设置为原元件的位号,其 File Name is 初始设置为该元件的注释文本。
如果所需的子图页已存在,请更改图纸符号的 File Name ,使其指向该图页。如果不存在,可以右键单击图纸符号并选择 Sheet Symbol Actions » Create Sheet From Sheet Symbol 命令,快速创建子图页。在后一种情况下,与符号的图纸入口对应的端口将被放置在新的子图页上,以便定义和连接替代子电路。
将元件下推至新子图页
另一种能够实现类似结果、而且可能更快捷的方法是:右键单击所需元件,然后选择 Part Actions » Push Part To Sheet 命令。 此命令用于将当前文档中的元件下推至新的子图页,并用引用该图页的图纸符号替换原元件。其执行过程基本如下:
-
复制元件。
-
将原元件转换为图纸符号,将 Designator 设置为原元件的位号,并将 File Name 设置为 <OriginalPartComment>.SchDoc。同样,转换后保留连接关系,图纸入口按原引脚名称命名,并将 I/O Type 设置为与原引脚的电气类型一致。
-
根据图纸符号创建新的原理图页,并使用该符号的 File Name 值命名。
-
将原元件的副本粘贴到图页中央,放置与图纸符号的图纸入口对应的端口,并将这些端口连接到元件引脚。
随后,您可以根据需要删除该元件,并用功能等效的电路替换。
使用 Push Part To Sheet 命令,可快速将原元件转换为图纸符号,然后将该元件的副本粘贴到新创建的图页上,
该图页由此符号引用。
将元件转换为端口
此功能用于将当前文档中的元件转换为一组端口。如果需要将现有的独立子设计(例如电源或附属板)转换为子电路,以用于更大的单板设计(例如为了降低制造成本),则此功能尤为适用。这与上一节用较低层级的子电路替换元件的操作相反。此处的操作是将子电路接入较高层级的设计,使其能够连接到层次结构中的上层节点。
右键单击元件,然后从上下文菜单中选择 Part Actions » Convert Part To Ports 命令,即可将元件符号转换为一组端口。转换后保留连接关系,端口按原引脚名称命名,并将 I/O Type 设置为与原引脚的电气类型一致。
使用 Convert Part To Ports 命令,可快速将元件替换为端口,通过这些端口将子电路接入较高层级的设计。
随后,在相应的上层父图页上添加图纸符号,即可完成将子电路接入层次结构的操作。具体步骤如下:
-
激活所需的父图页。
-
使用 Design » Create Sheet Symbol From Sheet 命令。
-
在 Choose Document to Place 对话框中选择相应文档(其中包含由元件转换而来的端口)。
-
光标上将出现一个图纸符号;根据需要在图页中定位,然后单击以完成放置。
图纸符号通过其 File Name 属性引用下层子图页,并具有与子图页上端口对应的图纸入口。

使用 Create Sheet Symbol From Sheet 命令可快速添加图纸符号,从而将子电路接入设计层次结构。
将原理图页转换为器件图页
在某个阶段,面向复用的设计理念必须提升其抽象层次。如果我们 仅停留在元件层面,那么每个包含类似功能(例如 USB 接口或稳压器)的设计,某种程度上都是在“重复造轮子”。这正是 器件图页 发挥作用的地方,即专为提供特定电路功能而设计的原理图页。使用器件图页可以消除传统复制粘贴方式带来的风险,避免重复的设计工作,同时增加可在未来设计中复用的设计内容。
作为重构工具套件的一部分,原理图编辑器允许您将现有的标准原理图页快速转换为器件图页,以便在其他设计中复用。
要将现有原理图页转换为器件图页:
-
在设计层次结构中相应的父图页上,找到引用所需图页的图纸符号。
-
选择图纸符号,然后从主菜单中选择 Edit » Refactor » Convert Selected Schematic Sheet To Device Sheet 命令。将弹出 Convert Schematic Sheet to Device Sheet 对话框。选择用于存储新建设备图纸的目标位置 以及转换范围——是更新当前图纸符号,还是更新设计空间或活动工程中的所有相关图纸符号。后一种方式对于子电路具有多个实例的多通道设计尤其有用。
-
单击 OK。图纸符号将转换为设备图纸符号,原理图将移至指定的设备图纸位置。
设备图纸符号将继承原图纸符号的属性。
将设备图纸转换为原理图图纸
设备图纸可用于保存功能子电路,并在不同设计中重复使用。不过,有时可能需要针对特定设计修改现有子电路。原理图编辑器允许您创建设备图纸的副本,将其电路放到标准原理图图纸上,而不必修改设备图纸本身。这样,您就可以根据当前设计的要求修改本地副本,同时确保原始设备图纸保持不变。
要将现有设备图纸“转换”为原理图图纸:
-
找到引用所需设备图纸的设备图纸符号。
-
选择该设备图纸符号,然后从主菜单中选择 Edit » Refactor » Convert Device Sheet To Schematic Sheet 命令。将弹出 Convert Device Sheet to Schematic Sheet 对话框。选择用于存储新建原理图图纸的目标位置 以及转换范围——是更新当前设备图纸符号,还是更新活动工程中的所有相关设备图纸符号。
-
单击 OK。设备图纸符号将转换为图纸符号,设备图纸的副本将作为标准(不受保护的)图纸保存在指定的本地位置。图纸符号将引用此本地图纸。
转换后,本地原理图图纸将在 Projects 面板 中替换原来的设备图纸。
图纸符号将继承原设备图纸符号的属性。
将选定的子电路移至其他图纸
随着设计的演进,构成设计的源原理图图纸中的内容可能需要调整位置——将某部分电路放在单独的图纸上可能更便于阅读;也可能是某张图纸内容过多(导致难以阅读!),需要将部分电路移至新增图纸或其他图纸。
另一项重构功能是选择图纸上的一个或多个对象,并将其移至其他图纸。操作步骤如下:
-
首先,选择要移动的电路。
-
右键单击,然后从上下文菜单中选择 Edit » Refactor » Move Selected Subcircuit to Different Sheet 命令。将打开 Choose Destination Document 对话框,您可以在其中 指定目标原理图图纸。
-
单击 OK。所选图纸将成为活动图纸,选定的子电路将以浮动状态附着在光标上。
-
根据需要将电路定位到图纸上,然后单击以完成放置。放置后,该电路将从原图纸中移除。
-
如果移动的电路包含一个或多个现有图纸符号,则在 Projects 面板所显示的设计层次结构中,这些符号引用的子原理图图纸将随之移动,归属于这些图纸符号移入的图纸下方 。如果移至新图纸,请在相应的父图纸中添加一个图纸符号,以将该图纸正确纳入设计层次结构。




