变体
Parent page: 探索 CircuitStudio
创建同一基础设计的不同变体,是 CircuitStudio 的一大优势,也能显著提升设计人员的生产力。使用变体,你可以定义任意数量的基础设计变体,并将每个元件配置为:
- 装配
- 不装配
- 装配但修改元件参数,例如元件的数值。
使用上述任意一种变化类型的变体,统称为 Assembly Variants,因为它们只影响装配过程——所有变体共享同一块已制造的裸板。CircuitStudio 也支持对 PCB 上的元件丝印/叠加层信息进行变化,例如更改元件的注释。此类变化需要生成两套叠加层,从而得到两种不同的裸板。这类变体称为 Fabrication Variant。
本文将更深入地介绍如何在 CircuitStudio 中定义和管理变体。
理解逻辑元件与物理元件
在 CircuitStudio 中,元件分为两类:逻辑元件和物理元件。这一区分非常重要,因为它是 CircuitStudio 一些最强大功能的基础。你在原理图页上放置的元件是逻辑元件——每个都是一个概念实体,用来表示最终装配到 PCB 上的实际元件。
这种一对一的“逻辑到物理”模型适用于简单设计,但无法满足当今电子产品设计人员所需的全部设计要求。CircuitStudio 支持一些强大的概念,例如:多通道设计(将一段电路按需复制多次);以及变体(同一设计可在不同板卡变体上装配不同元件)。这类功能要求一个逻辑元件能够代表多个物理元件。
CircuitStudio 通过其编译器技术提供这种“一对多”的能力。当你编译逻辑设计时,每个物理元件都会在内存中实例化,准备传输到 PCB 设计工作区。
由于在原理图捕获阶段仍有需要访问物理元件的情况,物理设计也会在原理图编辑器中提供。你可以通过每张原理图底部的额外标签页访问物理元件。最左侧标签页是你绘制的逻辑设计,其他标签页称为编译标签页(compiled tab),表示将要传输到 PCB 设计工作区的那部分物理设计。注意:编译标签页中显示的原理图无法进行图形化编辑,例如不能修改连线或移动元件。
可执行的变化类型
在创建变体之前,你需要先创建原始设计,称为 base design。基于基础设计,你再通过配置元件状态来实现变体:装配、装配但参数变化、或不装配。
- Fitted - 这是元件的默认状态。若为装配(Fitted),则表示未发生变化。创建新变体时,所有元件默认都是装配。状态为装配的元件在 Variant Management 对话框中以空单元格表示。
- Fitted with Varied Parameter(s) - 在变体定义过程中,元件的任意参数都可以被变化。修改参数值属于局部变化,只影响输出文档。原始原理图以及被变化参数的元件本身都不会以任何方式被修改。在下图中,C13 的 Value 参数被变化;该变化通过以绿色斜体显示 Value 来表示。
- Not Fitted - 若元件设置为不装配(Not Fitted),它仍然存在于原理图中并会传输到 PCB,但会从相应的输出文档(例如 BoM)中移除。你可以配置不装配元件在文档中的呈现方式,例如在原理图和 PCB 图纸输出中用叉号标记。
C10 和 C12 装配,C11 不装配,C13 装配但有一个参数
数值被变化。
受变体影响的输出文档
装配变体会影响所有包含元件采购或贴装/装载信息的输出文档,包括:
- 物料清单(BOM)
- 原理图打印
- PCB 打印
- PCB 3D 打印
- 装配图
- Pick and Place 文件
制造变体还会影响以下输出:
- Gerber 叠加层
- ODB++ 叠加层
创建并配置变体
变体在 Variant Management 对话框中创建和配置(在项目中任意文档的主菜单中点击 Project | Project Actions |
)。该对话框包含两个主要区域:
- 上方区域,标题为 Project Components,列出基础设计中的所有元件;
- 下方区域,标题为 Parameter Variations,详细显示上方区域当前所选元件的所有参数。
变体在 Variant Management 对话框中创建和配置。
创建新变体
在 Variant Management 对话框中点击 Add Variant 按钮,即可基于基础设计创建一个新变体。随后会打开 Edit Project Variant dialog。使用该对话框为变体命名,并指定所需的变体级参数数据。
Variant Management 对话框右侧会出现一个新增列,列标题为刚添加的变体描述。所有单元格初始为空;空单元格表示该元件为装配状态,且与基础设计一致。现在你可以开始为新变体配置元件了。
定义元件变化
变体创建完成后,你就可以配置每个元件的状态。可通过点击变体列中的 Component Variation 单元格以显示
按钮,或右键使用上下文菜单命令。当点击 ![]()
- Fitted - 基础设计中使用的原始元件在该设计变体中同样装配/使用。对于新添加的变体,所有元件默认装配。装配元件对应的单元格为空。注意:装配元件的单个参数也可以变化——直接输入新的参数值即可。变化的参数会以 bold 显示。
- Not Fitted - 基础设计中使用的原始元件在该设计变体中不装配/不使用。对于不装配元件,单元格会显示文本 Not Fitted。
已定义变体示例。图中区域 1 详细列出基础设计中的元件,区域 2 详细列出名为 8K ISP Flash 的变体中的元件,区域 3 详细列出名为 16K ISP Flash 的变体中的元件。注意加粗的参数,表示这些参数的值与基础设计不同。
管理 Variant Management 对话框中的数据展示
Variant Management 对话框包含多种功能,用于控制显示的数据量:
- 要移除你不关心的列,在对话框的 upper 区域右键,然后在 Columns 子菜单中切换任意列的可见性。
- 要仅显示正在变化的元件,在对话框的 upper 区域右键,然后从菜单中选择 Only Show Varied Components。
- 选择 Only Show Varied Components 模式后,再次右键并按需配置 Filter 选项。在下图中,Filter 被配置为仅显示不装配的元件。
- 要更改变体的列出顺序,点击并按住列标题,然后将该列拖动到新位置。结合 Fit to Width 复选框使用,可将关注的变体定位并调整到你偏好的工作位置与大小。
隐藏部分列并应用筛选(仅显示不装配元件)的 Variant Management 对话框。
配置原理图与 PCB 图纸中变体的显示方式
Dialog page: 变体选项
作为设计人员,你可以控制变化元件在原理图页(并会传递到打印或 PDF 输出)以及 PCB 图纸类输出(例如装配图)中的呈现方式。这些在 Variant Options 对话框中配置,如下所示。要打开该对话框,请点击 Variant Management 对话框底部的 Drawing Style 按钮。
在 Variant Options 对话框中,配置针对已定义变体的“未装配(Not Fitted)”元件在原理图以及 PCB 图纸输出中的呈现方式。
重置变体数据
当你在 Variant Management 对话框中配置变体时,这些设置会保存在项目文件中。这包括 Not Fitted 状态,以及对已装配(Fitted)元件进行的本地参数变更。Variant Management 对话框包含用于将参数重置回基础设计所用标准值的命令。
重置已变更的参数
在 Variant Management 对话框中被本地修改的参数,可以通过在“变体参数”列表中右键单击已修改的参数(以粗体显示),并从菜单中选择 Reset Selected 来恢复为原始值,如下所示。注意,你可以多选并一次性重置多个参数的值,或者也可以对该元件的 Reset All 参数执行重置。
已修改的参数可使用 Reset Selected 或
Reset All 命令恢复其值。
为多个元件重置多个参数
Variant Management 对话框支持多选,这意味着你可以在对话框上半区域跨多个或全部变体选择许多或全部元件,然后对一个或多个变体中的一个或多个元件的一个或多个参数执行参数更新操作。
例如,你可能希望将所有变体中所有元件的手动变更参数重置。
操作如下:
- 使用 Only Show Varied Components 右键菜单选项,并结合右键 Filter 选项以仅 Show Fitted with Varied Parameters。此时对话框上半区域应只显示那些具有手动变更参数的元件。
- 再次在对话框上半区域右键,然后从上下文菜单中选择 Select All。对话框上半部分当前显示的所有元件将被选中。
- 现在在对话框下半区域右键,然后从该上下文菜单中选择 Select All。此时将选中所有元件的所有参数。注意,你也可以改用 Select Column 命令,从而只对特定变体中的元件应用重置操作。
- 再次在对话框下半区域右键,然后从上下文菜单中选择 Reset Selected。
使用变体参数
CircuitStudio 支持项目不同层级的参数。例如,你可以在 Document Options 对话框中为每张原理图添加文档级参数。你也可以在 Project Options 对话框(Project | Content | Project Options)的 Parameters tab 中为项目添加项目级参数。也可以在 Edit Project Variant 对话框中为某个变体添加参数。
参数具有层级关系,这意味着你可以在项目的不同层级创建同名参数,但各自具有不同的值。CircuitStudio 按如下方式解析:
- 变体(最高优先级)
- 原理图文档
- 项目
这意味着:原理图文档中定义的参数值会覆盖项目选项中定义的值,而变体中定义的值会覆盖原理图文档中定义的值。注意,原理图级参数在 PCB 或 BoM 中不可用。对于这些类型的输出,应使用项目或变体参数。
在下图中,项目中定义了一个名为 ProjectTitle 的参数,并且也为每个变体定义了该参数。动画展示了在 PCB 上使用功能区菜单中的 Current Variant 字段来显示基础设计以及各个变体时的行为。
特殊字符串 .ProjectTitle 被放置在 PCB 覆盖层上,并且会 自动
链接到同名参数。注意当变体切换时,其值如何变化。
在原理图编辑器中使用变体
在设计捕获过程中,确保你能完整可视化每个变体中使用的元件差异非常重要。为此,原理图编辑器提供了如下所述的一系列功能。
在原理图上检查已变更的元件
要在原理图上查看变体细节,你需要:
- 如果项目尚未编译,则先编译项目。
- 在原理图页面底部选择已编译(compiled)选项卡。
- 在 Project | Project Actions | Current Variant 下拉列表中选择所需变体。
- 随后,该页面上发生变更的元件将按 Variant Options 对话框中的配置方式显示。
选择已编译页面和变体(橙色高亮)以查看原理图页面上发生变更的元件。
从原理图页面定义变更
通常,直接从原理图页面上放置的元件进行操作,比在对话框的元件列表中上下滚动更容易。选择页面上的元件,然后右键并从菜单中选择 Part Actions » Variants,如下所示。
原理图上选中了两个电容。使用右键命令在 Variant Management 对话框中仅配置这些元件。
Variant Management 对话框将打开,并且只显示所选元件。执行所需变更后,单击 OK 将其应用到设计中。
在 PCB 编辑器中使用变体
在 PCB 编辑器中,所有变体的所有元件封装始终都会显示。这是必要的,因为所有装配变体的所有封装都必须作为裸板制造的一部分被加工出来。随后在装配过程中加载哪些元件,才决定了正在构建哪个变体。
由于 PCB 上始终可见所有封装,因此可能很难判断哪些元件属于哪个变体。PCB 编辑器提供 Project | Project Actions | Current Variant 下拉列表,可用于在变体之间切换。然而,用于判断某个元件在该变体中是装配还是未装配的唯一可见线索是:该元件是否包含 3D Body;该 3D Body 会通过显示/隐藏来指示元件是否装配。当 PCB 处于 3D Layout Mode 时,这种装配/未装配行为更容易观察,如下方动画图所示。
查看已变更元件的 Comment
CircuitStudio 允许由变体驱动制造输出。更具体地说,这允许你指定对元件 Comment 参数的更改,并将该更改传递到制造输出——生成的 Gerber 或 ODB++ 输出的丝印层。PCB 编辑器支持对这种更改进行可视化显示;Comment 字段会在工作区中直接反映当前所选变体所分配的值。
在定义好变体后,在 PCB 工作区中找到一个感兴趣的元件——其 Comment 参数已发生变更——然后通过 Project | Project Actions | Current Variant 下拉字段切换当前变体。显示的 comment 值将根据当前变体中定义的内容而变化。
变体错误
变体设置存储在项目文件(*.PrjPcb)中。当打开 Variant Management 对话框时,会读取并分析这些数据,然后加载到 Variant Management 对话框中。如果在数据加载期间检测到问题,例如元件标号(designator)或元件 UID 不匹配,则会打开 Information 对话框说明问题,如下图所示。
元件 UID 不匹配会在关闭对话框并保存项目时自动解决,以保留这些更正。重复的标号必须在原理图层面解决。重新编译项目,并检查 Messages 面板中的警告/错误详情以解决这些问题。
在继续设计流程之前,请先解决标号和 UID 不匹配问题。


