从基于文件的库和数据库元件库对元件进行更新
概览
- 了解对于通过集成库、数据库库、原理图库、PCB 库或数据库链接放置的元件,应在何处进行更新。
- 了解 Altium Designer 如何识别与关联数据库之间的参数差异,以及如何在应用更改之前检查、接受或拒绝这些更改。
- 掌握影响同步的各项控制设置,包括参数映射、锁定参数以及通过 ECO 执行更新。
您已在原理图上放置了元件,甚至可能已完成所有布线和编译,并将设计推进到电路板布局阶段。在设计过程中,您很可能会需要修改元件,例如添加新参数、更改模型链接,或者修改符号或封装的图形。
最合理的做法是在源头进行修改。具体修改哪个源,取决于元件的放置方式:
- From an Integrated Library - 提取源库,进行修改,然后编译集成库包,生成修订后的集成库。
- From a Database Library - 对于参数或符号/模型引用,在所链接的外部数据库中修改该元件对应的记录。如果是图形方面的更改(符号或模型),则在所引用的源库中进行修改。
- From a Schematic/PCB Library - 在放置元件/封装时所使用的相应库中,修改该元件或封装。
您也可能已使用数据库链接文件(*.DBLink)将已放置的元件链接到外部数据库。符号和模型的更改在源库中进行,参数的更改则在数据库中进行。
完成修改后,需要将更改同步到设计中。Altium Designer 提供了多种更新工具,让您能够快速、高效地将元件更改应用到 Altium Designer 元件。本文详细介绍了这些工具,即帮助您始终保持元件源与这些元件的已放置实例同步的工具。
从数据库更新参数
在此工具中,“Altium Designer 元件”一词是指放置在原理图图纸上的元件实例,或源原理图库中的元件。Altium Designer 提供了一个工具,可使用外部数据库中存储的信息更新 Altium Designer 元件的参数。要进行更新,必须先将元件链接到外部数据库中对应的元件记录。链接通过中间链接文件实现,该文件可以是以下类型之一:
- Database Link 文件(*.DBLink)- 用于将现有的已放置元件链接到外部数据库,更常用于链接源原理图库中已定义的元件。
- Database Library 文件(*.DBLib)- 用于从外部数据库直接将元件放置到原理图图纸上。
- SVN Database Library 文件(*.SVNDBLib)- 与 *.DBLib 相同,但符号库和模型库存储在版本控制系统中。
在原理图编辑器中,从主菜单选择 Tools » Update Parameters From Database 命令即可执行更新。运行此命令将打开 Update Parameters From Database 对话框。使用此对话框可选择要纳入更新的原理图文档和元件类型。

