Working with Classes on a Schematic & PCB

类的提供是为了使各种命令能够作用于对象类型的子集,例如,一组组件或一组网络。一个对象可以属于多个类。

可以为以下内容创建类:

  • 网络
  • 组件
  • 焊盘
  • 从-到
  • 差分对
  • 设计通道
  • 多边形
  • xSignals

此外,还可以创建结构类。结构类是一种特殊的类,它可以包含任何类型的类作为其成员。

从原理图生成和同步类

在将设计从原理图转移到PCB时,Altium Designer支持生成元件和网络类。在迁移到PCB领域之前花时间配置类将会在PCB空间节省大量时间,并且还将确保原理图是设计信息的真实参考。

可以从原理图生成并同步到PCB的类有两种:

  • 自动类 - 源自总线/线束、组件或图纸内容;以及
  • 用户定义的类 - 源自设计师放置的设计指令。

这些的生成在项目选项对话框的类生成标签中配置(同步由比较器标签中的选项控制)。

使用类生成标签中的选项来配置您需要的自动生成的类,以及是否希望在设计同步期间创建用户定义的类。
使用类生成标签中的选项来配置您需要的自动生成的类,以及是否希望在设计同步期间创建用户定义的类。

在使用约束管理器功能时,请注意,自动生成的网络类别和使用参数集指令定义的网络类别在从原理图更新PCB时不会被检测和转移。只有在约束管理器中定义的网络类别会被转移。

您可以使用约束管理器物理电气视图中右键菜单的从指令导入命令,从原理图中放置的指令导入规则、网络类别、差分对和差分对类别 - 了解更多

自动生成的网络类别

以下网络组可以自动生成网络类别:

  • 为总线生成网络类 - 选中此选项以自动为设计中的每个总线生成一个网络类。一个类的成员将是该总线的各个构成网络(从该类生成)。

    生成的网络类将使用总线的名称命名。
  • 为组件生成网络类 - 选中此选项以自动为设计中的每个组件生成一个网络类。一个类的成员将是与该组件(从该类生成)的引脚连接的相关网络。

    生成的网络类将使用组件的指示符命名,格式为 <ComponentDesignator>_Nets
  • 为总线部分生成单独的网络类 - 选中此选项以自动为每个总线部分生成一个单独的网络类。通过指定实际上是更大总线的一部分的总线来创建总线部分,例如,来自总线 D[15..0]
  • 为命名的信号束生成网络类 - 启用此选项以自动为设计中的每个命名信号束生成一个网络类。一个类的成员将是与由命名信号束收集的信号相关联的网络(从该类生成)。

    命名的信号束有一个附加到它的网络标签。生成的网络类将使用附加到信号束的网络标签的名称命名。
  • 表级类生成网格 - 此区域允许您控制在单个原理图表级别自动生成组件和/或网络类。列出了项目的所有源原理图表,并为每个表提供以下信息:
    • 表名 - 原理图文档的名称。
    • 完整路径 - 文档所在文件夹的绝对路径。
    • 组件类 - 选中此选项以为表生成一个组件类。
    • 网络类范围 - 使用此字段确定是否为表生成一个网络类,如果是,生成的范围。字段的下拉菜单提供以下选择:
      • - 不为此表生成网络类。
      • 仅限本地网络 - 为此表生成一个网络类,但仅包含属于该表的本地网络。
      • 所有网络 - 为此表生成一个网络类,包含与该表相关的所有成员网络(本地和其他地方的)。
    • 结构类生成结构 - 选中此选项以为表生成一个结构类。
    使用列的右键上下文菜单中可用的命令启用/禁用组件类生成或设置网络类生成的范围。可以使用标准的多选技术(Ctrl+点击, Shift+点击, 点击&拖动)选择多个表条目。
    对于顶层表上的组件和/或网络,相应的组件和/或网络类将使用原理图文档名称命名。对于子表上的组件和/或网络,相应的组件和/或网络类将使用表符号指示符命名。
此区域底部的文本会根据所做选择动态变化,并提供将自动生成哪些类的摘要。

自动生成的组件类

