从基于文件的库和数据库元件库对元件进行更新
你已经在原理图上放置了元件,甚至可能已经完成连线、编译,并将设计推进到 PCB 布局阶段。很可能在某个时候需要对元件进行更改——新增一个参数、修改模型链接,或者在图形层面更改符号或封装。
进行更改的合理位置是在源头。这个“源头”的性质取决于元件是如何放置的:
- From an Integrated Library - 提取源库,完成更改,然后编译集成库包以生成修订后的集成库。
- From a Database Library - 对于参数或符号/模型引用,在链接的外部数据库中对该元件对应的记录进行更改。如果更改是图形层面的(符号或模型),则在所引用的源库中完成更改。
- From a Schematic/PCB Library - 在放置该元件/封装所对应的库中,对元件或封装进行更改。
你也可能使用 Database Link 文件(*.DBLink)将已放置的元件链接到外部数据库。符号和模型的更改在源库中完成;参数的更改在数据库中完成。
完成更改后,需要将其推送到设计中。Altium 提供了多种更新工具,可让你快速高效地将元件更改传递到你的 Altium Designer 元件中。本文档将详细介绍这些工具——它们使你能够始终保持元件源与已放置元件实例之间的同步。
从数据库更新参数
在该工具的语境中,术语“Altium Designer component”用于描述放置在原理图图纸上的元件实例,或源原理图库中的元件。Altium Designer 提供了一个工具,用于使用存储在外部数据库中的信息来更新 Altium Designer 元件的参数。要实现更新,这些元件必须链接到外部数据库中相应的元件记录。链接通过一个中间链接文件来完成,该文件可以是以下之一:
- Database Link file (*.DBLink) - 用于将现有已放置元件链接到外部数据库,或更常见地,用于链接源原理图库中已定义的元件。
- Database Library file (*.DBLib) - 用于将元件从外部数据库直接放置到原理图图纸上时。
- SVN Database Library file (*.SVNDBLib) - 与 *.DBLib 相同,但符号库和模型库存储在版本控制之下。
在原理图编辑器中,通过主菜单选择 Tools » Update Parameters From Database 命令来执行更新。启动该命令将打开 Update Parameters From Database 对话框。使用该对话框选择要包含在更新中的原理图文档以及元件类型。

