在 Report Manager 中准备 BOM
Altium Essentials: Output Job File for Documentation
This content is part of the official Altium Professional Training Program. For full courses, materials and certification, visit Altium Training.
概览
- 了解基于项目生成的 BOM 与基于 ActiveBOM 生成的 BOM 之间的区别。
- 学习如何排列列、筛选元器件数据,以及处理设计变体和替代项。
- 探索供应商数据设置、导出格式和模板选项,以生成最终的 BOM。
物料清单(简称 BOM)是电路板设计项目所生成数据集的重要组成部分。这种报表类文档列出了制造产品所需的所有元件,包括裸板——它本质上是承载所有其他零部件的基础“元件”。BOM 用于指导采购制造设计产品所需的物料,还可根据所需的组装板数量,计算某次制板的成本。
最终 BOM 通过专用且功能强大的报表生成引擎生成,其界面称为 Report Manager。Report Manager 对话框用于:
- 配置 BOM 中要包含的设计属性。
- 按照 BOM 所需的顺序排列内容。
- 根据需要应用类似电子表格的自定义列级筛选器。
- 启用不同的元件来源选项。
- 启用供应商选项。
- 配置导出文件格式。
- 如果导出格式为 XLS 或 PDF,则选择 Excel BOM 模板。
BOM 创建方式
最终的物料清单输出由 Report Manager 生成。Report Manager 可生成多种格式的输出,包括 PDF、CSV、TXT、Excel、HTML 或 XML。
Report Manager 可从以下来源提取 BOM 的源信息:
- 项目——从原理图中提取信息,并可根据需要从关联的数据库和 PCB 中提取信息
- ActiveBOM 文档(BomDoc)——推荐方式。
如果项目不包含 ActiveBOM,Report Manager 将从项目生成 BOM。采用这种方式时,Report Manager 用于完成所有 BOM 布局配置,例如选择和排列列、筛除不需要的行、包含供应商信息等。Report Manager 还用于配置输出设置,例如格式、所需的 Excel 模板等。采用这种方式时,BOM 在设计过程完成后编制。Report Manager 只能用于配置一种 BOM 输出。如果采用这种方式并且需要设置不同的 BOM 输出配置,则必须使用 OutputJob。
推荐方式是在项目中包含一个 ActiveBOM 文档(BomDoc)。BomDoc 是一种源文档,可在设计开发过程的任何阶段添加,本质上是一份实时更新的零部件清单。向原理图添加元件时,相应零部件会自动显示在 BomDoc 中,设计人员可以立即开始了解价格和供应链选项,并指定首选零部件。设计人员还可以选择和排列列、应用筛选器、添加行号、添加额外的自定义列,以及为自定义物料添加额外的行。简而言之,就是在设计过程中完成所有常规 BOM 编制步骤。可以在 BomDoc 中准备多种输出配置,并将每种配置保存为一个 BOM 集,然后在 Report Manager 中选择所需的 BOM 集以生成最终 BOM。
当项目包含 BomDoc 时,它将用作 Report Manager 的数据源。
创建 BOM
可通过以下方式打开 Report Manager:
- 在项目的源原理图文档或当前活动的 PCB 文档中,使用原理图或 PCB 编辑器的 Reports » Bill of Materials 命令。
- 通过 OutputJob 中配置的报表类输出作业。
- 在 ActiveBOM 中使用 Reports » Bill of Materials 命令。
无论采用哪种方式,系统都会编译源文档并打开 Report Manager 对话框。 使用这个可高度配置的专用强大报表生成引擎,可根据需要配置 BOM 报表的内容。
以项目 BomDoc 为数据源的物料清单,已准备好通过 Report Manager 生成。
物料清单报表对话框的选项和控件
视图模式
有三种视图模式可用于显示条目列表。使用表格上方的按钮选择所需模式:
-
Flat view - 单击可为每个元件显示一行。
-
Base view - 单击可为项目中的每种独特元件显示一行。Designator 列列出此类所有元件的位号。
-
Consolidated view - 当项目包含变体时,单击可显示Consolidated 所有变体的 BOM。
变体
如果项目中定义了变体,它们将显示在下拉列表中;请选择所需的变体。如果启用了 Consolidated 视图,则此控件不可用。
预览
单击
,即可根据 Properties 面板中 File Format 和 Template 选项的当前设置导出报表,并在与该文件类型关联的外部应用程序中打开。
常规选项卡
Report Manager 的主区域列出了所有元件。这些内容将写入 BOM。如果项目不包含 BomDoc,此处将列出原理图中放置的所有元件。如果项目包含 BomDoc,且其中添加了其他 BOM 条目,这些条目也会包含在内。
BOM 条目
- Show Not Fitted - 启用此选项可在网格中显示不装配条目。
- Include Alternative Items - 启用此选项可在 BOM 中包含替代条目。替代条目会显示在原始器件下方的新行中。
- Include DB Parameters in Variations - 如果通过 DbLink/DbLib/SVNDbLib 文件放置了数据库元件,并且这些元件在设计变体中发生变化,请启用此选项,以便在更改所选变体时更新数据库参数。
BOM 条目列表支持以下功能:
- 使用对话框 Properties 区域中的 Columns 选项卡来显示/隐藏列。
- 通过拖放更改列的顺序。
- 单击列标题可按该列排序;按住 Shift 可按后续列进行次级排序。
- 单击筛选图标 可按列值进行筛选。
- 使用标准 Windows 选择方式选择单元格。
- 从 BOM 条目列表中复制单元格内容。
-
使用标准 Windows 快捷键滚动 BOM 条目列表:
- 垂直滚动 - MouseWheel Roll
- 水平滚动 - Shift + MouseWheel Roll
供应链
- Production Quantity - 输入数量或使用箭头选择生产给定产品数量所需订购的数量。
- Currency - 使用下拉列表选择所需的货币。
- Solutions per Item - 使用此选项可编辑每个 BOM 条目要显示的制造商器件 (MPN) 数量。
- Suppliers per Solution - 使用此选项可编辑每个制造商器件 (MPN) 要显示的供应商器件 (SPN) 数量。
供应链数据
- Real-time - 单击此项可显示具有供应链数据链接的元件的实时更新价格数据。
- Cached - 离线工作时,单击此项可显示上次缓存的价格数据。
导出选项
-
File Format - 从下拉列表中选择格式。支持以下文件格式:
- CSV(逗号分隔)(*.csv)
- 制表符分隔文本 (*.txt)
- MS-Excel (*.xls, *.xlsx *.xlsm)(使用 Microsoft Excel)
- 通用 XLS (*.xls, *.xlsx, *.xlsm)(使用内置的 XLS 格式文件生成器,因此无需安装 Microsoft Excel 即可生成此格式)
- 便携式文档格式 (*.pdf)
- 网页 (*.htm, *.html)
- XML 电子表格 (*.xml)
- Template - 选择文件格式后,使用下拉列表选择导出时使用的模板格式。选项包括基于文件的模板和工作区模板。
- Add to Project - 启用后,生成的报告将在创建后添加到项目中。
- Open Exported - 启用后,导出的文件保存后将打开相关软件应用程序,例如 Microsoft Excel。
- Report BOM Violations in Messages - 启用此选项可在生成 BOM 时检查 ActiveBOM 的 BOM。检测到的违规情况将在 Messages 面板中详细列出。
列选项卡
此选项卡用于配置每个 BOM 条目显示的参数,以及这些参数可用的数据源。
- Search - 使用此字段可快速查找所需的参数;软件会在名称或别名字符串的任意位置搜索输入的文本。
-
Sources - 除了直接添加到 BomDoc 中的数据 之外,ActiveBOM 中可用的默认数据源还包括原理图元件参数 和工作区条目的工作区库参数 。ActiveBOM 根据这些数据源生成项目的主 BOM 条目网格。BOM 还可以包含来自以下其他数据源的信息:
-
- 启用后可包含工作区条目。
-
- 启用后可在每个元件的可用 Columns 中包含 PCB 位置、旋转角度和板面数据。
-
- 启用后可从外部数据库(*.DbLib、*.SVNDbLib 或 *.DbLink)加载其他元件参数。
-
- 启用后可在可用的 Columns 中包含 PCB 项目所有原理图中检测到的全部原理图文档参数。
-
- 启用后,对于已由 Altium Parts Provider 识别并显示供应链解决方案的 BOM 条目,可访问丰富的附加元件数据。
-
-
Drag a column to group - 单击并按住对话框 Columns 部分中的某一列,将其拖放到 Drag a column to group 部分,即可将其用作分组参数。单击
图标可将参数从分组中移除。
-
Columns - 列出 ActiveBOM 可用的所有器件信息来源。单击任意标题字段即可对 Columns 区域进行排序,包括 Visibility 和 Source 列。
- Visibility - 单击左侧列中的可见性图标,可控制该列在主 BOM 条目网格中的可见性。
-
Source - 显示图标,以指示该参数的来源:
-
- 来自原理图。
-
- 来自 BOM。
-
- 来自工作区。
-
- Name - 显示源文档中定义的属性/参数名称,或为用户创建的 BomDoc 列输入的名称。
- Alias - 如有需要,可以在源 BomDoc 中定义别名,以重命名列。
其他控件
- Export - 单击可生成报告。随后将打开标准的 Windows 对话框,您可以在其中为报告命名。
右键菜单
- Preview - 单击可根据 File Format 和 Template 选项的当前设置生成报告预览。
- Copy - 用于复制全部或选定的数据。
- Copy With Header - 用于将选定的数据复制并粘贴到外部电子表格中,例如 Microsoft Excel。
- Best Fit - 将 Name 和 Descriptions 列的内容合并,使其紧密排列,各列之间不留多余空隙。
- Best Fit All Columns - 将所有列的内容合并,使其紧密排列,各列之间不留多余空隙。
- Restore from <.BomDoc> - 用于从指定的 BomDoc 恢复。
- Change PCB Document - 用于切换到另一个 PCB 文档。
- Change Variant - 如果设计中定义了变体,则可以根据所选变体生成物料清单。使用此命令可更改变体;可选择默认变体或不使用变体。
该对话框显示源文档中所有元件的各种属性/参数。每个属性/参数各占一列。设计人员只需选择要包含在所生成 BOM 报告中的数据即可。可以根据需要对数据进行分组、排序和筛选,也可以根据需要从项目中指定的 PCB 和/或链接的数据库中引入其他参数数据。
以下各节将详细介绍如何在导出报告前处理数据,以获得所需的 BOM 内容。
在 BOM 中对元件进行分组
元件分组 - 以 BomDoc 为源时
BOM 中常用的一种方式是让每种不同的元件各占一行。为此,必须将相同元件分组。
在 BomDoc 中,列分组在 Component Grouping 对话框中配置。随后,设计人员可以使用视图模式按钮
启用或禁用列分组,在 Flat View(每个元件占一行)与 Base View(根据 ActiveBOM 的 Component Grouping 对话框中的设置对元件进行分组)之间即时切换。
如果 Report Manager 使用 BomDoc 作为源,则该对话框中也会包含相同的视图模式按钮;使用这些按钮可在每个元件占一行与分组显示之间切换。存在变体时会使用合并视图;后面的 处理变体一节将对此进行讨论。
比较下面两张图片,即可看到 Report Manager 对话框中的这些差异(将光标悬停在图片上可切换图片)。
当 BOM 来源于 BomDoc 时,不会显示“分组列”区域,因为分组是在 ActiveBOM 中完成的。
如果以 BomDoc 为源,通常无需对 Report Manager 对话框中的数据布局进行任何更改,但如有需要,也可以使用下文介绍的分组方法进行调整。
元件分组 - 以项目为源时
当项目用作 Report Manager 的源时,相同元件的分组在 Report Manager 中配置。
对话框的 Columns 选项卡包含 Drag a column to group 区域,如下所示。当所有分组列的内容都一致时,相同元件将在 BOM 中归为一组。例如,在下图中,元件 C1 和 C3 已归入 BOM 的同一行(第一行),因此它们的 Comment、Description 和 Value 参数值必然相同。
要按更多参数分组,请在 Columns 列表(位于对话框右下方)中单击并按住某个列名,将其拖放到 Drag a column to group 区域。单击各列名旁的删除图标(
),可将该参数从分组参数中移除。
启用某列的 Show 选项,可将该列数据包含在 BOM 中。
配置 BOM 条目的布局
对于源文档中的每个元件,各个已启用的列都会列出该元件的相应信息(如果存在)。如果元件没有特定属性/参数的信息,则对应字段将为空。
选择可见列
要选择在 Report Manager 对话框的网格区域中显示或隐藏哪些列,请使用对话框右侧 Properties 窗格中的“列”选项卡。也可以在主网格区域的列标题上单击右键,然后选择 Select Columns,打开 Select columns 对话框进行设置。
“选择列”对话框的选项和控件
- Search - 输入用于筛选列表的字符。
-
左侧
图标 - 单击可在各种视图模式之间切换:
- (全部)- 单击可显示列表中的所有条目。
- (空白)- 单击可隐藏列表中的所有条目。此功能仅清除 Select columns 对话框中的条目,不会清除 Report Manager 对话框中的条目。
- (非空白)- 单击可显示列表中的所有条目,无论之前对条目做过何种更改。
-
(未选中)- 单击可查看列表中所有未选中的条目,这些条目以
图标表示。单击
图标可取消选中某个条目。
-
(已选中)- 单击可查看列表中所有已选中的条目,这些条目以
图标表示。如果列表中的某个条目显示
图标,单击该图标可将其设为已选中。
可以筛选列,以仅显示已选中、空白、非空白、未选中、勾选或全部列。选择某个视图模式后,图标会变为蓝色
。
- 右侧的
图标 - 单击可打开下拉列表,从中选择要显示的列。选定某一列后,该图标将变为蓝色
。
-
List - 此处列出了可在 Report Manager 对话框中显示的所有列。当某个条目显示
时,该列将显示在 Report Manager 对话框中。当某个条目显示
时,该列将not 不显示在 Report Manager 对话框中。单击这些符号可切换显示/隐藏状态。
- Up/Down - 单击可将选定条目在列表中上移或下移。只有已勾选的条目才能移动。这决定了各列在 Report Manager 对话框中的显示顺序。
更改列顺序
可以根据需要,将列标题单击并拖动到新位置,以更改对话框数据区域中的列顺序。移动列标题时,两个白色竖直箭头会指示有效的放置位置。
调整列宽
如果某一列中的数据未完全显示,可以拖动相应的列分隔线来加宽该列,也可以使用右键菜单中的 Best Fit 命令。此命令会根据该列中最长的字段内容(或标题字符串长度)调整列宽。要根据各列中最长的字段内容(或标题字符串长度)调整所有列的宽度,请使用 Best Fit all Columns 命令。
对列中的数据排序
单击任意列的列标题(避开筛选图标),即可按升序或降序对该列的数据排序。请注意,所有列都会受到影响,但各行将根据所单击的列进行排序。还支持多列排序;按住 Shift 键并单击后续列标题,即可按第二列进行次级排序。
自定义筛选
在某些情况下,您可能需要从 BOM 报告中排除特定部件(例如基准点),或者需要列出具有特定位号前缀和/或封装的一组特定元件。为此,该对话框支持应用自定义筛选,让您能够全面控制 BOM 的内容。
要应用筛选,请单击各列标题右侧的筛选图标(
)。请注意,随后出现的菜单会列出该列中所有不同的条目,便于快速选择筛选;也可以选择 (Custom…) 条目,打开 Filter Editor 对话框。使用该对话框可创建基于任意列中数值的筛选条件。有关更多信息,请参阅 筛选编辑器对话框页面。
应用筛选后,筛选图标会变为蓝色(
),表示该列已启用自定义筛选。当前应用的筛选条件会显示在数据区域的左下角,单击铅笔图标即可重新编辑,如下所示。
要清除当前应用于数据集的筛选,请单击数据区域底部筛选表达式右侧的小叉号(Clear Filter)。
布局的存储位置
在 Report Manager 中定义的布局会被保存,以便下次打开对话框时重新应用。布局的存储位置取决于 Report Manager 从何处获取 BOM 信息,以及从何处打开 Report Manager。
- 如果 Report Manager 的数据源是 ActiveBOM BomDoc:每次打开 Report Manager 时,都会将 BomDoc 中定义的当前布局传递给它。在 Report Manager 中所做的布局更改不会保留;请使用 ActiveBOM 中的 BOM 集功能来配置特定的报告布局。
-
如果报告管理器的数据源是项目(或 PCB):
- 并且 Report Manager 是从原理图或 PCB 编辑器的“报告”菜单打开的,则 Report Manager 布局会存储在项目文件中。
- 并且 Report Manager 是从 OutputJob 打开的,则 Report Manager 布局会存储在 OutJob 文件中。这样便可以将 OutJob 从一个项目转移到另一个项目。
直接向 BOM 中添加更多信息
以往,物料清单的源信息取自设计中已放置元件的属性信息。这可能导致原理图附带大量仅供 BOM 使用的信息。
除了从原理图元件获取的信息外,Report Manager 还可以从已连接的数据源提取信息,包括:
工作区(用于工作区库元件)
Altium 云服务(用于从 Manufacturer Part Search 面板放置的元件)
数据库,用于链接到该数据库的元件
PCB
原理图文档参数
在 Report Manager 的 Columns 选项卡中启用所需的 Sources,然后在 Columns 列表中启用所需的参数。
包含数据库信息
以往,物料清单(BOM)的源信息取自设计中已放置元件的参数信息。但这可能导致原理图附带大量仅供 BOM 使用的信息。如果元件通过数据库库文件链接到外部数据库,Report Manager 就能够直接从该数据库中提取尚未作为设计参数添加到元件的其他记录信息。单击 Columns 选项卡的 Sources 区域中的
按钮,即可启用数据库作为数据源。只有当设计中的一个或多个元件链接到外部数据库时,此选项才可用。
无论采用何种方式链接到外部数据库(*.DbLib、*.SVNDbLib 或 *.DbLink),都可以包含该数据库中的参数。在 Columns 列表中查找
图标,即可识别链接的外部数据库中一个或多个已放置元件所具有的参数,并将其包含在 BOM 中。单击可见性图标,使其变为眼睛图标(
),即可将该列(参数)包含在 BOM 中。
包含 PCB 信息
物料清单的源信息可以包含从 PCB 获取的属性信息,以便设计人员根据需要自定义并使用报告生成功能,生成特殊用途的 BOM。例如,在生成贴片坐标文件时,贴片机操作员需要将 PCB 数据(如 X、Y 坐标)与其他元器件特定参数一起,按照指定的列顺序和文件格式输出。
单击 Columns 选项卡的 Sources 区域中的
按钮,将 PCB 启用为数据源。仅当项目文件中包含 PCB 文档时,此选项才可用。如果项目包含多个 PCB 文档,则会显示 Choose PCB to Use 对话框。
选择用作 BOM 数据源的 PCB。
要切换到另一个 PCB 文档,请单击 Sources 区域中的
按钮,禁用当前 PCB 数据源,然后再次单击该按钮,重新打开 Choose PCB to Use 对话框并选择其他 PCB。
在 BOM 中包含供应商数据
核算项目成本并确定需要向供应商/分销商订购的设计元器件数量,是整个设计流程的重要组成部分。如果设计元器件是从工作区放置的(并且已定义器件选型),或者是从 Manufacturer Part Search 面板放置的,这些元器件将包含供应链链接。如果元器件具有供应链链接,则可以通过启用相应的参数列,在设计发布时将关联的供应商数据(包括价格和库存信息)包含在物料清单中。
通过勾选 Columns 区域中各个所需项目的复选框,可以将以下供应商相关数据包含在物料清单中:
- Manufacturer n - 制造商名称。
- Manufacturer Lifecycle n - 制造商生命周期状态(如果可用)。
- Manufacturer Part Number n - 制造商器件编号。
- Supplier n - 供应商名称。
- Supplier Currency n – 价格数据所用的选定货币的字母代码。
- Supplier Order Qty n – 以下两者中的较大值:(项目 Quantity * Production Qty)或 Minimum Order Qty (MOQ)
- Supplier Part Number n – 供应商商品的器件编号。
- Supplier Stock n – 供应商现有的该商品库存数量。
- Supplier Subtotal per Board n – Supplier Unit Price 乘以项目 Quantity,得到该项目的小计。请注意,此值未考虑最小起订量(MOQ)。
- Supplier Subtotal n – Supplier Unit Price 乘以 Supplier Order Quantity,得到考虑最小起订量(MOQ)后的该项目小计。
- Supplier Unit Price n – 供应商商品的单价(不考虑任何最小起订量)。
指定生产数量
您可以根据计划生产的产品数量(即 Production Quantity)核算整个项目的成本。使用 Report Manager 的 Supply Chain 区域中的 Production Quantity 字段指定所需值。设置此字段非常重要,因为供应链搜索会使用此值来检查元器件的供货情况,以及供应商各个可用阶梯价格对应的单价。
在 Production Quantity 字段中输入的值用于确定 Supplier Order Qty,即生产指定数量的产品所需订购的元器件数量。其计算方法是将(每种特定元器件的)Quantity 乘以指定的 Production Quantity。请注意,对于具有最小起订量(MOQ)的元器件,供应商订购数量取以下两者中的较大值:(项目 Quantity * Production Qty)或 Minimum Order Qty (MOQ)。
随后,Supplier Order Qty 用于确定适用的 Supplier Unit Price。请记住,供应商通常会根据商品的购买数量提供不同的数量价格档位(阶梯价格)。
更改供应商货币
物料清单中价格相关数据所使用的货币,可以从支持的货币中指定。在 Report Manager. 的 Supply Chain 区域中选择所需货币。所选货币将影响以下数据列,这些列也可以包含在 BOM 中:
- Supplier Unit Price n
- Supplier Currency n
- Supplier Subtotal per Board n
- Supplier Subtotal n
在物料清单中输出价格数据时,从支持的货币列表中进行选择。
离线时在 BOM 参数中使用缓存的价格数据
在线工作时(已连接到互联网并登录 Altium Live 账户),具有供应商数据实时链接的元器件,其价格相关数据会得到更新。生成 BOM 时,将使用当时的最新价格。对于特定货币,汇率每天更新一次。
离线工作时,您可以在 BOM 的价格相关参数中使用上次缓存的价格数据。要从 Report Manager 执行此操作,请单击对话框 Supply Chain Data 区域中的 Cached 按钮。
支持变体
如果设计中定义了变体,您可以根据选定的变体生成物料清单。
为此,请从 Report Manager 对话框顶部的变体下拉列表中选择所需变体。Report Manager 横幅将显示当前选定的变体。
基于特定变体生成 BOM 报告,对话框横幅会显示当前使用的变体。
对话框的数据区域将相应更新:
- 除非启用了 Show Not Fitted 选项,否则会移除在所选变体中定义为 Not Fitted 的元器件。
- 如果所选变体的参数值与基础设计不同,则会使用所选变体的参数值进行更新。
要在 BOM 中保留状态为 Not Fitted 的元器件并明确标记其状态,请启用 Show Not Fitted 选项,同时启用对话框 Columns 选项卡中的 Fitted 列。对于每个元器件,此列中的条目会反映该元器件在所选变体中是 Fitted 还是 Not Fitted。对于在所选变体中状态为 Not Fitted 的元器件,其 Quantity 列中的值为零(0)。
以 BomDoc 为数据源时的变体支持
如果 Report Manager 使用 BomDoc 作为数据源,则可以为所有变体生成一份 BOM。这称为合并 BOM。要显示此 BOM,请将 View Mode 设置为 Consolidated View。
系统会为每个变体自动显示两个额外的变体专用列:
-
Qty@<VariantName> -
Price@<VariantName>
导出 BOM
按要求定义并组织好 BOM 内容后,即可生成报告,将其打印或导出为多种文件格式之一。
用于导出 BOM 数据的控件位于 Report Manager 的 Export Options 区域。
要导出物料清单,请执行以下步骤:
-
使用 File Format 下拉菜单选择 BOM 数据的导出格式。支持以下格式:
-
CSV(逗号分隔)(*.csv)
-
制表符分隔文本 (*.txt)
-
MS-Excel (*.xls, *.xlsx)(使用 Microsoft Excel)
-
通用 XLS (*.xls, *.xlsx)(使用内置的 XLS 格式文件生成器,因此无需安装 Microsoft Excel 即可生成此格式的文件)
-
便携式文档格式 (*.pdf)
-
网页 (*.htm, *.html)
-
XML 电子表格 (*.xml)
-
-
如果导出格式为 Excel,可以将 Excel 模板应用于导出的数据。
-
要在关联的软件应用程序中打开导出的文件,请启用 Open Exported 选项。
-
要在生成报告后将其添加到项目中,请启用 Add to Project 选项。
-
启用 Report BOM Violations in Messages 选项,可在生成 BOM 期间对 ActiveBOM 运行检查。检测到的违规项将在 Messages 面板中详细列出。
-
单击 Export 按钮,然后在出现的对话框中指定 BOM 报告的保存位置和名称。单击 Save 创建导出文件。
将设计数据映射到 BOM
生成 BOM 的一种常见方法是将 BOM 数据从 Altium Designer 导出到公司首选格式的 Excel 电子表格中。通过在 Excel 模板中包含特殊的 Field 和 Column 语句,可将 Altium Designer 数据映射到电子表格中。这可用于指定所需的布局。Field 语句用于映射单个参数,例如名为 Title 的文档参数。Column 语句用于映射各个元件的参数,例如 Designator 元件参数。
字段
Field 语句用于将文档参数或项目参数(支持本地及工作区端的项目参数)映射到 BOM 中,例如 Title。Field 声明会被传入的值替换,如下图所示。
字段的使用格式如下:
Field=<FieldName>
示例为 Field=Currency
字段应定义在模板的 Column 区域上方或下方。
列
Column 声明用于映射各个元件的参数,例如每个元件的 Designator、Description、用户自定义参数等。这还可以包括行号、PCB 位置数据,以及在项目包含 BomDoc 时输入到 BomDoc 中的自定义列数据。模板中的 Column 声明会被 ColumnName 字符串替换,其下方各行则填入每个 BOM 条目对应的该列值,如下方两张图所示。
列的使用格式如下:
Column=<ColumnName>
示例为 Column=Designator
注意:
-
模板中定义的每一列都必须显示在 Report Manager 中,才能传输该列数据。例如,在下图中,
Line #列显示在 Report Manager 中,因此可以包含在 BOM 中(使用语法Column=Line #)。请注意,只有从 ActiveBOM BomDoc 生成报告时,Line #列才可作为用户可配置列使用。 - 数据在 Excel 电子表格中的行顺序与 Report Manager 相同。使用 Report Manager's 的列排序和次级排序功能,可根据需要对行进行排序。
映射项目级 BOM 表头信息
项目级信息通常使用 BOM 文档表头中的 Field= 语句进行映射。
可用的系统字段
| 字段 | 说明 |
|---|---|
| Currency | 在 Report Manager 对话框的 Supplier Options 区域中选择的货币。 |
| DataSourceFileName | BOM 数据来源的文件名。 |
| DataSourceFullPath | BOM 数据来源的完整路径及文件名。 |
| GeneratorDescription | 对于 BOM,此字段显示“物料清单”。 |
| GeneratorName | 生成器的名称;由报告管理器生成输出时为 BOM。 |
| OutputName | BOM 的标题,如 Report Manager 中所示(不包括文本“For BOM Document [<DataSourceFileName>]”)。 |
| OutputType | 对于 BOM,此字段显示 BOM_PartType。 |
| PCBDataSourceFileName | PCB 数据源的文件名。 |
| ProductionQuantity | 在 Report Manager 对话框中定义的生产数量。 |
| ProjectFileName | PrjPcb 文件的名称(包括文件扩展名)。 |
| ProjectFullPath | 完整路径 + 项目文件名。 |
| ReportDate | 报表的创建日期。 |
| ReportDateTime | 报表的创建日期和时间。 |
| ReportTime | 报表的创建时间。 |
| TotalQuantity | BOM 条目的 Quantity 列中各数值的总和。 |
| Title | BOM Reports 对话框顶部显示的标题。 |
| VariantName | 在 Variant Management 对话框中定义的变体名称。 |
| VersionControl_RevNumber | BomDoc 的当前修订版本。 |
| VersionControl_ProjFolderRevNumber | 项目的当前修订版本(执行 Commit Whole Project 时递增)。 |
| <UserProjectParameter_n> | 显示分配给用户自定义参数 UserProjectParameter-n 的值。 |
映射文档参数和项目参数
除了上面列出的 Field 语句外,原理图文档参数(包括在原理图文档的 Properties 面板中输入的默认参数和用户自定义参数)以及项目参数(Options for PCB Project 对话框)也可用作字段或列。
默认文档参数
| Address1 | Address2 | Address3 |
| Address4 | ApprovedBy | Author |
| CheckedBy | CompanyName | ConfigurationParameters |
| CurrentDate | CurrentTime | Date |
| DocumentFullPathAndName | DocumentName | DocumentNumber |
| DrawnBy | Engineer | ImagePath |
| Index | ModifiedDate | Organization |
| Revision | Rule | SheetNumber |
| SheetTotal | Time |
映射 BOM 条目信息
BOM 的核心区域是 BOM 条目表格,通常每个元件占一行。此表格中的每一列代表一种元件属性,例如位号、值等。通过输入元件属性/参数(BOM 列标题)来定义列,格式如下:
Column=ColumnName
例如 Column=Description,或 Column=Designator
列信息可以来自多个来源,包括:
元件参数
以下 ColumnNames 适用于所有元件
| Comment | ComponentKind | Description |
| Designator | DesignItemId | Footprint |
| LibRef | LogicalDesignator | PartType |
| PhysicalPath | Quantity | UniqueIdName |
| UniqueIdPath | <UserParameter_n> |
PCB 元件数据
还可以包含 PCB 元件的位置信息。要使用这些列,必须在 Report Manager 对话框中启用 Include Parameters From PCB 选项。
| Center-X(Mil) | Center-Y(Mil) | Center-X(mm) | Center-Y(mm) |
| Pad-X(Mil) | Pad-Y(Mil) | Pad-X(mm) | Pad-Y(mm) |
| Ref-X(Mil) | Ref-Y(Mil) | Ref-X(mm) | Ref-Y(mm) |
| Layer | Rotation |
供应商数据
可以从供应商处获取在线数据并将其包含在 BOM 中。请注意,这些数据会实时更新,并在生成 BOM 时获取。每个元件可设置多个供应商。在下表中,这些供应商以 Supplier Info x 表示,请将 x 替换为相应的数字。
| Manufacturer x | Manufacturer Part Number x | Supplier x |
| Supplier Currency x | Supplier Order Qty x | Supplier Part Number x |
| Supplier Stock x | Supplier Subtotal x | Supplier Unit Price x |
用户自定义列
用户自定义列也以相同方式包含在内:
Column=ColumnName
使基于 Excel 的 BOM 模板可供使用
将相应的 Excel 模板文件(*.xls、*.xlsx、*.xlt、*.xltx)上传到您的工作区后,即可在准备导出 BOM 时使用基于 Excel 的 BOM 模板(按上文将设计数据映射到 BOM部分所述的方法制作)。为此,打开 Preferences 对话框中 Data Management – Templates 页面的 Templates 选项卡,然后从 Add 按钮的菜单或模板表格的 Add 右键菜单中选择 BOM 或 Load from File 命令。在打开的 Open 对话框(标准的 Windows 文件打开对话框)中,从 File name 字段右侧的下拉列表中选择 Microsoft Excel File (*.xlt;*.xltx;*.xltm;*.xls;*.xlsx;*.xlsm) 选项,然后浏览并打开所需文件。该文件将上传到新建工作区 BOM 模板的初始修订版本中,该模板会自动创建在 BOM Templates 类型的工作区文件夹中。
如果所需的 Excel 模板文件位于 Local Template folder(在 Preferences 对话框的 Data Management – Templates 页面底部定义)中,并列在模板表格的 Local 条目下,则可以右键单击该文件并选择 Migrate to Server 命令,将其迁移为新的工作区 BOM 模板。单击 Template migration 对话框中的 OK 按钮以继续迁移过程。如该对话框所述,原始 Excel 模板文件将被添加到本地模板文件夹中的 Zip 压缩包中(因此,它将不再显示在 Local 模板列表下)。
如果需要更改存储在工作区 BOM 模板中的 Excel 模板,请将所需的新 Excel 文件上传到该工作区模板。在 Preferences 对话框的 数据管理 – 模板页面的 Templates 选项卡中,右键单击模板条目,然后从右键菜单中选择 Upload 命令。在 Open 对话框中,浏览并选择所需文件。新模板将存储在该工作区模板的下一个修订版中。
通过输出作业生成 BOM
物料清单也可以作为输出作业配置文件(*.OutJob)的一部分进行配置和生成。通过 New 菜单向项目添加输出作业,或在 Projects 面板中右键单击项目进行添加。
要向已打开的输出作业文件添加 BOM 输出生成器,请单击 Report Outputs 类别下的 Add New Report Output,然后从弹出菜单中选择 Bill of Materials。随后会出现第二个菜单,供您指定数据源(即生成 BOM 报告时使用的源文档)。菜单中仅列出适用的数据源,从而减少出错的可能性。
BOM 的数据源可以是单个指定的原理图源文档、PCB 设计文档、所有原理图源文档([Project] 条目),或 ActiveBOM 文档。
添加后,双击新条目以访问 Report Manager,并按照本文档中的说明自定义 BOM。配置好输出生成器后,将其链接到相关的输出容器。BOM 报告可以生成为文件,也可以发布为 PDF。此外,还可以通过配置好的打印作业,将其直接发送到打印设备,以硬拷贝形式打印。
为所选输出容器启用输出,然后单击“更改”来配置输出,为通过输出作业文件生成 BOM 报告做好准备。
基于 Excel 模板发布为 PDF
在输出作业文件中,还可以执行以下操作,基于指定的 Excel 模板将 BOM 报告发布为 PDF 格式:
-
配置 BOM 输出生成器时:
- 将 Export Options 区域中的 File Format 设置为 Microsoft Excel 工作表(*.xls、*.xlsx、*.xlt、*.xltx)。
- 使用 Excel Options 区域中的 Template 字段指定所需的 Excel 模板。
-
将 BOM 输出生成器链接到所需的、已配置好的 PDF 输出容器,如上图所示。以下规则用于确定打印为 PDF 的电子表格范围:
- 最右侧列标题右边的单元格不包含在输出中。
- 最下方文本单元格下方的单元格不包含在输出中,除非这些单元格包含水平边框和/或背景颜色,且与 BOM 主体部分之间的间隔不超过十个空白行。
准备元件交叉引用报告
元件交叉引用报告是根据元件在设计中所在的原理图图纸整理的元件列表。在原理图文档中选择 Reports » Component Cross Reference,或双击已添加到 OutJob 的元件交叉引用报告,即可访问 Component Cross Reference Report 对话框并配置报告。
元件交叉引用报告对话框的选项和控件
视图模式
有三种视图模式可用于显示条目列表。使用表格上方的按钮选择所需模式:
-
Flat view - 单击可为每个元件显示一行。
-
Base view - 单击可为项目中每种唯一的元件显示一行。Designator 列列出该类型所有元件的位号。
-
Consolidated view - 当项目包含变体时,单击可显示涵盖所有变体的 Consolidated BOM。
变体
如果项目中定义了变体,它们将列在下拉列表中;请选择所需变体。如果启用了 Consolidated 视图,则此控件将被禁用。
预览
单击
,即可根据 Properties 面板中 File Format 和 Template 选项的当前设置导出报告,并在与该文件类型关联的外部应用程序中打开。
常规选项卡
Report Manager 的主区域列出所有元件。如果项目不包含 BomDoc,此处将列出放置在原理图中的所有元件。如果项目包含 BomDoc,且其中添加了其他 BOM 条目,这些条目也会包含在内。
BOM 条目
- Show Not Fitted - 启用此选项可在表格中显示不装配条目。
- Include Alternative Items - 启用此选项可在 BOM 中包含替代项。替代项显示在原始器件下方的新行中。
- Include DB Parameters in Variations - 如果通过 DbLink/DbLib/SVNDbLib 文件放置的数据库元件在设计变体中发生了变化,请启用此选项,以便在更改所选变体时更新数据库参数。
供应链数据
- Production Quantity - 输入数量,或使用箭头选择生产给定产品数量所需订购的数量。
- Currency - 使用下拉列表选择所需的货币。
- Real-time - 单击此项,可显示已链接到供应链数据的元件的实时更新价格数据。
- Cached - 离线工作时,单击此项可显示最近缓存的价格数据。
导出选项
-
File Format - 从下拉列表中选择一种格式。支持以下文件格式:
- CSV(逗号分隔)(*.csv)
- 制表符分隔文本 (*.txt)
- MS-Excel (*.xls, *.xlsx *.xlsm)(使用 Microsoft Excel)
- 通用 XLS (*.xls, *.xlsx, *.xlsm)(使用内置的 XLS 格式文件生成器,因此无需安装 Microsoft Excel 即可生成此格式的文件)
- 便携式文档格式 (*.pdf)
- 网页 (*.htm, *.html)
- XML 电子表格 (*.xml)
- Template - 选择文件格式后,使用下拉列表选择导出时使用的模板格式。选项包括基于文件的模板和工作区模板。
- Add to Project - 启用后,生成的报告将在创建后添加到项目中。
- Open Exported - 启用后,导出的文件保存后将打开相应的软件应用程序,例如 Microsoft Excel。
列选项卡
此选项卡用于配置每个 BOM 条目显示哪些参数,以及这些参数可用的数据源。
- Search - 使用此字段可快速查找所需参数,搜索会匹配名称或别名字符串中任意位置的输入文本。
-
Sources - 除了直接添加到 BomDoc 中的数据 ,ActiveBOM 中可用的默认数据源还包括原理图元件参数 和工作区条目的工作区库元件参数 。ActiveBOM 根据这些数据源生成项目的主 BOM 条目网格。BOM 还可以包含来自以下附加数据源的信息:
-
- 启用后可包含工作区条目。
-
- 启用后,可在每个元件的可用 Columns 中包含 PCB 位置、旋转角度和板面数据。
-
- 启用后可从外部数据库(*.DbLib、*.SVNDbLib 或 *.DbLink)加载附加元件参数。
-
- 启用后,可在可用的 Columns 中包含 PCB 项目所有原理图中检测到的全部原理图文档参数。
-
- 启用后,对于已被 Altium Parts Provider 识别且显示供应链解决方案的 BOM 条目,可以访问丰富的附加元件数据。
-
-
Drag a column to group - 在对话框的 Columns 区域中单击并按住某一列,将其拖放到 Drag a column to group 区域,即可将其用作分组参数。单击
图标可将参数从分组中移除。
-
Columns - 列出 ActiveBOM 可用的所有器件信息源。单击任意列标题字段(包括 Visibility 和 Source 列)可对 Columns 区域进行排序。
- Visibility - 单击左侧列中的可见性图标,可控制该列在主 BOM 条目网格中的可见性。
-
Source - 显示图标以指示该参数的来源:
-
- 来自原理图。
-
- 来自 BOM。
-
- 来自工作区。
-
- Name - 显示源文档中定义的属性/参数名称,或为用户创建的 BomDoc 列输入的名称。
- Alias - 如有需要,可以在源 BomDoc 中定义别名,以重命名列。
其他控件
- Export - 单击可生成报告。随后会打开一个标准的 Windows 对话框,您可以在其中为报告命名。
右键菜单
- Preview - 单击可根据 File Format 和 Template 选项的当前设置生成报告预览。
- Copy - 用于复制全部或选定的数据。
- Copy With Header - 用于将选定的数据复制并粘贴到外部电子表格中,例如 Microsoft Excel。
- Best Fit - 将 Name 和 Descriptions 列中的内容紧密排列,使各列之间没有多余的空隙。
- Best Fit All Columns - 将所有列中的内容紧密排列,使各列之间没有多余的空隙。
- Restore from <.BomDoc> - 用于从指定的 BomDoc 恢复。
- Change PCB Document - 用于切换到另一个 PCB 文档。
- Change Variant - 如果设计中定义了变体,您可以根据所选变体生成物料清单。使用此命令可更改变体、选择默认变体或不使用变体。








