在 CircuitMaker 中支持设计变体
与变体相关的命令允许你为当前项目配置并切换变体。这些命令可在 PCB 和原理图编辑器的 Project | Project Actions 分组中使用,下图为 PCB 编辑器中的示例。
- Current Variant - 使用下拉菜单在基础设计([No Variations])与任何已定义的变体之间切换。
- Variants - 单击以打开 Variant Management dialog,你可以在其中为该设计添加并配置变体。
设计变体
当某个产品需要以该产品的多种 variations 形式进行设计与生产,并且每种形式具有不同的选项或能力时,实现 Design Variants 的能力可以避免为每一种变化都创建一个独立的设计版本。
在实际应用中,设计变体使用相同的基础设计,但 PCB 装配时会根据该变化所指定的元件集合进行贴装。随后,在生成设计的制造输出(BOM、P&P、装配图等)时可以指定某个变化,从而决定产品将如何被装配。
基于同一基础设计创建 variations 的能力,为在 CircuitMaker 中创建设计项目提供了显著的灵活性。通过变体,你可以定义任意数量的基础设计变化,并将每个元件配置为贴装或不贴装。
使用这些变化类型的设计变体统称为 Assembly Variants,因为它们只影响装配过程——在这种情况下,所有变体共享同一块已制造的裸板。还支持对 PCB 上的元件叠加层(overlay)信息进行变化,例如更改元件的注释(comment)。这种变化需要制作两套叠加层丝印,从而导致制造两种不同的裸板。这类变体称为 Fabrication Variant。
理解逻辑元件与物理元件
理解 CircuitMaker 中本质上存在两类元件会很有帮助:逻辑元件与物理元件。区别在于,放置在原理图页上的元件是逻辑元件;每个逻辑元件都是一个概念实体,用来表示最终会安装到已装配 PCB 上的物理元件。
这种一对一的“逻辑到物理”模型对简单设计很有效,但无法支持当今电子产品设计师所需的全部设计需求。CircuitMaker 支持强大的概念,例如多通道设计(multi-channel design),可将一段电路按需复制多次;以及变体(variants),使单一设计可通过为每个板卡变体贴装不同元件来实现。此类特性要求一个逻辑元件能够代表多个物理元件。
CircuitMaker 通过其编译器技术提供这种“一对多”的能力。当逻辑设计被编译(自动化过程)后,每个物理元件都会在内存中实例化,准备传输到板级设计空间。
为满足在原理图层面需要访问物理元件的场景(例如定义设计变化),物理设计也会通过原理图页底部的标签页在原理图编辑器中提供。在这里,最左侧的 Editor tab 选择(常规的)已捕获的逻辑设计,而其他“已编译”的标签页则表示将被传输到 PCB 设计空间的等效物理设计。请注意,在已编译标签页中显示的原理图无法进行图形化编辑,例如不能修改连线或移动元件。
变化类型
在创建变体之前,你需要先创建原始设计,即 base design。以基础设计为起点,然后通过配置元件为“贴装(Fitted)”或“不贴装(Not Fitted)”来完成变体设置。
- Fitted - 这是元件的默认状态。如果为 Fitted,则表示未发生变化。创建新变体时,所有元件默认都是 Fitted。状态为 Fitted 的元件在 Variant Management 对话框中以空单元格表示。
- Not Fitted - 如果元件被设置为 Not Fitted,它仍然存在于原理图中并会传输到 PCB,但会从相应的输出文档(例如 BOM)中移除。你可以配置不贴装元件在文档中的呈现方式,例如在原理图和 PCB 图纸输出中用叉号标记。
变体管理对话框
Variant Management 对话框(Project | Project Actions | Variants)是定义设计变体的“指挥中心”。该对话框包含两个主要区域:
- 上方的 Components for project 区域:列出基础设计中的所有元件,并在适用时显示已定义变体的列。
- 下方的 Component Parameters 区域:详细显示在上方区域中当前选中元件的所有参数,并在适用时显示已定义变体的列。
对话框底部还有以下附加控件,其中许多会在本文后续说明:
- Add Variant – 单击以打开 Edit Project Variant dialog,用于基于基础设计创建新变体。使用该对话框可添加、编辑或删除变体,并指定所需的变体级参数数据。此按钮包含一个下拉菜单,用于访问 Clone Selected Variant 命令。克隆在需要定义多个非常相似的变体时尤其有用。
- Delete Variant – 单击以删除所选变体。删除前会弹出对话框进行确认。
- Edit Variant – 单击以打开 Edit Project Variant dialog 来编辑某个变体。 –
- Detailed Report 单击 以打开 Variant Report dialog,生成 HTML 格式的详细变体报告。
- Drawing – 单击 以打开 StyleVariant Options dialog,你可以在其中定义未贴装元件与已变化参数的显示方式,包括在原理图的文档视图与原理图打印中的显示方式。你也可以定义这些元件在 PCB 装配图中的外观。 – 启用后会根据内容自动调整列宽。
- Fit to Width
创建新变体
单击 Add Variant 按钮 以基于基础设计创建新变体。将打开 Edit Project Variant dialog,你可以在其中为变体指定一个有意义的名称(在 Description field 中),并设置所需的变体级参数数据。Variant Management 对话框右侧会出现一个新列,列标题为该变体名称。所有单元格将为空;空单元格表示该元件为贴装状态,且与基础设计一致、未发生变化。
Variant Management 对话框包含多项界面特性,用于辅助显示有用信息。这些特性可通过 right-click 上下文菜单进行配置。