Update Parameters From Database 对话框
Options and Controls of the Update Parameters From Database Dialog
- Schematic Sheets - 此区域列出可应用更新的所有原理图文档。可以是单个独立原理图文档,也可以是活动工程中的所有原理图图纸。勾选你希望其元件参与更新的文档旁的复选框。
-
Component Types:
- Physical Component - 元件名称。
- Logical Symbol - 关联的逻辑符号。
- Library - 放置该元件所使用的源库。
- Count - 在所有已启用原理图文档中的实例数量。
- Create Log - 勾选此选项以创建更新的日志文件(*.log),可在 Projects panel 的 Generated folder 下找到。
在定义更新范围后,点击 OK。系统将查询外部数据库以查找匹配的元件。如果 Altium Designer 元件与数据库中匹配记录之间存在参数差异,将打开 Select Parameter Changes 对话框。
Options and Controls of the Select Parameter Changes Dialog
主网格
-
Total Number of Objects - Number Selected - 显示网格区域中列出的对象总数,以及其中当前被选中的对象数量。
- Object Type - 对象类型。
- Document - 源文档。
- Identifier - 对象的唯一标识符。
- System Parameters - 对象的附加信息列表,例如供应商地址、描述、库引用等。
附加控件
- Update Selected - 用于强制更新当前选中的参数。
- Reject Selected - 用于拒绝对当前选中参数的拟议更新。
- Update All - 用于强制更新所有参数。
- Reject All - 用于拒绝对所有参数的拟议更新。
- Show all parts - 勾选此复选框以在主网格中显示所有部件。
- Accept Changes (Create ECO) - 要将这些更改应用到元件,必须生成 ECO(Engineering Change Order,工程变更单)。点击以打开 Engineering Change Order 对话框。
右键菜单
- Revert - 点击以撤销对所选单元格的编辑。
- Edit - 点击以编辑所选单元格。
- Add - 点击以向所选单元格添加信息。使用弹出的下拉列表选择所需信息。
- Remove - 点击以删除所选单元格的内容。
- Rename Column - 点击打开 Rename Existing Parameter 对话框,你可以在其中重命名现有参数。
- Undo Rename - 点击以撤销列重命名并恢复为默认列名。
- Add Column - 点击打开 Add Parameter 对话框以添加一列。
- Remove Columns - 点击以删除所选列。
- Cut - 点击以删除所选文本。
- Copy - 点击以复制所选文本。
- Paste - 点击以粘贴先前复制的文本。
- Clear - 点击以清除所选信息。
- Report - 点击打开 Report Preview 对话框以生成报告。
- Save All - 点击以保存整个表格。
- Save Selected - 点击以保存所选数据。
- Select All - 点击以全选所有数据。
- Select Column - 点击以选择当前整列。
- Cross Probe - 点击以对所选对象进行交叉探测(Cross Probe)。所选对象将在原理图图纸中高亮显示。
说明
- 你可以在网格区域中拖放列以更改列的显示顺序。新顺序会保存在工程文件中,因此下次再次打开该对话框时会记住该顺序。
-
可通过以下方式阻止参数被更新:
- 在单个元件参数级别,在 Properties panel 的 Component 模式中启用 Lock Parameter 选项(双击元件即可访问)。Allow Synchronization With Database 选项也用于控制注释(Comment)是否可以更新。默认情况下,该选项启用,以始终允许与源库/数据库同步。你可以禁用该选项,以防止注释被包含在更新过程中。
- 在数据库链接级别——相关数据库链接文档(*.DbLink、*.DbLib 或 *.SvnDbLib file)的 Field Mapping 区域包含多个选项,用于控制参数是否可更新,包括 Update Values、Add to Design 和 Remove from Design。
该对话框列出了在更新范围内、与 Altium Designer 元件链接的数据库记录中存在的所有参数。任何为 Altium Designer 元件定义、但不是数据库表字段的参数都不会列出。例如,你可能使用数据库库功能直接从数据库放置了一个元件,然后在放置后又添加了一个或多个参数。
仅列出在外部数据库与已放置元件实例之间完成映射的参数。参数映射在中间链接文件的 Field Mappings 选项卡上执行。
对话框初始将根据你在中间链接文件(DBLink、DBLib、SVNDBLib)中定义的更新动作,显示拟议更新,以使 Altium Designer 元件参数与数据库中的参数保持同步。
参数差异通过在相关单元格中插入独特图标来区分。例如,单元格角落的蓝色三角形表示检测到 Altium Designer 元件中某参数的值与链接数据库记录中同一参数的值存在差异。
稍后在本页的 Parameter Update States 部分中,将在 Select Parameter Changes 对话框里提供所有可用单元格状态的完整列表。
Select Parameter Changes 对话框中提供的控件可让你完全控制哪些更新要继续、哪些要拒绝。你可以拒绝对所选元件的所有参数更新,或仅拒绝该元件的特定参数更新。要拒绝某个特定参数的拟议更新,请选择相应单元格并单击 Reject Selected 按钮。要恢复该更新,请单击 Update Selected 按钮。
当你对更新方案满意后,单击 Accept Changes (Create ECO) 按钮。使用随后打开的 Engineering Change Order 对话框来验证并按需执行更新。如果你意识到有某项更新确实不想继续,请禁用相应的变更单条目。
Dual Synchronization
你可能有一个现有的设计工程,其中大多数已放置的器件都通过 DbLink 文件链接到了外部数据库。设计变更可能会引入额外电路,其元件可能通过 Database Library 功能来放置。相关的 DbLib/SVNDbLib 文件很可能会指向另一个外部数据库。
使用 Update Parameters From Database 命令时,将会查询所有已放置元件的所有已链接参数——跨所有已链接数据库,不论使用何种链接方式——并在 Select Parameter Changes dialog 中显示这些参数检测到的差异。
从库更新原理图元件
Altium Designer 提供了一个工具,用于将原理图页上已放置的元件用源库中修改后的信息进行更新。这包括 Schematic Component Libraries(*.SchLib)、Integrated Libraries(*.IntLib)以及 Database Libraries(*.DBLib、*.SVNDBLib)。
尽管 DBLib 和 SVNDBLib 文件在 Components panel 中以库的形式呈现,但它们仅提供连接与字段映射来源,并非严格意义上的库。更新功能会传递外部数据库中参数、符号与模型引用的变更,以及在被引用的符号库与模型库中所做的图形修改。
更新功能允许你传递参数变更,以及模型与图形信息。
可在原理图文档中通过主菜单选择 Tools » Update From Libraries 命令来执行更新。启动该命令将打开 Update From Library 对话框。Update From Libraries 命令会使用源库中修改后的信息更新原理图页上的所有元件。
也可在原理图文档中通过主菜单选择 Tools » Update Selected From Libraries 命令来执行更新。Update Selected From Libraries 命令仅更新原理图页上所选的元件,使用源库中修改后的信息。
定义更新范围
对话框的第一页用于设置更新范围——要纳入更新的源原理图文档,以及其中包含的特定元件类型。
对话框的 Schematic Sheets 区域会加载所有可应用更新的原理图文档。这可以是单个独立的原理图文档,也可以是当前工程内的所有原理图页。启用你希望其元件被纳入更新的那些文档。
当你在 Schematic Sheets 列表中通过复选框或右键菜单中的 All On / All Off 命令启用/禁用条目时,对话框的 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 选项将从 Workspace Library 放置的元件更新到可用的最新修订版。使用这些选项来更新替代元件的参数。
需要记住的关键点是:你始终可以完全控制哪些内容会被纳入更新。
定义默认更新动作
页面的 Settings 区域用于定义所需的默认更新级别。你在此定义的默认更新动作将应用于已启用元件类型的所有元件实例。