Update Parameters From Database 对话框
“从数据库更新参数”对话框的选项和控件
- Schematic Sheets - 列出可应用更新的所有原理图文档。可以是单个独立的原理图文档,也可以是当前项目中的所有原理图图纸。勾选相应文档旁的复选框,即可将其中的元件纳入更新。
-
Component Types:
- Physical Component - 元件名称。
- Logical Symbol - 关联的逻辑符号。
- Library - 放置元件时所使用的源库。
- Count - 所有已启用原理图文档中的实例数量。
-
Create Log - 勾选以创建更新日志文件(*.log),可在 Projects 面板的 Generated 文件夹下找到该文件。
定义更新范围后,单击 OK。系统将查询外部数据库以查找匹配的元件。如果 Altium Designer 元件与数据库中的匹配记录之间存在参数差异,则会打开 Select Parameter Changes 对话框。如果未发现差异,则会弹出对话框,提示未发现差异。
“选择参数更改”对话框的选项和控件
主表格
-
<xx> Objects - <xx> Selected - 显示表格区域中列出的对象总数,以及其中当前选中的对象数量。
-
System 和 User Parameters - 列出对象的其他信息,例如供应商地址、描述、库引用等。
其他控件
-
Update Selected - 单击以强制更新当前选中的参数。
-
Reject Selected - 单击以拒绝对当前选中参数提出的更新。
-
Update All - 单击以强制更新所有参数。
-
Reject All - 单击以拒绝对所有参数提出的更新。
-
Show all parts - 启用以在主表格中显示所有元件。
-
Accept Changes (Create ECO) - 要将这些更改应用到元件,必须生成 ECO(工程变更单)。单击以打开 Engineering Change Order 对话框。
右键菜单
右键菜单中的许多选项都很直观,无需进一步说明。下面介绍需要说明的选项。
-
Rename Column - 单击以打开 Rename Existing Parameter 对话框,您可以在其中重命名现有参数。
-
Add Column - 单击以打开 Add Parameter 对话框,添加一列。
-
Report - 单击以打开 Report Preview 对话框,生成报告。
-
Cross Probe - 单击以交叉探查所选对象。所选对象将在原理图图纸中高亮显示。
注意事项
- 您可以在表格区域中拖放列,以更改列的显示顺序。新的顺序会保存在项目文件中,以便再次打开此对话框时保留该顺序。
-
可通过以下方式阻止参数更新:
-
在单个元件参数级别,在 Properties 面板的 Component 模式下启用 Lock Parameter 选项(双击元件即可访问)。Allow Synchronization With Database 选项 也用于控制注释是否可以更新。默认情况下,此选项 处于启用状态, 始终允许与源库/数据库同步。您可以禁用此选项,以防止注释被纳入更新过程。
-
在数据库链接级别,相关数据库链接文档(*.DbLink、*.DbLib 或 *.SvnDbLib 文件)的 Field Mapping 区域包含多个用于控制参数是否可以更新的选项, 包括 Update Values、Add to Design 和 Remove from Design。
-
此对话框列出了更新范围内已链接 Altium Designer 元件的数据库记录中存在的所有参数。对于已在 Altium Designer 元件中定义、 但不属于数据库表字段的参数, 不会显示在列表中。例如,您可能使用数据库库功能直接从数据库放置了一个元件, 然后在放置后添加了一个或多个参数。
列表中仅显示外部数据库与已放置元件实例之间存在映射关系的参数。 参数映射在中间链接文件的 Field Mappings 选项卡上进行。
对话框最初会根据您在中间链接文件(*.DbLink、*.DbLib 或 *.SvnDbLib)中定义的更新操作, 显示建议的更新,使 Altium Designer 元件参数与数据库中的参数保持同步。
参数差异通过相关单元格中插入的特定图标加以区分。例如,单元格角落的蓝色三角形表示,检测到 Altium Designer 元件中的某个参数值与链接数据库记录中同一参数的值存在差异。
本页的 参数更新状态 部分列出了 Select Parameter Changes 对话框中所有可用的单元格状态。
Select Parameter Changes 对话框中提供的控件可让您完全控制要执行和拒绝哪些更新。您可以拒绝更新所选元件的所有参数, 也可以仅拒绝更新该元件的特定参数。要拒绝某个特定参数的建议更新,请选择相应的单元格,然后单击 Reject Selected 按钮。要恢复该更新,请单击 Update Selected 按钮。
对更新方案满意后,单击 Accept Changes (Create ECO) 按钮。在打开的 Engineering Change Order 对话框中验证更新,然后执行相应更新。如果发现某项更新确实不希望执行,请禁用相应的变更单条目。
双重同步
您可能有一个现有设计项目,其中大多数已放置的元件已通过 DbLink 文件链接到外部数据库。设计变更可能会增加额外的电路,而这些电路中的元件可能使用 数据库库 功能放置。相关的 DbLib/SVNDbLib 文件完全可能指向另一个外部数据库。
使用 Update Parameters From Database 命令时,无论使用何种链接方法,都会在所有链接的数据库中查询已放置元件的所有链接参数,并在 选择参数更改对话框中显示检测到的参数差异。
从库更新原理图元件
Altium Designer 提供了一个工具,可使用源库中修改后的信息更新原理图图纸上已放置的元件。这些源库包括原理图元件库(*.SchLib)、集成库(*.IntLib)和数据库库(*.DBLib、*.SVNDBLib)。
虽然 DBLib 和 SVNDBLib 文件在 Components 面板中显示为库,但它们仅提供连接和字段映射信息,并不是真正意义上的库。更新功能会传递外部数据库中参数、符号引用和模型引用的更改,以及所引用的符号库和模型库中所做的图形修改。
更新功能可用于传递参数的更改,以及模型和图形信息的更改。
在原理图文档中,从主菜单选择 Tools » Update From Libraries 命令 即可执行更新。启动此命令将打开 Update From Library 对话框。 Update From Libraries 命令使用源库中修改后的信息更新原理图图纸上的所有元件。
您也可以在原理图文档中,从主菜单选择 Tools » Update Selected From Libraries 命令来执行更新。Update Selected From Libraries 命令仅使用源库中修改后的信息更新原理图图纸上的所选元件。
定义更新范围
此对话框的第一页用于设置更新范围,即要将哪些源原理图文档及其包含的哪些特定元件类型纳入更新。
Schematic Sheets 区域将加载所有可以应用更新的原理图文档。这些文档可以是单个自由原理图文档,也可以是当前项目中的所有原理图图纸。请启用您希望将其元件纳入更新的文档。
当您使用复选框或右键菜单中的 All On / All Off 命令启用/禁用 Schematic Sheets 列表中的条目时,文档中包含的物理元件将列在对话框的 Component Types 区域中。每个元件都会列出以下信息:
- 物理元件名称
- 关联的逻辑符号
- 放置该元件时所用的源库
- 当前在所有已启用原理图文档中放置的实例数量。
列表中包含哪些元件取决于页面左下角的选项。使用 Show 字段确定要纳入更新的元件类型。默认情况下,选中的是 All Components,但您也可以选择仅更新:
- Standard Components - 从原理图库或集成库放置的元件。
- Database Components - 使用 DBLib 或 SVNDBLib 从外部数据库放置的元件。