常用命令包括:
- Set Selected As – 子菜单,用于选择变化类型(Fitted、Not Fitted)。可替代在元件单元格中单击
控件。仅在右键单击某个变体的元件单元格时可用。 - Only Show Varied Parameters – 在 Variant Management 对话框中仅显示已应用某种变化的元件。
- Filter – 子菜单,用于控制在 Variant Management 对话框中显示哪些变化类型(Varied Parameters、Not Fitted)。与 Only Show Varied Parameters 命令配合使用效果很好。
定义元件变化
要配置每个变体的状态, 单击新变体列中的 Component Variation 单元格以显示
按钮。单击该按钮后,将打开 Edit Component Variation 对话框

使用该对话框可从以下选项中选择。
-
Fitted – 基础设计中使用的原始元件在该设计的此变体中同样贴装/使用。对于新添加的变体,所有元件默认都是贴装状态,因此这些贴装元件的单元格为空。请注意,对于贴装元件也可以变化单个参数:只需在该变体的 Parameters 区域中输入新的参数值即可。
-
Not Fitted – 基础设计中使用的原始元件在该设计的此变体中不贴装/不使用。对于 Not Fitted 状态,单元格会显示文本 Not Fitted,并且对话框下方的 Parameters 区域将为空。
变体管理器数据的显示
Variant Management 对话框包含一些特性,用于帮助控制显示的数据量,这在处理大型设计时尤其有用。
- 要移除不感兴趣的列,请在对话框的 upper 区域内右键单击,并使用右键菜单中的 Columns 选项来切换任意列的可见性。
- 要仅显示正在发生变化的那些元件,请在对话框的 upper 区域内右键单击,并从右键菜单中选择 Only Show Varied Components 选项。
- 当选择了 Only Show Varied Components 模式后,再次右键单击并配置 Filter 选项。
- 要更改所列 Variants 的顺序,选择并拖动某个 variant 列标题到新位置。将此操作与 Fit to Width 复选框结合使用,以定位并调整你关注的 variant 的位置与大小。
重置 Variant 数据
当你在 Variant Management 对话框中配置变体时,这些设置会保存在项目文件中。这包括 Not Fitted 状态以及对已装配(Fitted)元件的本地参数变化。Variant Management 对话框包含用于将参数重置回基础设计所用标准值的命令。
重置已变化的参数
在 Variant Management 对话框中被本地修改的参数,可以通过在 Variant Parameter 列表中对已修改的参数右键单击,然后从菜单中选择 Reset Selected(如下所示)来恢复为原始值。注意,你可以多选并在一次操作中重置多个参数的值,或重置该元件的 Reset All 参数。
为多个元件更改多个参数
Variant Management 对话框支持多选,这意味着可以在对话框上方(Component)区域同时选择任意数量的元件,然后对对话框下方(Parameters)区域中选定的任意数量参数执行更新。该对话框还提供筛选器(通过右键菜单),以进一步细化选择范围和显示的数据。
例如,要在所有 variants 中重置所有元件的手动变化参数:
- 在对话框上方(Component)区域,使用 Only Show Varied Components 右键菜单选项,并结合右键 Filter 选项来仅 Show Fitted with Varied Parameters。此时元件列表应只显示那些具有手动变化参数的元件。
- 在元件列表中右键单击,并从右键菜单中选择 Select All。对话框上方区域当前显示的所有元件都会被选中。
- 然后在对话框下方(Parameters)区域右键单击,并从该右键菜单中选择 Select All。此时将选中所有元件的所有参数。注意,也可以改选 Select Column 命令,这将允许把某个操作(例如 Reset)应用到特定 Variant(列)中的元件。
- 再次在参数列表中右键单击,并从右键菜单中选择 Reset Selected。
使用 Variant 参数
CircuitMaker 支持项目不同层级的参数。例如,你可以在 Inspector panel 的 Document Options 模式下,为每张原理图页添加文档级参数。你也可以在 Project Options 对话框的 Parameters tab 中为项目添加项目级参数。还可以在 Edit Project Variant 对话框中为某个 variant 添加参数。
参数具有层级关系,这意味着你可以在项目的不同层级创建同名参数,但赋予不同的值。CircuitMaker 按如下方式解析:
- Variant(最高优先级)
- 原理图文档
- 项目
这意味着:在原理图文档中定义的参数值会覆盖项目选项中定义的值,而在 variant 中定义的值会覆盖原理图文档中定义的值。
在原理图编辑器中使用 Variants
CircuitMaker 的原理图编辑器包含一系列功能,可在原理图捕获过程中完整呈现元件变化情况,如下所述。
检查已变化的元件
在原理图上检查 variant 细节的操作如下:
- 使用 Project | Project Actions | Current Variant 字段选择所需的 variant。
- 选择位于原理图页底部的已编译(compiled)标签页。
- 随后,页面上发生变化的元件将以 Variant Options dialog 中配置的样式显示。
从原理图中选择 Variant 元件
通常,直接从原理图页上放置的元件进行操作,比在对话框的元件列表中上下滚动更容易。先在页面上选择元件,然后右键单击,再从菜单中选择 Part Actions » Variants
Variant Management 对话框将打开,并只显示所选元件。完成所需变化后,单击 OK 将其应用到设计中。
以图形方式编辑元件变化
也可以在原理图中以符号级别直接操作来创建和编辑元件变化。注意:原理图编辑器必须处于已编译的 variant 视图(由下方标签页选择),并在 Project | Project Actions | Current Variant 下拉框中选中所需 variant。
在原理图上对某个元件右键单击,并使用右键菜单中的 Part Actions » Toggle Fitted / Not Fitted 命令,可快速切换该元件在该 variant 设计中的 Fitted 或 Not Fitted 状态。该更改会自动回写到 Variant Management 对话框中。
图形化参数编辑
可以直接对显示出来的元件 variant 参数进行修改:选中参数文本后,再次单击该文本以进入编辑模式。所做的任何更改都会被 Variant Management 对话框中该元件的条目采纳。
在 PCB 编辑器中使用 Variants
在 PCB 编辑器中,所有 variants 的所有元件封装(footprint)始终都会显示。这是必要的,因为所有装配 variants 的所有封装都必须作为裸板制造的一部分被制作出来。随后在装配过程中加载哪些元件,才决定构建的是哪个 variant。
由于 PCB 上始终可见所有封装,因此可能难以判断哪些元件属于哪个 variant。PCB 编辑器提供 Project | Project Actions | Current Variant 下拉框,可用于在 variants 之间切换。然而,用于判断某个元件在该 variant 中是 fitted 还是 not fitted 的唯一可见线索,是该元件是否包含 3D body。该 3D body 会通过出现/消失来指示元件是否 fitted 或 not fitted。在 PCB 处于 3D 模式时,这种 fitted/not fitted 行为会更容易观察到 (View | View » Switch to 3D,键盘快捷键:3)。
查看已变化的元件 Comment
CircuitMaker 允许由 variants 驱动制造输出。更具体地说,这允许你指定对元件 Comment 参数的更改。该更改会传递到制造输出——生成的 Gerber 或 ODB++ 输出的丝印层。PCB 编辑器支持对此类更改的可视化显示;Comment 字段会在设计空间中直接反映当前所选 variant 分配的值。
在定义好 variants 后,在 PCB 设计空间中找到一个你关注的元件,其 Comment 参数已发生变化,然后通过 Project | Project Actions | Current Variant 下拉字段切换当前 variant。显示出来的 comment 值会根据当前 variant 中的定义而变化。
Variant 错误
变体设置存储在项目文件(*.PrjPcb)中。当打开 Variant Management 对话框时,会读取并分析这些数据,然后将其加载到 Variant Management 对话框中。如果在加载数据期间检测到问题,例如元件标号或元件 UID 不匹配,将会打开 Information 对话框并显示问题。元件 UID 不匹配会在关闭对话框并保存项目后自动解决,以保留修正结果。重复的标号必须在原理图层级解决。
编辑项目变体对话框
此对话框提供在初次为设计添加新变体,或编辑/克隆现有变体时所需的控件。它允许为变体指定一个有意义的名称,并可指定变体级的参数数据。