Update From Library 对话框的 Actions 区域
最简单的更新形式是用源库中定义的元件完全替换原理图页上的元件——Fully replace symbols on sheet with those from library。图形属性、参数以及模型链接都会直接用源库中现有的信息进行更新。选择此选项后,将启用以下选项。请选择所有适用项:
- Update designator lock field(show image)
- Update part ID lock field(show image)
- 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 对话框
Options and Controls of the Library Update Settings Dialog
参数设置
- Library parameters not in sheet - 使用 下拉列表,选择默认更新动作:当原理图库中的元件实例包含某个参数,而原理图上已放置的元件实例不包含该参数时,将采用此默认动作。可选项为:Add、 Do not add 和 Add if not blank(即库元件中的该参数已被赋值)。
- Sheet parameters not in library - 使用下拉列表选择默认动作:当原理图页上的元件包含某个参数,而源库文档中的对应元件不包含该参数时,将采用此默认动作。可选项为:Remove、Do not remove 和 Remove if not blank。
- 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,然后在随后生成的 Engineering Change Order 中审查并执行将要实施的更改。若你希望在生成 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 panel 的 Library Link 区域。
指定替代元件
通常,更新会将源库中原始物理元件所做的更改传递到原理图页上该同一物理元件的已放置实例。有时你可能希望彻底更改设计中放置的物理元件。本更新过程也可以很方便地指定这一点。
你可以通过直接编辑 Library Components 区域中对应的 Physical Component 字段来为某个元件实例指定替代元件)。如果指定的物理元件不存在于当前已添加到项目 Available Filed-based Libraries 列表的任何库中,则会在 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 对话框
Options and Controls of the Select Parameter Changes Dialog
主网格
-
Total Number of Objects - Number Selected - 显示网格区域中列出的对象总数,以及当前被选中的对象数量。
- Object Type - 对象类型。
- Document - 源文档。
- Identifier - 对象的唯一标识符。
- System Parameters - 列出对象的附加信息,例如供应商地址、描述、库引用等。
附加控件
- Update Selected - 用于强制更新当前选中的参数。
- Reject Selected - 用于拒绝对当前选中参数的拟议更新。
- Update All - 用于强制更新所有参数。
- Reject All - 用于拒绝对所有参数的拟议更新。
- Show all parts - 勾选此框以在主网格中显示所有器件。
右键菜单
- Update - 单击以更新所选参数。
- Reject - 单击以拒绝对所选参数的更新。
- Update All - 单击 以强制更新所有参数。
- Reject All - 单击 以拒绝对所有参数的拟议更新。
- Report - 单击以打开 Report Preview 对话框以生成报告。
- Save All - 单击以保存整个表格。
- Save Selected - 单击以保存所选数据。
- Select All - 单击以选择所有数据。
- Select Column - 单击以选择当前整列。
说明
- 你可以在网格区域中拖放列以更改列的显示顺序。 新顺序会保存在项目文件中,因此下次再次打开该对话框时会记住该顺序。
-
可通过以下方式阻止参数被更新:
- 在单个元件参数级别,在 Properties panel 的 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 对话框时的一个关键差异。
同样,该对话框会显示为使已放置元件的参数与相关源库或数据库中的元件参数重新同步而建议进行的更改。拟议更新与以下位置中定义的更新操作一致:
- 当更新源为原理图库或集成库时:Library Update Settings dialog 的 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 option 的当前值,已拒绝将该参数添加到 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 panel 中选中这些元件,然后通过右键菜单使用更新命令来应用对所选元件的更改。

在源原理图库中,可通过 SCH Library 面板的右键菜单应用更改
所有打开的原理图文档中已放置元件的所有实例都会被更新,而不管文档属于哪个项目。实质上,只要已放置元件的 Physical Component 字段条目与库元件相同,就会被更新。更新过程中修改了多少个元件(涉及多少个文档)会通知你。该更新会将每个现有元件实例完整替换为库中的元件。
验证更新
在更新已放置的原理图元件、原理图库元件或 PCB 封装之后,你当然会希望验证更新是否按计划进行。以下各节将介绍如何快速检查参数、模型链接以及图形属性是否已成功更新。
检查参数更新
你可以通过运行 Parameter Table Editor dialog(Tools » Parameter Manager) 来检查参数是否已正确更新,或者通过 Properties panel 查看所选元件的参数来进行核对。
如下所示,元件 C1、C2 和 C3 在更新过程中都新增了一个参数 TestParam,其值为 Test。
检查模型链接更新
可在关联 Properties 面板的 Models 区域中验证元件模型链接的更新。
检查图形更新
检查图形更新最简单的方法是将图纸上的设计元件与源库中的元件进行对比。后者可通过 Components panel 轻松显示,从而实现直接的并排比较。