Update From Library 对话框中的 Show 字段
所有元件类型最初均已启用,都会包含在更新中。请禁用您明确不想更新的元件类型。或者,在进入对话框之前,直接在原理图页面上选择要更新的具体元件。然后启用 Selected Parts Only 选项。列表中将仅显示您所选的元件。您也可以使用右键菜单中的 All On / All Off 命令。
使用 Include Variants 选项可包含变体,使用 Update to Latest Revision 选项可将从工作区库放置的元件更新为可用的最新修订版。使用这些选项可 更新 替代元件的参数。
最重要的是,您始终可以完全控制更新中包含的内容。
定义默认更新操作
您可以在此页面的 Settings 区域定义所需的默认更新级别。此处定义的默认更新操作将应用于已启用元件类型的所有元件实例。

Update From Library 对话框的 Actions 区域
最简单的更新方式是将原理图页面上的元件完全替换为源库中定义的元件 — Fully replace symbols on sheet with those from library。图形属性、参数和模型链接都会直接使用源库中的信息进行更新。 选择此选项后,将启用以下选项。请选择所有适用项:
- Update designator lock field(显示图片)
- Update part ID lock field(显示图片)
- Preserve parameter locations
- Preserve parameter visibility
默认启用完全替换(Fully replace symbols on sheet with those from library)。如果您希望更精细地控制更新内容,请改为 Replace selected attributes of symbols on sheets。随后即可根据需要包含或排除各个更新选项(Update graphical attributes、 Update parameters、 Update models)。
Update From Library 对话框第一页和 Library Update Settings 对话框中的设置会持久保留。保存时,这些设置会存储在工程文件中。
对于参数和模型更新操作,可以在 Library Update Settings 对话框中进行更精细的控制。单击 Advanced 按钮可打开此对话框。您不仅可以使用此对话框定义参数和模型的默认全局更新操作,还可以控制更新中包含哪些具体参数和模型。