通常,原理图项目会跨多个图纸进行结构化,每个图纸代表整体设计的一个逻辑块。为了支持这一点,您可以为项目中的每个原理图图纸自动生成一个包含该图纸上所有组件的组件类,只需启用相应的组件类复选框即可。PCB组件类将与引用该原理图图纸的图纸符号的指示器名称相同。如果图纸不包含任何组件,则不会创建组件类。

自动生成的房间

房间是一个多边形形状的对象,它有助于组件放置。对于每个启用了生成房间复选框的原理图图纸,都会自动创建房间。

生成房间选项位于项目选项对话框的类生成标签页上,默认情况下对新PCB设计项目的原理图表单是禁用的。
要了解更多关于房间的信息,请参阅在PCB上处理房间页面。

自动生成的结构类

结构类可以包括网类、组件类和较低层次的结构类作为其成员。为启用该选项的每个表单创建一个结构类,如果为该表单启用了表级组件和网类选项,则会包括这些类。在PCB编辑器中编辑结构类,以添加其他网/组件/结构类。使用PCB面板的结构模式来定位该结构类中的组件和网。

创建用户定义的类

您还可以通过为相关组件或网络附加参数来创建用户定义的组件类和网络类。如果在项目选项对话框的类生成标签中启用了相应的用户定义的类复选框,则将创建PCB组件和网络类。

用户定义的网络类

对象页面: 参数设置

要将网络(或总线或信号线束中的网络)添加到PCB网络类中,您需要为该网络/总线/线束附加一个参数。您可以通过放置一个参数集对象,并使其一端接触到网络/总线/线束来实现,如下图所示(放置» 指令» 参数集命令)。

在面板的Classes部分,输入网络类的名称,如下图所示。

可以在原理图的不同位置放置多个参数集对象,以将多个单独的网络添加到同一个PCB网络类中。

用户定义的网络类
要将网络添加到PCB网络类中,请将参数集对象附加到原理图网络,然后在参数集对象中添加类定义。

用户定义的组件类

在原理图中,您可以指定当原理图与PCB同步时,组件被添加到PCB组件类中。

为了做到这一点,您需要给组件添加一个参数,将名称字符串设置为ClassName,将字符串设置为所需的值。

使用覆盖层对多个网络应用指令

对象页面: 覆盖层

您还可以通过放置一个覆盖层指令,将多个网络添加到PCB网络类中,该指令覆盖了所有这些网络。覆盖层的功能是允许您对覆盖层下的所有网络应用指令(无论是通过网络标识符(如覆盖层下的网络标签或电源端口)还是覆盖层内包含终点顶点的网络来识别这些网络)。

与其将参数集指令放置在与导线接触的位置,不如将其放置在与毯子边缘接触的位置,如下图所示。请注意,定义PCB网络类名称的是参数集对象内的参数值,而不是参数集对象的显示名称。在下面的示例图片中,参数集也用于定义一个布线宽度设计规则。

Blanket Directive
使用 Blanket 指令将其下所有网络捆绑到一个名为 Power 的 PCB 网络类中。注意,参数集对象名称不用于命名,它仅是视觉参考。

在 PCB 上处理类

可以从两个关键位置浏览和管理活动 PCB 文档的对象类:

  • PCB 面板的相关模式下的类别区域。从这里,您可以添加一个新的用户定义类别(右键点击,然后选择添加类别),或编辑现有用户定义类别的成员(双击或右键点击,然后选择属性)。类别的名称及其成员在相应的编辑类别对话框中定义。
您只能添加和编辑用户定义的类别。默认的系统类别不能被编辑。

示例访问现有用户定义组件类的属性,通过PCB面板(配置为其组件模式)。示例访问现有用户定义组件类的属性,通过PCB面板(配置为其组件模式)。

[折叠 class="" title="编辑类对话框的选项和控制" id="options_and_controls_of_the_edit_class_dialog"]
  • 名称 - 类的当前名称。根据需要编辑此字段。
  • 非成员 - 此区域列出了当前不是该类成员的所有适用类型的原语。使用列表上方的字段快速过滤字段内容。
  • 成员 - 此区域列出了当前是该类成员的所有适用类型的原语。使用列表上方的字段快速过滤字段内容。