可通过以下方式从 Variant Management 对话框访问该对话框:
- 单击 Add Variant 按钮。
- 在已有变体处于活动状态时,单击 Edit Variant 按钮。
- 将需要克隆的变体设为活动后,单击与 Add Variant 按钮关联的下拉箭头,然后从菜单中选择 Clone Selected Variant 命令。
该对话框的关键命令如下所述。
- Allow variation of fabrication outputs - 启用此选项可让变体驱动设计的制造输出。本质上,该功能允许你更改设计中某个元件的注释(comment),并将此更改传递到以下制造输出中:
- Gerber 文件
- ODB++ 文件
- 复合钻孔图
- 钻孔图/导引图
- 最终菲林输出打印
- Parameters - 此区域以如下方式列出当前为该变体定义的所有参数:
- Add - 单击以向列表添加新参数。将打开 Parameter Properties 对话框,你可以在其中定义该参数。

- Edit - 单击此按钮打开 Parameter Properties 对话框,以修改当前选中的参数。
变体选项对话框
Variant Options 对话框包含用于配置以下内容的选项:在原理图页上(并会流向打印或 PDF 输出)以及在 PCB 绘图类输出(例如装配图)中,如何呈现发生变化的元件。
配置在原理图和 PCB 绘图输出中,如何呈现已定义变体中“不装配(not fitted)”的元件。
通过单击 Variant Management 对话框底部的 Drawing Style 按钮访问该对话框。
变体报告对话框
Variant Report 对话框提供用于配置并生成已定义项目变体的详细 HTML 格式报告的控件。
- Report Only Varied Components - 用于确定报告中包含的具体信息:
- Full Non-Varied Information(选项禁用)- 列出所有元件,显示它们在每个已启用变体中的包含状态。对每个元件,会列出所有参数及其取值。
- Full Varied Information(选项启用)- 仅列出在已启用变体之间以某种方式发生变化的元件,显示它们在每个变体中的包含状态。对每个元件,仅列出在变体之间以某种方式发生变化的参数及其取值。
- Project Variants - 列出原始基础设计(<Original Base>)以及所有已定义的变体。生成的报告可以将某个特定变体与基础设计进行比较、将一个变体与另一个变体进行比较,或将所有变体与基础设计进行比较。默认情况下,所有已定义变体以及原始基础设计都会被启用并纳入报告。使用相应的复选框按需包含/排除实体。
- Run - 单击以生成变体报告。报告将被创建并作为活动文档在主设计空间中打开。
受变体影响的输出文档
装配变体会影响所有包含元件采购或装配(加载)细节的输出文档。这包括:
- 物料清单
- 原理图打印
- PCB 打印
- PCB 3D 打印
- 装配图
- 贴片坐标(Pick and Place)文件
制造变体还会影响以下输出:
- Gerber 叠加层
- ODB++ 叠加层