打开 Library Update Settings 对话框
库更新设置对话框的选项和控件
参数设置
-
Library parameters not in sheet - 使用 下拉列表选择默认更新操作,该操作适用于以下情况:原理图库中的元件实例具有某个参数,而原理图上已放置的元件实例不具有该参数。可选项为: Add、 Do not add 和 Add if not blank (即库元件中的该参数已赋值)。
-
Sheet parameters not in library - 使用 下拉列表选择默认操作,该操作适用于原理图页面上的元件具有某个参数,而源库文档中的相应元件不具有该参数的情况。
-
Parameters to update - 此处列出了设计(工程中所有原理图文档上的所有元件)中存在的系统级参数和用户定义参数。启用/勾选 Update 复选框,以允许从指定的源原理图库更新参数。
模型设置
- Add models found in library but not in sheet - 勾选后,将添加库元件中存在但原理图页面上已放置的元件中不存在的模型。
- Remove models found in sheet but not in library - 勾选后,将移除原理图文档中存在但库中不存在的模型。
- Update which models are the current models - 勾选后,将更新已放置元件的当前模型。例如,原理图文档上的 SN7432 可能链接到两个 PCB 封装模型 — DIP14 和 SIOC14。其当前模型可能设置为 SIOC14,而库中 SN7432 的当前模型可能设置为 DIP14。启用此选项后,已放置元件的当前模型将更新为相应库元件的当前模型。
- Models to update - 此处列出了工程源原理图文档中所有元件当前定义的全部模型。模型按模型类型分组。启用 Update 复选框,以允许仅从指定的源原理图库更新这些模型。
根据需要定义更新范围和要执行的默认操作后,您可以单击 Finish,然后在随后生成的工程变更单中审查并执行要实施的更改。如果您希望在生成 ECO 之前,进一步针对每个元件细化更新,请单击 Next 进入对话框的第二页,具体内容将在下一节介绍。
按元件实例控制更新
Update From Library 对话框第二页中的设置不会持久保留。如果返回第一页或关闭对话框,这些设置将丢失。
Update From Library 对话框的第二页提供了一个详细表格,列出预定更新过程中涉及的所有元件实例。对话框的上一页允许您大致指定更新中包含哪些实体元件类型。本页则允许您精确调整这些类型中要更新的具体元件实例。
该表格分为三个区域:
- Schematic Parts - 此区域列出原理图页面上每个已放置元件的 Designator、 Comment、 Physical Component 和 Logical Symbol。 启用 Update 复选框可更新所选元件。
- Library Components - 此区域针对列出的每个原理图元件,显示其对应库元件的 Physical Component、 Logical Symbol、 Library Name 和 Life Cycle State。 此库通常是最初放置元件时所用的源库,但您也可以将该元件完全替换为同一库或其他库中的另一元件。 在当前可用库中找不到的元件将列为 <Not Found>。
-
Actions - 对于每个勾选了 Update 复选框的元件实例,需要执行的具体更新操作。这些操作最初会根据对话框第一页中定义的默认操作设置进行设置。 单击复选框可启用/禁用所选元件的相应操作,也可以使用右键菜单命令。
- Full Replace - 勾选此复选框可完全替换所选项。
- Graphical - 勾选此复选框可更新所选项的图形。
- Parameters - 勾选此复选框可更新所选项的参数。如果至少有一个元件启用了此复选框,则可以单击 Parameters Changes 按钮,在参数级别有选择地控制更改 - 了解更多。
- Models - 勾选此复选框可更新所选项的模型。
对于每个元件,源库元件条目最初均为最初放置该元件实例时所使用的元件。此信息取自已放置元件的 Properties 面板中的 Library Link 区域。
指定替代元件
通常,更新会将源库中原始物理元件的更改传递到原理图页上已放置的同一物理元件实例。有时,您可能希望将设计中已放置的物理元件完全更换为另一个元件。这可以在更新过程中轻松指定。
要为元件实例指定替代元件,可以直接编辑 Library Components 区域中对应的 Physical Component 字段。如果指定的物理元件不存在于当前已添加到项目“可用的基于文件的库”列表中的任何库中,则 Logical Symbol 和 Library Name 字段中将显示 <Not Found>。在这种情况下,将无法更新该元件实例。
搜索数据库元件时,只能在当前已加载的 DBLib 和 SVNDBLib 文件(Available Filed-based Libraries)中进行搜索。不能沿指定的搜索路径搜索数据库元件。
也可以在表格中选择一个元件实例,然后单击 Choose Component 按钮。随后将打开 Replace Component 对话框,您可以在其中搜索当前所有可用库中的所需替代元件。