在列表上方的某个字段内输入时,列表将仅显示与字符串匹配的字符串。您可以在字符串中使用 ?(任意单个字符)和 *(任意字符)通配符。例如,使用 "*" 显示所有原语,或使用 "D?" 显示所有以字母 D 开头的原语。
  • 类生成器 - 此按钮仅在创建/编辑组件类时可用。点击它访问组件类生成器对话框,可以根据定义的搜索条件快速生成组件类的成员资格。
  • 成员管理按钮 - 使用以下按钮快速在两个列表之间移动原语:
    •  全部添加 - 点击此按钮将 非成员 列表中的所有原语快速转移到 成员 列表中。
    •  添加选定项 (在对话框中) - 点击此按钮将当前在 非成员 列表中选定的原语快速转移到 成员 列表中。
    •  移除选定项 (在对话框中) - 点击此按钮将当前在 成员 列表中选定的原语快速转移到 非成员 列表中。
    •  全部移除 - 点击此按钮将 成员 列表中的所有原语快速转移到 非成员 列表中。
    •  添加选定项 (在设计空间中) - 点击此按钮将设计空间中当前选定的原语从 非成员 列表快速转移到 成员 列表中。
    •  移除选定项 (在设计空间中) - 点击此按钮将设计空间中当前选定的原语从 成员 列表快速转移到 非成员 列表中。
在对话框中选择原语时,支持标准的多选技术(Ctrl+点击Shift+点击点击&拖动)。
  • 通过在PCB编辑器的主设计菜单上选择类别命令,可以访问对象类别浏览器对话框。

对象类别浏览器对话框对象类别浏览器对话框

对象类资源管理器对话框的选项和控制 该对话框包括左侧的静态窗格和右侧的主编辑区域,随左侧选择的变化而变化。 左侧窗格 在对话框左侧的文件夹树窗格中,每种支持的对象类类型都列在“对象类”文件夹下。支持以下类类型: - 网络类 - 组件类 - 层类 - 焊盘类 - 从到类 - 差分对类 - 设计通道类 - 多边形类 - 结构类 - xSignal类 点击根文件夹可以在对话框的主编辑区域访问所有已定义的特定类的摘要列表(如背景图所示)。 点击子对象类类型文件夹可以访问为该类型定义的所有特定类的摘要列表。对于新的PCB文档,各种类类型创建以下默认类: - 网络类 - 所有网络>。 - 组件类 - 所有组件>,底面组件>,板内组件>,板外组件>,顶面组件>。 - 层类 - 所有层>,组件层>,电气层>,信号层>。 - 焊盘类 - 所有焊盘>。 - 从到类 - 所有从到>。 - 差分对类 - 所有差分对>。 - 多边形类 - 所有多边形>。 - xSignal类 - 所有xSignals>。 默认(系统类)通过其名称被封闭在>中来区分。这些类不能被重命名,也不能被删除。 每当在设计中创建/放置适用的设计对象时,它会被添加到相应类类型的默认所有>类中。 点击文件夹树窗格中的特定类条目(或在摘要列表中双击其条目)以访问管理该类对象成员的控制。 右键菜单 右键上下文菜单提供以下命令: - 添加类 - 用于添加当前选中的类类型的新类。该类将被添加,最初没有成员,默认名称为“新类”。 - 删除类 - 用于删除当前选中的类。 - 重命名类 - 用于重命名当前选中的类。 请记住,您不能重命名或删除默认(系统)类。 您也可以通过单击选择类,然后再次点击进入编辑模式来重命名类。 主编辑区域 该对话框的这一区域根据左侧窗格当前选中的内容而变化。它呈现两种不同的视图: - 摘要列表 - 如果在左侧窗格中点击了根“对象类”文件夹或任何子对象类类型文件夹,该区域将呈现所有已定义类的摘要列表,或分别呈现所选类类型的所有类。每个类都以其“名称”和“类类型”列出。 - 成员管理 - 如果在左侧窗格中选择了特定的类,该区域呈现管理其成员对象的控制。 - 非成员 - 该区域列出了当前不是该类成员的适用类型的所有原始图形。使用列表上方的字段快速过滤列表内容。 - 成员 - 该区域列出了当前是该类成员的适用类型的所有原始图形。使用列表上方的字段快速过滤列表内容。 在列表上方的字段中输入时,列表仅显示与字符串匹配的字符串。您可以在掩码字符串中使用“?”(任何单个字符)和“*”(任何字符)通配符。例如,使用“*”显示所有原始图形,或使用“D?”显示所有以字母“D”开头的原始图形。 特定类型的设计对象可以属于(是其成员)为该对象类型定义的任意数量的类。 - 组件类生成器 - 仅在编辑组件类时可用。点击它访问组件类生成器对话框,可以根据定义的搜索条件快速生成组件类的成员资格。 - 成员管理按钮 - 该区域提供以下按钮,以快速在两个列表之间移动原始图形: - 添加所有 - 点击以快速将所有原始图形从非成员列表转移到成员列表。 - 添加选中(在对话框中) - 点击以快速将当前在非成员列表中选中的原始图形转移到成员列表。 - 移除选中(在对话框中) - 点击以快速将当前在成员列表中选中的原始图形转移到非成员列表。 - 移除所有 - 点击此按钮以快速将所有原始图形从成员列表转移到非成员列表。 - 添加选中(在设计空间中) - 点击此按钮以快速将当前在设计空间中选中的原始图形从非成员列表转移到成员列表。 - 移除选中(在设计空间中) - 点击此按钮以快速将当前在设计空间中选中的原始图形从成员列表转移到非成员列表。 点击一个已有的用户定义类以显示其成员并根据需要进行修改。要添加一个新的用户定义类,请在您想要创建类的类别内右键点击,然后从上下文菜单中选择添加类。一个新的类将以默认名称新类出现在列表中。点击类名以访问并定义其成员。要重命名一个类,可以点击其名称,然后再次点击以便进行编辑,或者右键点击它并选择重命名类。 请注意,对于选定的对象,有转移按钮;通常,先在设计空间中选择对象,然后使用这些转移选定按钮来构建类别会更容易。如果您之前已经使用“查找相似对象”对话框、PCB面板、列表面板等创建了一个选择,那么下图所示的按钮应该是可用的。按下此按钮会将选择从非成员列转移到成员列。

从选定对象创建类

对于PCB编辑器的某些对象,您可以使用编辑器的特定控件为这些对象创建一个类:

  • 要创建新的网络类,请在设计空间中选择两个或更多网络对象,然后选择主菜单下的设计»网表子菜单或选中网络对象右键菜单的网络操作子菜单中的从选定网络创建网络类命令。使用随后打开的对象类名称对话框来指定新网络类所需的名称。

    了解更多关于网络类
  • 要创建新的多边形类,请在多边形管理器对话框中选择所需的多边形条目,然后点击新建多边形类按钮。你将需要在对象类名称对话框中为新的多边形类提供一个名称。

对象类名称对话框 组件类生成器

在添加或编辑组件类时,您可以基于定义的搜索条件快速生成其成员身份。这是通过使用组件类生成器对话框来执行的,可以通过点击类生成器按钮(位于编辑组件类对话框的左下角)或组件类生成器按钮(位于对象类资源管理器对话框的左下角)来访问。可以使用一系列属性有效地“捕获”您想要作为类成员添加的组件,包括设计器评论足迹。点击按钮后,所有与搜索条件匹配的组件都会被添加到类中。

使用结构类

Altium Designer 已经提供了高质量、健壮的支持,用于在从原理图转移到 PCB 时生成类(组件和网络)的功能。这种支持被提升到了一个新的水平,能够定义在 PCB 文档中生成类的层次结构。本质上,这使您能够在工作表级别将组件和/或网络的类组合到一个从该工作表生成的父类中,该父类本身可以是上面父类的子类,一直到您设计中的顶层工作表,从本质上讲,这是顶层生成的父类(或“超类”)的来源 - 类结构层次的头部。这些生成的父类被称为结构类。结构类不仅允许在 PCB 领域内复制原理图文档结构,用于高级导航,而且还可以在逻辑查询中使用,例如在定义设计规则范围或过滤时。

结构类概念

结构类是一种特殊的类,它可以包含任何类型的类作为其成员:

  • 网络类
  • 组件类
  • 层类
  • 焊盘类
  • 起止类
  • 差分对类
  • 设计通道类
  • 多边形类
  • 其他结构类。