访问 Replace Component (File-based) 对话框
选中有效元件后,所选元件的相关信息将填入页面的 Library Components 区域,并覆盖原始源库元件的信息。
如果要恢复为原始源库并保留原始物理元件,请在表格中选择该元件实例,然后单击 Return Selected to Default 按钮。
控制参数更改
只有在页面的 Actions 区域中禁用 Full Replace 选项并启用 Parameters 选项时,才会显示元件实例的各项参数级更改。如果要浏览更新所提议的各项参数更改,请单击 Parameters Changes 按钮。随后将打开 Select Parameter Changes 对话框,其中汇总了已启用参数更新操作的元件实例的参数更改。在下图中,请注意,元件实例 C1、C3、C7 和 C10 的参数更新操作已禁用,因此不会出现在该对话框中。

访问 Select Parameter Changes 对话框
“选择参数更改”对话框的选项和控件
此对话框中的许多选项/控件都很直观,无需进一步说明。以下介绍需要说明的选项/控件。
其他控件
-
Update Selected - 用于强制更新当前选中的参数。
-
Reject Selected - 用于拒绝对当前选中参数所提议的更新。
-
Reject All - 用于拒绝对所有参数所提议的更新。
-
Show all parts - 勾选此复选框可在主表格中显示所有元件。
右键菜单
-
Report - 单击可打开 Report Preview 对话框以生成报告。
注意事项
- 您可以在表格区域中拖放列,以更改列的显示顺序。 新的顺序会保存在项目文件中,因此再次访问此对话框时会保留该顺序。
-
可以通过以下方式防止参数被更新:
- 在单个元件参数级别,在 Properties 面板的 Component 模式中启用 Lock Parameter 选项(双击元件即可访问)。Allow Synchronization With Database 选项还用于控制是否允许更新注释。默认情况下,此选项处于启用状态,以始终允许与源库/数据库同步。您可以禁用此选项,以防止注释被纳入更新过程。
- 在数据库链接级别,相关数据库链接文档(*.DbLink、*.DbLib 或 *.SvnDbLib 文件)的 Field Mapping 区域包含多个用于控制是否允许更新参数的选项,包括 Update Values、Add to Design 和 Remove from Design。
与 Update Parameters From Database 工具一样,此对话框会列出链接到外部数据库的元件实例的所有已映射参数。此外,还会列出参与参数更新的已放置元件实例中的所有参数。这是通过这两种更新工具访问 Select Parameter Changes 对话框时的一项关键区别。
同样,此对话框显示的是为使已放置元件的参数与相关源库或数据库中元件的参数重新同步而提议进行的更改。所提议的更新遵循以下位置定义的更新操作:
- 当更新源为原理图库或集成库时,遵循 库更新设置对话框的 Parameter Settings 区域中的设置。
- 当更新源为数据库时,遵循中间链接文件(*.DBLink、*.DBLib、*.SVNDBLib)中的设置。
参数差异通过相关单元格中的特定图标突出显示。有关所有可能的单元格状态的完整列表,请参阅下一节(Parameter Update States)。
使用对话框中的可用控件(按钮或右键菜单),可以确定要执行哪些参数更改,以及拒绝哪些参数更改,从而在单个参数级别覆盖默认更新条件。请记住,拒绝某个单元格中提议的更新,意味着您不希望对原理图页上该特定元件实例的相应参数进行任何更改。
参数更新状态
根据已放置元件与源库/数据库之间检测到的具体差异,以及所指定的适用参数更新操作,Select Parameter Changes 对话框中的单元格可能处于多种不同的更新状态。下表列出了可能的单元格状态。
| Cell State | Description |
|---|---|
| |
Altium Designer 元件和库/数据库中的元件都具有该参数 ,且参数值相同。更新不会产生任何更改。 |
| |
Altium Designer 元件和库/数据库中的元件都具有该参数,但均未赋值。更新不会产生任何更改。 |
| |
Altium Designer 元件和库/数据库中的元件都不具有该参数。更新不会产生任何更改。 如果在相关的 Properties 面板中禁用了 Allow Synchronization With Library 和/或 Allow Synchronization With Database 选项,导致 Altium 元件中的参数无法包含在更新中,也可能出现此状态。 |
| |
Altium Designer 元件和库/数据库中的元件都具有该参数,但参数值不同。更新会采用数据库中的值。 |
| |
Altium Designer 元件和库/数据库中的元件都具有该参数。Altium Designer 元件中的参数已赋值,而数据库中的参数未赋值。更新会采用数据库中的值,即在此情况下清空参数值。 |
| |
Altium Designer 元件不具有该参数,但库/数据库中的元件具有该参数。更新会将该参数添加到 Altium Designer 元件中,并赋予单元格中显示的值。 |
| |
Altium Designer 元件不具有该参数,但库/数据库中的元件具有该参数。更新会将该参数添加到 Altium Designer 元件中,但初始不赋值。 |
| |
Altium Designer 元件具有该参数,但库/数据库中的元件不具有该参数。更新会从 Altium Designer 元件中移除该参数。Note: 如果元件实例正在从外部数据库进行更新,且相关的数据库字段到设计参数的映射设置为相应状态,则即使数据库记录中存在该参数,也会将其视为不存在。 |
| |
Altium Designer 元件与库/数据库中的元件的参数值存在差异。根据数据库链接文档(DbLink、DbLib 或 SvnDbLib 文件)中 Update Values 选项的当前值,将参数更新为数据库中的值的提议已被拒绝。不会发生任何更改。请注意,此对话框中的 Update Selected 和 Update All 命令会覆盖此状态并强制更新。 |
| |
Altium Designer 元件不具有该参数,但库/数据库中的元件具有该参数。根据 Add To Design 选项的当前值,将该参数添加到 Altium Designer 元件中的更新提议已被拒绝。不会发生任何更改。请注意,此对话框中的 Update Selected 和 Update All 命令会覆盖此状态并强制更新。 |
| |
Altium Designer 元件具有该参数,但库/数据库中的元件不具有该参数。根据数据库链接文档(DbLink、DbLib 或 SvnDbLib 文件)中 Remove From Design 选项的当前值,从 Altium Designer 元件中移除该参数的更新提议已被拒绝。不会发生任何更改。请注意,此对话框中的 Update Selected 和 Update All 命令会覆盖此状态并强制更新。 |
直接从原理图库编辑器应用更改
可以从源原理图库中直接更新已放置的原理图元件。这种更新方式尤其适用于从独立原理图元件库(*.SchLib)中放置的元件,且这些库已被纳入项目可用的基于文件的库中。
在源原理图库中对元件所做的修改,可通过原理图库编辑器主菜单中的 Tools » Update Schematics 命令 传递到原理图文档。也可以在 SCH Library 面板中选择相应元件,然后使用右键菜单中的更新命令,将更改应用于所选元件。

在源原理图库中,可使用 SCH Library 面板的右键菜单应用更改
所有已打开的原理图文档中已放置元件的全部实例 都将更新 ,无论文档属于哪个项目。实际上,只要已放置元件的 Physical Component 字段值与库元件的相同,该元件就会更新。系统会通知您更新过程修改了多少个元件,以及涉及多少个文档。此更新会使用库中的元件完整替换每个现有元件实例。
验证更新
更新已放置的原理图元件、原理图库元件或 PCB 封装后,您当然需要验证更新是否按预期完成。以下各节介绍如何快速检查参数、模型链接和图形属性是否已成功更新。
检查参数更新
您可以打开 参数表编辑器对话框(Tools » Parameter Manager) ,也可以通过 Properties 面板查看所选元件的参数,以检查参数是否已正确更新。
下图中,元件 C1、C2 和 C3 在更新过程中均添加了一个新参数 TestParam,其值为 Test。
检查模型链接更新
可以在相关 Properties 面板的 Models 区域中验证元件的模型链接更新。
检查图形更新
检查图形更新最简单的 方法是将图纸上的设计元件与源库中的元件进行比较。使用 Components 面板可以轻松显示源库中的元件,从而进行直接的并排比较。