通过在项目中的每个原理图表单自动生成一个结构类 — 包含组件和/或网络 — 当设计转移到PCB时,可以在PCB侧忠实地表示项目的结构。

结构类对象是PCB中分层类结构的驱动力,它是一种整洁的方法,本质上用于将一个原理图页面的组件和网络“分隔”开来。使用结构类,可以构建任意深度的层次结构。主要是通过原理图源文件的层次性质来定义结构,但如果您愿意,也可以直接在PCB侧添加、管理和删除结构类。

将类层次结构引入PCB - 结构类的概念允许忠实地复制项目层次结构,每个结构类基本上代表一个单独的原理图页面,生成的子类包括成员组件和/或其上的网络。
将类层次结构引入PCB - 结构类的概念允许忠实地复制项目层次结构,每个结构类基本上代表一个单独的原理图页面,生成的子类包括成员组件和/或其上的网络。

结构类反映了设计层次结构 - 即原理图页面本身的层次结构。就组件和网络类别而言,特定结构类内的成员资格当然取决于从源原理图页面生成组件和网络类别时指定的选项。

根据您的需求定制结构类的成员身份。请记住,尽管项目层次结构可以以自动化方式传递,但最初的成员身份将是组件类和/或网络类和/或其他结构类。根据需要,使用现有的结构类,或者在整个层次结构中创建新的结构类,来组织PCB文档所需的其他类类型。

结构类的自动生成

从PCB设计项目的原理图表中自动生成结构类的设置是在项目选项对话框的类生成标签页上定义的(项目 » 项目选项)。要从项目中的源原理图表生成结构类,只需启用其关联的生成选项,位于结构类列中。


指定在与PCB文档同步设计时,哪些原理图表单将生成结构类。

每个自动生成的结构类都使用其对应的原理图子表单被引用的表单符号/设备表单符号的指示器来命名。顶层表单是一个例外,其对应的结构类使用该表单的文件名来命名。

比较器和ECO生成支持

通过 Altium Designer 的比较引擎,可以实现源原理图文档与 PCB 之间的同步,通过执行修改来解决检测到的差异,这些修改通过工程更改订单(ECOs)实施。为了支持结构类,相应地增强了比较器和 ECO 生成器。 为了检测与结构类相关的差异,在“项目选项”对话框的比较器标签中添加了一个新的部分 - 与结构类相关的差异
针对结构类的额外比较测试。 为了支持所需的变更指令以确保同步,ECO 生成标签页中新增了一个相应的新部分,位于项目选项对话框中 - 与结构类相关的修改

结构类的额外修改类型 - 用于生成适当的变更指令以维持源原理图与PCB之间的同步。展示了一个ECO示例,以说明将结构类添加到PCB中。
结构类的额外修改类型 - 用于生成适当的变更指令以维持源原理图与PCB之间的同步。展示了一个ECO示例,以说明将结构类添加到PCB中。

结构类的手动定义

与PCB文档中的其他类型的类一样,您可以手动直接从PCB文档中创建和管理结构类。这可以通过PCB面板在浏览类结构层次时完成,或者通过对象类资源管理器对话框设计» 类别)完成。考虑到后者,在结构类文件夹下定义结构类,右键菜单上有熟悉的命令来根据需要添加、重命名或删除命令。对于新的或现有的结构类,根据需要定义其成员。这些可以包括PCB设计中支持使用的任何类类型。


就像在PCB中管理任何其他类型的类一样,直接通过对象类资源管理器对话框创建和管理您的结构类。

浏览类结构层次

PCB面板的结构类模式下,其三个主要区域会变化以反映以下内容(从上到下排序):

  • 当前为PCB文档定义的所有结构类列表;这些自动从原理图表生成的,以及在PCB本身中定义的。
  • 选定结构类中定义的所有
  • 构成每个类的个别类成员(组件、网络等)。

PCB面板的模式设置为结构类,以浏览PCB文档的整体类层次结构。当您在面板的各个区域中点击一个(或多个)条目时,主设计窗口中的显示将会改变,以反映所应用的过滤。

结构类别区域

面板的顶部区域列出了当前为PCB文档定义的所有结构类。这些包括从PCB项目的源原理图文档自动生成的(由图标表示),以及在PCB文档本身中手动定义的(由图标表示)。点击结构类旁边的箭头图标将显示从该类派生的结构类层次结构。通过展开顶级结构类,您可以看到完整的层次结构。
示例PCB的结构类别 双击结构类别条目以访问编辑结构类别对话框,在该对话框中,您可以更改类别的名称,并根据需要重新定义其成员(任何类别类型)。


一个熟悉的编辑对话框,用于根据需要对结构类进行更改。

此区域的右键菜单提供以下命令:

  • 全选 – 选择当前层次结构分支中的所有结构类条目。
  • 清除过滤 – 清除设计空间中的过滤。
  • 报告 – 生成一个报告,展示所有定义的结构类的平面列表。报告将在报告预览对话框中打开预览。
  • 属性 – 访问当前选中(并聚焦的)结构类的编辑结构类对话框。此命令与直接双击条目相同。
  • 添加类 – 添加一个新的结构类。定义(名称和成员资格)是通过编辑结构类对话框进行的。
  • 删除类 – 删除选中的结构类。

类别区域

面板的中间区域列出了上方所选结构类别中的所有类成员。

所选结构类别的示例类成员。
所选结构类别的示例类成员。

双击类条目可以访问关联的编辑对话框,在那里您可以根据需要更改类的名称并重新定义其成员。


组件类条目的相关编辑对话框。

此区域的右键上下文菜单提供以下命令:

  • 全选 – 选择区域内的所有类条目。
  • 清除过滤器 – 清除设计空间中的过滤。
  • 报告 – 生成一个报告,展示区域内所有类的列表。报告将在报告预览对话框中打开以供预览。
  • 属性 – 访问当前选中(并聚焦)的类的相关编辑对话框。此命令与直接双击条目相同。

类成员

面板的底部区域列出了上方所选类别中的所有成员。


所选类的示例成员。

双击类成员条目可以访问属性面板的相关模式,在此您可以更改类的名称并根据需要重新定义其成员。

此区域的右键菜单提供以下命令:

  • 全选 – 选择区域内的所有类成员条目。
  • 清除过滤器 – 清除设计空间中的过滤。
  • 报告 – 生成一个报告,展示区域内所有类成员的列表。报告将在报告预览对话框中打开以供预览。
  • 属性 – 访问当前选中(并聚焦)的类成员的相关属性/编辑对话框。此命令与直接双击条目相同。
  • 选中区域缩放 – 这仅适用于原始对象条目。设计空间将根据定义的缩放级别缩放到该对象。请注意,如果作为面板高亮控制的一部分启用了缩放选项,则此命令无效。

在逻辑查询中使用结构类

逻辑查询是在设计中定位对象时的基本驱动力。它们可以在限定设计规则的范围时使用,以特定(且必需)的方式约束设计,或者在设计工作区中过滤对象。查询语言已经增强,以适应在构建逻辑查询表达式时使用结构类。以下关键字已添加到PCB功能 - 成员检查部分:

InStructureClass - 检查对象类是否在指定的结构类中。

在构建用于限定设计规则范围的查询时,也可以使用此关键字。它支持在查询助手对话框和查询构建器对话框中使用。

一个示例,展示了不同结构类中的成员对象之间的间隙规则。
一个示例,展示了不同结构类中的成员对象之间的间隙规则。

在创建逻辑查询时使用此关键字,该查询将用于过滤表达式中 —— 快速过滤出从指定结构类内部降级的所有低级成员对象。


快速过滤设计空间中属于特定结构类的所有对象。

如您发现任何问题,请选中相关文本/图片,并按 Ctrl + Enter 键向我们提交反馈。
功能可用性

您可使用的功能取决于您所选择的 Altium 解决方案 —— Altium DevelopAltium Agile(Agile Teams 或 Agile Enterprise 版本),或仍在有效订阅期内的 Altium Designer。

如果您在软件中未找到文中提及的功能,请联系 Altium 销售团队了解更多信息。

旧版文档

Altium Designer 文档不再提供版本区分。如果您需要访问 Altium Designer 旧版本的文档,请前往其他安装程序页面的旧版文档部分。

Content