物料清单,或BOM,是从板设计项目生成的数据集的关键成分。这种报告类型的文档提供了构建产品所需的所有组件的列表,包括裸板,裸板本质上是所有其他部件组装的基础“组件”。BOM充当了一个指南,指出了为了按设计构建产品需要采购什么。它还提供了一种基于所需组装板数量的请求旋转来计算成本的方法。
最终的BOM是通过一个专用且强大的报告生成引擎生成的,该引擎的接口被称为报告管理器。报告管理器对话框用于:
- 配置要包含在物料清单(BOM)中的设计属性。
- 按照物料清单(BOM)所需的顺序排列内容。
- 如有需要,应用自定义的列级别、类似电子表格的过滤器。
- 启用不同的组件来源选项。
- 启用供应商选项。
- 配置导出文件格式。
- 如果导出格式为XLS或PDF,选择一个Excel BOM模板。
除了用于生成物料清单(BOM),
报告管理器还可以配置用于生成其他类型的组件输出,例如
组件交叉参考。
要完全控制BOM配置过程,包括供应链信息的交互式视图以及自定义BOM行和列,请将ActiveBOM文档(BomDoc)添加到您的项目中。BomDoc能够即时显示组件供应链信息,并且支持用户定义的行和列,这对于包括额外项目非常理想,例如胶水、标签等。通过BomDoc创建和管理BOM是Altium Designer中推荐的BOM管理方法。
BOM创建选项
最终的物料清单(BOM)输出是通过报告管理器生成的。报告管理器可以以多种格式生成输出,包括PDF、CSV、TXT、Excel、HTML或XML。
报告管理器可以从以下来源提取BOM的源信息:
如果项目中不包含 ActiveBOM,报告管理器会从项目中生成BOM。使用这种方法时,报告管理器用于执行所有BOM布局配置,例如选择和排列列、过滤掉不需要的行、包括供应商信息等。报告管理器还用于配置输出设置,如格式、所需的Excel模板等。采用这种方法,一旦设计过程完成,BOM就准备好了。报告管理器只能用于配置一个BOM输出。如果使用这种方法,如果您需要设置不同的BOM输出配置,则必须使用输出作业。
推荐的方法是在项目中包含一个ActiveBOM文档(BomDoc)。BomDoc是一种源文件,可以在设计开发的任何阶段添加,本质上是一个实时的零件列表。随着组件被添加到原理图中,零件会自动出现在BomDoc中,设计师可以立即开始探索定价和供应链选项,并指定首选零件。设计师还可以选择和排列列,应用过滤器,添加行号,添加额外的自定义列,为自定义项目添加额外的行 - 简而言之,在设计过程中执行所有典型的BOM准备步骤。可以在BomDoc中准备多个输出配置,每个配置都保存为一个BOM集,所需的BOM集在报告管理器中被选中以生成最终的BOM。
如果项目包含一个BomDoc,那么它会自动被用作报告管理器的数据源,除非你在OutputJob中手动覆盖这个设置,将数据源设置为[项目]而不是[活动BOM文档]。当项目被用作数据源时,报告管理器界面会稍有变化,对话框的列标签中会增加列分组功能。下面会有更多相关信息。
当项目包含BomDoc时,它被用作报告管理器的数据源。
创建物料清单(BOM)
可以从以下位置打开报告管理器:
- 项目源原理图文档或使用原理图或PCB编辑器的报告 » 物料清单命令从活动PCB文档中打开。
如果项目中没有原理图文档,也可以添加物料清单。在这种情况下,物料清单报告是从PCB中获取的。
- 在OutputJob中配置的报告类型输出作业。
- 使用报告 » 物料清单命令的ActiveBOM。
在每种情况下,源文件将被编译,
报告管理器对话框将会打开。使用这个高度可配置、专用且强大的报告生成引擎,根据需要配置物料清单报告的内容。
一个从项目BomDoc中获取的物料清单,准备通过报告管理器生成。
物料清单报告对话框的选项和控制
查看模式
有三种查看模式可用于显示物品列表。使用位于网格上方的按钮选择所需模式:
- 平面视图 - 点击以显示每个组件的一行。
- 基础视图 - 点击以显示项目中每个独特组件的一行。"设计器"列列出了此类型所有组件的设计器。
- 合并视图 - 当项目包含变体时使用此视图,以显示所有变体的合并BOM。
默认情况下,基础视图和合并视图按组件ItemID(对于工作区库组件)或库引用(对于非工作区库组件)进行分组。在BomDoc中,可以通过在组件分组对话框中启用额外或替代参数来进行细化,该对话框可从BomDoc的属性面板访问。如果报告管理器使用BomDoc作为源,可以为所有变体生成单个BOM。这被称为合并BOM。要显示此内容,请将查看模式设置为合并视图。
变体
如果项目中定义了变体,则它们将在下拉列表中列出;选择所需的变体。如果启用了合并视图,则此控件被禁用。
要了解更多关于不同类型的变体,请参考设计变体。
预览
点击以根据属性面板中的文件格式和模板选项的当前设置,导出并在关联的外部应用程序中打开报告。
常规标签
报告管理器的主区域列出了所有组件。如果项目不包括BomDoc,这将是放置在原理图中的所有组件的列表。如果项目包括BomDoc并且已向其添加了额外的BOM项目,则这些也将被包括。
BOM项目
- 显示未安装 - 启用此选项以在网格中显示未安装的项目。
定义为所选变体未安装的组件将被移除,除非启用了显示未安装选项。要在BOM中保留未安装的组件并明确标记为此类,启用显示未安装选项并在对话框的列标签中启用已安装列。对于每个组件,此列中的条目反映了每个组件对于所选变体是已安装还是未安装。在所选变体上未安装的组件的数量列中输入的值为零(0)。
- 包括替代项目 - 启用此选项以在BOM中包括替代项目。替代项目显示在原始部件下方的新行中。
- 在变体中包括数据库参数 - 如果通过DbLink/DbLib/SVNDbLib文件放置了数据库组件,并且这些组件在设计变体中有变化,启用此选项以在更改选定变体时更新数据库参数。
BOM项目列表支持以下功能:
- 使用对话框属性区域的列标签显示/隐藏列。
- 拖放以更改列的顺序。
- 点击列标题按该列排序;按住Shift以对后续列进行子排序。
- 点击过滤器图标以按列值进行过滤。
- 使用标准Windows选择技术选择单元格。
- 从BOM项目列表复制单元格内容。
- 使用标准Windows快捷方式滚动BOM项目列表:
- 垂直滚动 - 鼠标滚轮滚动
- 水平滚动 - Shift + 鼠标滚轮滚动
供应链
仅在为项目生成报告时才提供供应商数据。在为PCB文档生成报告时不可用。
- 生产数量 - 输入数量或使用箭头选择需要订购的数量以生产给定的产品数量。
- 货币 - 使用下拉列表选择所需的货币。
- 每个项目的解决方案数量 - 使用此选项编辑每个BOM项目要显示的制造商部件(MPNs)数量。
- 每个解决方案的供应商数量 - 使用此选项编辑每个制造商部件(MPN)要显示的供应商(SPNs)数量。
供应链数据
- 实时 - 点击此项以显示与实时更新的供应链数据链接的组件的基于价格的数据。
- 缓存 - 如果离线工作,点击此项以显示最后缓存的价格数据。
导出选项
- 文件格式 - 从下拉列表中选择一种格式。支持以下文件格式:
- CSV(逗号分隔)(*.csv)
- 制表符分隔文本(*.txt)
- MS-Excel(*.xls, *.xlsx *.xlsm)(使用Microsoft Excel)
- 通用XLS(*.xls, *.xlsx, *.xlsm)(使用内置的XLS格式文件生成器,因此无需安装Microsoft Excel即可生成此格式)
- 便携式文档格式(*.pdf)
- 网页(*.htm, *.html)
- XML电子表格(*.xml)
- 模板 - 选择文件格式后,使用下拉列表选择用于导出的模板格式。选项包括基于文件和工作区模板。
- 添加到项目 - 启用后,生成的报告将在创建后添加到项目中。
- 打开导出的 - 启用后,一旦导出的文件被保存,将打开相关的软件应用程序,例如Microsoft Excel。
- 在消息中报告BOM违规 - 启用此选项在生成BOM时运行ActiveBOM的BOM检查。检测到的违规将在消息面板中详细说明。
如果Altium Designer连接到工作区,则可用的模板是工作区中包含的模板。
如果Altium Designer未连接到工作区,则可用的模板是在首选项对话框的数据管理 - 模板页面中指定的位置的模板。
列标签
此标签用于配置为每个BOM项目显示哪些参数以及这些参数的可用数据源。
- 搜索 - 使用此字段快速定位感兴趣的参数;软件在名称或别名字符串中的任何位置搜索输入的文本。
- 来源 - 除了直接添加到BomDoc的数据外,ActiveBOM中默认可用的数据源还包括原理图组件参数和工作区项目的工作区库参数。从这些来源,ActiveBOM生成主项目BOM项目网格。BOM还可以包括从以下附加数据源获取的信息:
- 启用以包括工作区项目。
- 启用以包括PCB位置/旋转/板侧数据在每个组件的可用列中。
- 启用以从外部数据库(*.DbLib, *.SVNDbLib, 或 *.DbLink)加载额外的组件参数。
- 启用以包括在PCB项目中检测到的所有原理图文档参数的可用列。
- 启用以访问Altium零件提供商识别的并显示供应链解决方案的那些BOM项目的广泛额外组件数据。
- 将列拖动到分组 - 点击,按住并拖动对话框的列部分中的列,然后将其放在将列拖动到分组部分以将其包含为分组参数。点击垃圾桶图标以从分组中移除参数。
- 列 - 列出ActiveBOM可用的所有部件信息来源。列区域可以通过点击任何标题字段进行排序,包括可见性和来源列。
- 可见性 - 点击左列中的可见性图标以控制该列在主BOM项目网格中的可见性。
- 来源 -
虽然这个对话框被称为报告管理器,但它并没有这样的名字。它会根据正在创建的报告类型自动命名,在这个例子中是材料清单。
该对话框展示了源文件中所有组件的各种属性/参数。每个属性/参数都有自己的列。设计师只需选择要在生成的BOM报告中包含哪些数据。数据可以根据需要进行分组、排序和过滤,并且能够根据需要从指定的项目PCB或链接的数据库中包含额外的参数数据。
以下部分将更仔细地查看数据的操作,以在导出报告之前得到所需的BOM内容。
在BOM中分组组件
如果项目包含 ActiveBOM,则BomDoc 中的配置会自动转移到报告管理器对话框中。这种将 ActiveBOM 中的 BOM 设置推送到报告管理器的能力,导致报告管理器对话框中的布局和可用功能有所不同。
报告管理器对话框的基本差异在于如何将相似组件分组到单一行中:
- 来自 ActiveBOM 的 BOM - 分组在 ActiveBOM 的组件分组对话框中定义。ActiveBOM 编辑器还包括查看模式控件,以便立即从平面视图(每个组件一行)切换到分组视图(相似组件在单行中分组)。
- 来自项目的 BOM - 如果项目中没有 BomDoc 或者从具有数据源为
[项目]的 OutputJob 打开报告管理器,则必须手动配置报告管理器。在这种情况下,BOM 组件分组是在报告管理器的列标签页中执行的。
组件分组 - 当BomDoc是数据源时
在BOM中常用的一种方法是为每个独特的组件设置一行。为了实现这一点,相似的组件必须被分组。
在BomDoc中,列分组是在组件分组对话框中配置的。然后,设计师可以使用查看模式按钮
来开启或关闭列分组,即时切换平面视图(每行一个部件)或基础视图(根据ActiveBOM 组件分组对话框中的设置对部件进行分组)。
如果报告管理器使用BomDoc作为源,那么对话框将包含相同的视图模式按钮;使用这些按钮可以在每行一个部件和分组之间切换。当存在变体时,使用综合视图;这将在针对变体的处理部分后面讨论。
通过比较以下两幅图像(将光标悬停在图像上以更换图像),可以看到报告管理器对话框中的这些差异。
当BOM来源于BomDoc时,没有“分组列”部分,因为分组是在ActiveBOM中执行的。
通常,如果BomDoc是数据源,则无需对报告管理器对话框中的数据进行任何布局更改,但如果需要,可以使用下面描述的分组技术进行更改。
组件分组 - 当项目是数据源时
当项目被用作报告管理器的数据源时,在报告管理器中配置相似组件的分组。
请注意,如果一个组件已经从项目中删除,它的状态将在ActiveBOM的BOM状态列中被标记为违规警告。
对话框中的列标签包含拖动列进行分组部分,如下所示。当所有分组列的内容完全匹配时,相似的组件将在物料清单(BOM)中被分组。例如,在下面的图片中,组件C1和C3被分组到了BOM的同一行(第一行),因此它们的评论、描述和值参数必须具有相同的值。
要按额外参数分组,请点击
列列表(对话框右下角)中的列名,按住并拖动,然后将其放在
拖动列以分组部分。点击每个列名旁边的删除图标(

)以移除该参数作为分组参数。
启用列的显示选项,以将该数据包含在物料清单中。
配置物料清单项的布局
每个启用的列将列出在源文档中找到的每个组件的信息,前提是该信息存在。如果组件对于特定的属性/参数没有任何信息,该字段将为空。
选择可见列
要在报告管理器对话框的网格区域中选择要显示或隐藏的列,请使用对话框右侧属性面板的列标签页。您也可以通过在主网格区域的列标题中右击,然后选择选择列来访问选择列对话框。

选择列对话框
选择列对话框的选项和控制
更改列顺序
可以通过点击并拖动列标题到新的位置来更改对话框数据区域中的列顺序,根据需要进行调整。移动列标题时,有效的放置位置会由两个垂直的白色箭头指示。
调整列宽
如果某个特定列中没有显示所有数据,可以拖动适用的列分隔符来加宽列,或使用右键最佳匹配命令。此命令会根据该列中最长的字段条目(或标题字符串长度)来加宽列。要调整所有列以适应它们最长的字段条目(或标题字符串长度),请使用最佳匹配所有列命令。
对列中的数据进行排序
通过点击列标题(远离过滤图标的地方),可以对任何给定列的数据按升序或降序进行排序。请注意,所有列都会受到影响,但行将根据被点击的列进行排序。也支持多列排序;当你点击后续列标题时,按住Shift键可以按照第二列进行子排序。
自定义过滤
在某些情况下,您可能需要从BOM报告中排除特定部分,例如基准点,或者可能需要用特定的设计器根和/或足迹列出一组独特的组件。为了支持这一点,对话框提供了应用自定义过滤的能力,让您完全控制BOM的内容。
要应用过滤,请点击过滤图标(

),位于每个列标题的右侧。注意,随后出现的菜单列出了所有单独的行条目,以便快速选择性过滤,或选择
(自定义…) 项以访问
过滤编辑器对话框。使用该对话框构建过滤器,该过滤器可以基于任何列中的值。有关更多信息,请参阅
过滤编辑器对话框页面。
一旦应用了过滤器,过滤器图标会变成蓝色(
),以表示该列已启用自定义过滤。当前应用的过滤器会在数据区域的左下角显示,并且可以通过点击下面显示的铅笔图标进行重新编辑。
使用自定义过滤的示例。
要清除当前应用于数据集的过滤器,请点击数据区域底部过滤表达式右侧的小叉(清除过滤器)。
布局存储的位置
在报告管理器中定义的布局被存储起来,以便下次打开对话框时可以重新应用。布局存储的位置会根据报告管理器获取BOM信息的来源以及报告管理器被打开的位置而变化。
- 如果报告管理器的数据源是ActiveBOM BomDoc:每次打开时,BomDoc中定义的当前布局都会传输到报告管理器。在报告管理器中所做的布局更改不会被保留;使用ActiveBOM中的BOM Sets功能来配置特定的报告布局。
- 如果报告管理器的数据源是项目(或PCB):
- 并且从原理图或PCB编辑器的报告菜单中打开报告管理器;报告管理器的布局存储在项目文件中。
- 并且从OutputJob中打开报告管理器;报告管理器的布局存储在OutJob文件中。这样做是为了可以将OutJob从一个项目转移到另一个项目。
直接在物料清单中包含额外信息
过去,物料清单(BOM)的来源信息是从设计中放置的组件的属性信息中获取的。这可能导致许多仅用于BOM的信息附加到原理图上。
除了从原理图组件派生的信息之外,报告管理器还可以从连接的数据源中提取信息,包括:
工作区(对于工作区库组件)

Altium 云服务(用于从
制造商零件搜索面板放置的组件)

一个数据库,用于链接到该数据库的组件

PCB

原理图文档参数
在
报告管理器的
列标签中启用所需的
源,然后在
列列表中启用所需的参数。
要按照它们的来源对列列表中的参数进行分组,请点击下图所示的未标记的数据源头部区域。

包含数据库信息
在过去,物料清单(BOM)的源信息是从设计中放置的组件的参数信息中获取的。但这可能导致大量仅用于BOM的信息附加到原理图上。如果组件通过数据库库文件链接到外部数据库,报告管理器能够直接从该数据库提取未添加为设计参数的任何其他记录信息。点击列标签的源区域中的
按钮以启用数据库作为源。此选项仅在设计中的一个或多个组件链接到外部数据库时可用。
无论使用哪种方法链接到外部数据库,都可以包含来自外部数据库的数据库参数:
*.DbLib、
*.SVNDbLib或
*.DbLink。在
列列表中寻找

图标,以区分存在于链接的外部数据库中的一个或多个放置组件的参数,以包含在物料清单(BOM)中。点击可见性图标,使其变为眼睛
(
),以将该列(参数)包含在您的BOM中。

包括仅存在于外部数据库中的额外组件信息。
对于包含
变体的设计,用于查询数据库的参数在
变体管理对话框中进行变化。由于这些参数值仅存在于
变体管理对话框中,它们仅在为生成物料清单(BOM)配置时用于查询和匹配数据库中的记录。为此,请确保在
报告管理器属性的
常规标签页中启用子选项 -
在变体中包含数据库参数。
包含PCB信息
物料清单的源信息可以包括从PCB中取得的属性信息,以便设计师在需要定制和使用报告生成特殊用途BOM时使用。一个例子是生成拾放文件,其中拾放机操作员希望PCB数据(如X,Y位置)以及其他特定于组件的参数,按特定的列顺序和文件格式配置。
点击
列标签中
源区域的

按钮,以启用PCB作为源。此选项仅在项目文件中存在PCB文档时可用。如果项目包含多个PCB文档,则会出现
选择要使用的PCB对话框。
选择要作为BOM来源使用的PCB。
要切换到另一个PCB文档,请在
源区域点击

按钮以禁用该PCB作为源,然后再次点击它以重新打开
选择要使用的PCB对话框并选择不同的PCB。
在物料清单中包含供应商数据
能够成本核算一个项目并确定从供应商/分销商订购的设计组件的数量是整个设计过程的一个重要部分。如果设计组件是从工作区放置的(并且定义了零件选择),或者是从制造商零件搜索面板放置的,那么这些组件将包括指向供应链的链接。如果它们有指向供应链的链接,那么在设计发布时可以在物料清单中包括链接的供应商数据——包括价格和库存信息,通过启用适当的参数列。
仅在为项目生成物料清单时才提供供应商数据。在为PCB文档生成物料清单时不可用,生成简单BOM时也不包括。
通过在列区域勾选每个所需项目的复选框,可以在物料清单中包括以下基于供应商的数据:
- 制造商名称 - 制造商的名称。
- 制造商生命周期状态 - 如果可用,显示制造商的生命周期状态。
- 制造商零件编号 - 制造商的零件编号。
- 供应商名称 - 供应商的名称。
- 供应商货币 – 用于定价数据的所选货币的字母代码。
- 供应商订购数量 – 较高值,要么是(物品数量 * 生产数量),要么是;最小订购量(MOQ)
- 供应商零件编号 – 供应商物品的零件编号。
- 供应商库存 – 供应商拥有该物品的库存单位数量。
- 每块板的供应商小计 – 供应商单价乘以物品数量,得出该物品的小计。注意,此值不考虑MOQ。
- 供应商小计 – 供应商单价乘以供应商订购数量,考虑MOQ后得出该物品的小计。
- 供应商单价 – 供应商物品的每单位成本(不考虑任何MOQ)。
物料清单(BOM)使用索引集合的供应商相关数据来满足有多个关联供应商项目的组件需求,例如供应商 1、供应商货币 1等,供应商 2、供应商货币 2等,依此类推。
指定生产数量
您可以根据预计生产的产品单位数量来完整地计算项目成本,即生产数量。使用报告管理器中供应链区域的生产数量字段来指定所需的值。定义此字段很重要,因为在供应链搜索过程中,此字段用于检查组件的可用性以及可用供应商价格区间的单位价格。

输入生产数量字段的值用于确定供应商订单数量——为生产指定产品数量需要订购的组件数量。这是通过将数量(每个特定组件的)乘以指定的生产数量来计算的。请注意,对于具有最小订购数量(MOQ)的组件,供应商订单数量是以下两者的较高值:(项目数量 * 生产数量)或;最小订购数量(MOQ)。
反过来,供应商订单数量用于确定适用的供应商单价。记住,供应商通常提供不同的数量定价级别(价格优惠),这取决于购买的物品单位数量。
更改供应商货币
在物料清单中,用于定价相关数据的货币可以从支持的货币范围中指定。在供应链区域的报告管理器中选择所需的货币。所选货币将影响以下数据列,这些列也可以包含在BOM中:
- 供应商单价 n
- 供应商货币 n
- 供应商每板小计 n
- 供应商小计 n
在生成物料清单时,可以从支持的货币列表中选择,以输出定价数据。
离线时使用缓存的定价数据在BOM参数中
在线工作时(连接到互联网并登录到Altium Live账户),具有供应商数据实时链接的组件的定价数据将会更新。生成BOM时,将使用当时的最新定价。对于特定货币,汇率每天更新一次。
在离线工作时,您可以在BOM的基于定价的参数中使用最后缓存的定价数据。要做到这一点,请在对话框的供应链数据区域中点击报告管理器中的缓存按钮。
为变体提供服务
如果为设计定义了变体,您可以基于选定的变体生成物料清单。
要做到这一点,请从报告管理器对话框顶部可用的变体下拉菜单中选择所需的变体。报告管理器横幅将指示当前选定的变体。
基于特定变体生成BOM报告,对话框横幅显示当前正在使用的变体。
通过在下拉菜单中选择[无变体]项,回到使用基础设计。
对话框的数据区域将相应更新:
- 对于选定的变体,定义为未安装的组件将被移除,除非启用了显示未安装选项。
- 参数值将根据所选变体更新,以反映与基础设计的差异。
要在物料清单(BOM)中保留标记为未安装的组件,并明确标记它们,需启用显示未安装选项,并在对话框的列标签中启用已安装列。对于每个组件,此列中的条目反映了对于所选变体,每个组件是已安装还是未安装。在所选变体上为未安装的组件,在数量列中输入的值为零(0)。
当源文件是BomDoc时的变体支持
如果报告管理器使用BomDoc作为源,可以为所有变体生成单一的BOM。这被称为综合BOM,要显示它,请将查看模式设置为综合视图。

自动显示两个额外的针对每个变体的特定列:
Qty@<VariantName>
Price@<VariantName>
这些特定于变体的列会自动被分配别名,格式为<VariantName> - 数量和<VariantName> - 价格。
导出物料清单
一旦为物料清单(BOM)定义并组织好所需的内容,就可以生成报告——可以打印,或导出到几种文件格式中。
导出物料清单数据的控件位于报告管理器的导出选项区域。

要导出材料清单,请执行以下步骤:
- 使用文件格式下拉菜单选择导出BOM数据的格式。支持以下格式:
- CSV(逗号分隔)(*.csv)
- 制表符分隔文本(*.txt)
- MS-Excel (*.xls, *.xlsx) (使用Microsoft Excel)
- 通用XLS (*.xls, *.xlsx) (使用内置的XLS格式文件生成器,因此无需安装Microsoft Excel即可生成此格式)
- 便携式文档格式(*.pdf)
- 网页(*.htm, *.html)
- XML电子表格(*.xml)
-
如果导出格式为Excel,可以将Excel模板应用于导出的数据。
如果您未连接到您的工作区,您仍然可以在有效的Altium Designer许可下使用Altium Designer,但您将无法访问您的组织的工作区或它提供的任何其他服务。因此,您将无法使用任何工作区BOM模板。您将
只能使用在
首选项对话框的
数据管理 - 模板页面上指定的模板文件夹中定义的本地文件模板(如果此页面上的
模板可见性选项设置为
服务器 & 本地)。
工作区BOM模板也可以作为一个或多个定义的
环境配置中的配置数据项使用。环境配置用于限制设计师的工作环境,只使用公司认可的设计元素。环境配置在团队配置中心内定义和存储 - 一个通过工作区提供的服务。一旦您连接到工作区,并从可用的环境配置选择中选择(如果适用),Altium Designer将根据BOM模板的使用进行配置。如果所选的环境配置定义了一个或多个BOM模板,则
只能使用这些定义的模板。如果适用于您的所选环境配置没有指定/添加任何BOM模板,或设置为
不控制,那么这些将保持手动定义。换句话说,您可以自由使用本地的、基于文件的模板。有关更多信息,请参见
环境配置管理(
Altium 365工作区,
企业服务器工作区)。
- 要在关联的软件应用程序中打开导出的文件,请启用打开导出的选项。
- 要在创建后将生成的报告添加到项目中,请启用添加到项目选项。
- 启用在消息中报告BOM违规选项,在BOM生成期间运行ActiveBOM的检查。检测到的违规将在消息面板中详细说明。
- 点击导出按钮,然后使用出现的对话框指定BOM报告的保存位置和名称。点击保存以创建导出。
Altium Designer 在安装用户文件的 \Templates 文件夹中提供了几个示例模板。
将设计数据映射到BOM中
生成BOM的常见方法是将BOM数据从Altium Designer导出到公司首选的Excel格式电子表格中。通过在Excel模板中包含特殊的字段和列声明,将Altium Designer数据映射到电子表格中。字段声明用于映射单个参数,例如,名为Title的文档参数。列声明用于映射每个组件的参数,例如,Designator组件参数。
字段
字段声明用于将文档或项目参数(支持本地和工作区侧的项目参数),例如,标题,映射到物料清单中。字段声明将被传递的值替换,如下图所示。
字段在格式中使用:
Field=<字段名>
一个例子是 Field=货币
字段应该定义在模板的列区域的上方或下方。
列
列声明用于映射每个组件的参数,例如,每个组件的
Designator(指示符)、
Description(描述)、用户定义的参数等。这还可以包括:行号、PCB位置数据和如果项目中有BomDoc,则输入到BomDoc中的自定义列数据。模板中的列声明被ColumnName字符串替换,每一行下面的数据由每个BOM项目的该列值填充,如下面两张图片所示。
列的格式使用如下:
Column=<ColumnName>
一个例子是 Column=Designator
注:
- 在模板中定义的每一列都必须在报告管理器中显示,以便将该列数据传输。
- 数据将按照它在报告管理器中的相同行顺序出现在Excel电子表格中。使用报告管理器的列排序和子排序功能按需要对行进行排序。


- Altium Designer安装用户文件的
\Templates文件夹中包含了几个示例模板。
- 本地设计的默认模板位置在首选项对话框的数据管理 - 模板页面中配置。
- 对于工作区设计,可用的模板存储在您的工作区的
\Templates\BOM Templates文件夹中。
Excel模板支持隐藏行或列。在软件中包含的某些示例模板中使用了这一功能,以隐藏Column = <ColumnName>声明。要在Excel中显示隐藏的行或列,请在模板中选择所有单元格,然后在工作表上的任何位置右键单击并选择取消隐藏命令。
映射项目级别,BOM头信息
项目级别信息通常使用BOM文档头部的字段=语句进行映射。
可用系统字段
| 字段 |
描述 |
| 货币 |
在报告管理器对话框的供应商选项区域中选择的货币。 |
| DataSourceFileName |
用于BOM数据的源文件名。 |
| DataSourceFullPath |
用于BOM数据的源的完整路径+文件名。 |
| GeneratorDescription |
对于BOM,此字段显示物料清单。 |
| GeneratorName |
生成器名称 - 当输出由报告管理器生成时显示BOM。 |
| OutputName |
在报告管理器中显示的BOM的标题(不包括文本“For BOM Document [<DataSourceFileName>]”)。 |
| OutputType |
对于BOM,此字段显示BOM_PartType。 |
| PCBDataSourceFileName |
PCB数据源的文件名。 |
| ProductionQuantity |
在报告管理器对话框中定义的生产数量。 |
| ProjectFileName |
PrjPcb文件的名称(包括文件扩展名)。 |
| ProjectFullPath |
完整路径+项目文件名。 |
| ReportDate |
报告创建的日期。 |
| ReportDateTime |
报告创建的日期和时间。 |
| ReportTime |
报告创建的时间。 |
| TotalQuantity |
BOM项目数量列中值的总和。 |
| 标题 |
在BOM报告对话框顶部显示的标题。 |
| VariantName |
在变体管理对话框中定义的变体名称。 |
| VersionControl_RevNumber |
BomDoc的当前修订版。 |
| VersionControl_ProjFolderRevNumber |
项目的当前修订版(在执行提交整个项目时递增)。 |
| <UserProjectParameter_n> |
显示分配给用户定义的UserProjectParameter-n的值。 |
映射文档和项目参数
除了上述字段声明外,原理图文档参数(默认参数和用户在原理图文档的属性面板中输入的自定义参数)以及项目参数(PCB项目选项对话框)也可以用作字段或列。
默认文档参数
| 地址1 |
地址2 |
地址3 |
| 地址4 |
批准人 |
作者 |
| 检查人 |
公司名称 |
配置参数 |
| 当前日期 |
当前时间 |
日期 |
| 文档完整路径和名称 |
文档名称 |
文档编号 |
| 绘图人 |
工程师 |
图片路径 |
| 索引 |
修改日期 |
组织 |
| 修订版 |
规则 |
页码 |
| 总页数 |
时间 |
|
如果相同的参数既是文档参数也是项目参数,项目参数将优先。如果同一个文档参数在多个文档中存在,层级更高的文档参数将优先。
映射BOM项目信息
BOM的核心区域是BOM项目的网格,通常每个组件使用一行。这个网格中的每一列代表一个组件属性,例如指示器、值等。列是通过输入组件属性/参数(BOM列标题)来定义的,格式为:
列=列名
例如 列=描述,或 列=指示器
列信息可以从几个来源获取,包括:
组件参数
这些列名适用于所有组件
| 备注 |
组件类型 |
描述 |
| 指定器 |
设计项目ID |
封装 |
| 库引用 |
逻辑指定器 |
部件类型 |
| 物理路径 |
数量 |
唯一ID名称 |
| 唯一ID路径 |
<用户参数_n> |
|
PCB组件数据
也可以包括PCB组件位置信息。要使用这些列,必须在报告管理器对话框中启用包括来自PCB的参数选项。
| 中心-X(密耳) |
中心-Y(密耳) |
中心-X(mm) |
中心-Y(mm) |
| 焊盘-X(密耳) |
焊盘-Y(密耳) |
焊盘-X(mm) |
焊盘-Y(mm) |
| 参考-X(密耳) |
参考-Y(密耳) |
参考-X(mm) |
参考-Y(mm) |
| 层 |
旋转 |
|
|
供应商数据
可以从供应商处检索在线数据,并将其包含在物料清单(BOM)中。请注意,这些数据是实时更新的,并且在生成BOM时检索。每个组件可以设置多个供应商。在下表中,这些被描述为供应商信息x - 用适当的数字替换x。
| 制造商x |
制造商零件编号x |
供应商x |
| 供应商货币x |
供应商订购数量x |
供应商零件编号x |
| 供应商库存x |
供应商小计x |
供应商单价x |
用户定义的列
使基于Excel的BOM模板可用
一个基于Excel的BOM模板(如上文将设计数据映射到BOM部分所述准备)可以通过上传相关的Excel模板文件(*.xls、*.xlsx、*.xlt、*.xltx)到您的工作区来供导出BOM时使用。要做到这一点,打开首选项对话框中的数据管理 - 模板页面的模板标签页,并从添加按钮的菜单或模板网格的添加上下文菜单中选择BOM或从文件加载命令。在打开的打开对话框(一个标准的Windows打开类型对话框)中,选择右侧文件名字段下拉菜单中的Microsoft Excel文件(*.xlt;*.xltx;*.xltm;*.xls;*.xlsx;*.xlsm)选项,并使用对话框浏览并打开将要上传的所需文件,该文件将自动在BOM模板类型的工作区文件夹中创建新的工作区BOM模板的初始修订版。

如果所需的 Excel 模板文件位于本地模板文件夹中(在首选项对话框的数据管理 - 模板页面底部定义),并且在模板网格的本地条目下列出,可以通过右键点击它并选择迁移到服务器命令,将其迁移到新的工作区BOM模板。在模板迁移对话框中点击确定按钮,继续进行迁移过程 - 如此对话框中所述,原始Excel模板文件将被添加到本地模板文件夹中的Zip存档中(因此它将不会在本地模板列表下可见)。
如果您需要更改存储在工作区BOM模板中的Excel模板,请将所需的新Excel文件上传到该工作区模板。从偏好设置对话框的数据管理 - 模板页面的模板标签页中,右键点击模板条目并选择上下文菜单中的上传命令。在打开对话框中,浏览并选择所需文件。新模板将被存储在该工作区模板的下一个修订版中。
- 要打开存储在工作区BOM模板修订版中的Excel BOM模板文件,请在资源管理器面板中浏览至该修订版并在修订版的详情视图标签页上选择该文件,然后右键点击并从上下文菜单中选择打开命令。文件将在安装的Excel中打开。
- 要下载存储在工作区BOM模板修订版中的Excel BOM模板文件,请在资源管理器面板中浏览至该修订版并在修订版的详情视图标签页上选择该文件,然后右键点击并从上下文菜单中选择下载命令。在随后的选择目标文件夹对话框中指定接收文件的目标文件夹。
从输出作业生成物料清单
物料清单也可以作为输出作业配置文件(*.OutJob)的一部分进行配置和生成。通过新建菜单添加一个输出作业到项目中,或者在项目面板中右击项目。
要在打开的输出作业文件中添加一个BOM输出生成器,请在报告输出类别下点击添加新的报告输出,并从弹出菜单中选择物料清单。将提供第二个菜单,您可以从中指定数据源(生成BOM报告时要使用的源文档)。只有适用的数据源可用,减少了出错的可能性。

物料清单(BOM)的数据来源可以是单一的特定源原理图文件、PCB设计文件、所有源原理图文件([项目]条目)或一个ActiveBOM文档。
添加后,双击新条目以访问报告管理器并按照本文档中的说明自定义BOM。配置输出生成器后,将其链接到相关的输出容器。BOM报告可以作为基于文件的输出生成,或发布为PDF。也可以通过配置的打印作业直接发送到打印设备打印成纸质副本。
启用所选输出容器的输出,然后点击更改以配置输出,准备从输出作业文件生成BOM报告。
在从原理图或PCB生成BOM时,在报告管理器中定义的设置会存储在项目文件中,这些设置与在输出作业文件中为相同输出类型定义的设置不同。虽然从源编辑器生成可以用于快速测试,但输出作业文件提供了一种可跨项目使用的便携解决方案,无需一次又一次地设置喜爱的BOM自定义。
基于Excel模板发布到PDF
从一个输出作业文件中,BOM报告也可以基于指定的Excel模板发布为PDF格式,通过执行以下操作:
- 配置BOM输出生成器时:
- 在导出选项区域设置文件格式为Microsoft Excel工作表(*.xls、*.xlsx、*.xlt、*.xltx)。
- 使用Excel选项区域中的模板字段指定所需的Excel模板。
- 如上图所示,将BOM输出生成器链接到所需的(并已配置的)PDF输出容器。应用以下规则来确定打印到PDF的电子表格的大小:
- 最右侧列标题右侧的单元格不包括在输出中。
- 最低文本单元格下方的单元格不包括在内,除非它们包含水平边框和/或背景颜色,并且与BOM的主要部分之间不超过十个空行。
准备元件交叉参考报告
元件交叉参考报告是一个基于它们在设计中所在的原理图表的元件列表。从原理图文档选择报告 » 元件交叉参考或双击已添加到OutJob中的元件交叉参考报告,以访问元件交叉参考报告对话框,在此对话框中可以配置报告。

组件交叉参考报告对话框的选项和控制
查看模式
有三种查看模式可用于显示项目列表。使用位于网格上方的按钮选择所需模式:
- 平面视图 - 点击以显示每个组件的一行。
- 基础视图 - 点击以显示项目中每个独特组件的一行。"设计器"列列出了此类型所有组件的设计器。
- 合并视图 - 当项目包含变体时使用此视图,以显示所有变体的合并BOM。
默认情况下,基础视图和合并视图按组件ItemID(对于工作区库组件)或库引用(对于非工作区库组件)进行分组。在BomDoc中,可以通过在组件分组对话框中启用额外或替代参数来细化这一点,该对话框可从BomDoc的属性面板访问。如果报告管理器使用BomDoc作为源,可以为所有变体生成单一BOM。这被称为合并BOM,要显示此内容,请将查看模式设置为合并视图。
变体
如果项目中定义了变体,它们将在下拉列表中列出;选择所需的变体。如果启用了合并视图,则此控件被禁用。
要了解更多关于不同类型的变体,请参考设计变体。
预览
点击以根据属性面板中的文件格式和模板选项的当前设置,导出并在关联的外部应用程序中打开报告。
常规标签
报告管理器的主区域列出了所有组件。如果项目不包括BomDoc,这将是放置在原理图中的所有组件的列表。如果项目包括BomDoc并且已向其添加了额外的BOM项目,这些也将被包括在内。
Bom项目
- 显示未安装 - 启用此选项以在网格中显示未安装的项目。
定义为所选变体未安装的组件将被移除,除非启用了显示未安装选项。要在BOM中保留未安装的组件并明确标记为此类,请启用显示未安装选项并在对话框的列标签中启用已安装列。对于每个组件,此列中的条目反映了每个组件对于所选变体是已安装还是未安装。在所选变体上未安装的组件的数量列中输入的值为零(0)。
- 包括替代项目 - 启用此选项以在BOM中包括替代项目。替代项目显示在原始部件下方的新行中。
- 包括数据库参数在变体中 - 如果有通过DbLink/DbLib/SVNDbLib文件放置的数据库组件,并且这些组件在设计变体中有变化,启用此选项以在更改选定变体时更新数据库参数。
供应链数据
- 生产数量 - 输入需要订购的数量,以生产给定产品数量,或使用箭头选择数量。
- 货币 - 使用下拉列表选择所需的货币。
- 实时 - 点击此项以显示与实时更新的供应链数据链接的组件的基于定价的数据。
- 缓存 - 如果离线工作,点击此项以显示最后缓存的定价数据。
导出选项
- 文件格式 - 从下拉列表中选择一种格式。支持以下文件格式:
- CSV(逗号分隔)(*.csv)
- 制表符分隔文本(*.txt)
- MS-Excel (*.xls, *.xlsx *.xlsm)(使用Microsoft Excel)
- 通用XLS (*.xls, *.xlsx, *.xlsm)(使用内置的XLS格式文件生成器,因此无需安装Microsoft Excel即可生成此格式)
- 便携式文档格式(*.pdf)
- 网页(*.htm, *.html)
- XML电子表格(*.xml)
- 模板 - 选择文件格式后,使用下拉列表选择用于导出的模板格式。选项包括基于文件和工作区模板。
- 添加到项目 - 启用后,生成的报告将在创建后添加到项目中。
- 打开导出的 - 启用后,一旦导出的文件被保存,将打开相关的软件应用程序,例如Microsoft Excel。
列标签
此标签用于配置为每个BOM项目显示哪些参数以及这些参数的可用数据源。
- 搜索 - 使用此字段快速定位感兴趣的参数,搜索在名称或别名字符串中的任意位置输入的文本。
- 来源 - 除了直接添加到BomDoc中的数据(BOMdoc的数据源),ActiveBOM中默认可用的数据源是原理图组件参数(原理图的数据源)和工作区库组件参数(工作区项目的数据源)。从这些来源,ActiveBOM生成主项目BOM项目网格。BOM还可以包括从以下附加数据源中获取的信息:
- 启用以包括工作区项目。
- 启用以包括PCB位置/旋转/板侧数据在每个组件的可用列中。
- 启用以从外部数据库(*.DbLib, *.SVNDbLib, 或 *.DbLink)加载额外的组件参数。
- 启用以包括在PCB项目中所有原理图中检测到的所有原理图文档参数在可用列中。
- 启用以访问Altium零件提供商识别的那些BOM项目的广泛额外组件数据,并显示供应链解决方案。
- 拖动列以分组 - 点击,按住并拖动对话框的列部分中的列,然后将其放在拖动列以分组部分以将其包括为分组参数。点击垃圾桶图标以从分组中移除参数。
- 列 - 列出ActiveBOM可用的所有零件信息来源。列区域可以通过点击任何标题字段进行排序,包括可见性和来源列。
- 可见性 - 点击左列中的可见性图标以控制主BOM项目网格中该列的可见性。
- 来源 - 显示一个图标以显示该参数的来源:
- 来自原理图。
- 来自BOM。
- 来自工作区。
- 名称 - 显示在源文档中定义的属性/参数的名称,或为用户创建的BomDoc列输入的名称。
- 别名 - 如有需要,可以在源BomDoc中定义别名以重命名列。
附加控制
- 导出 - 点击以生成报告。将打开一个标准的Windows对话框,您可以在其中命名报告。
右键菜单
- 预览 - 点击以根据文件格式和模板选项的当前设置生成报告预览。
- 复制 - 用于复制所有或选定的数据。
- 带标题复制 - 用于将选定的数据复制并粘贴到外部电子表格中,例如Microsoft Excel。
- 最佳匹配 - 将名称和描述列的内容合并在一起,使它们紧密放置,每列之间没有多余的空间。
- 所有列最佳匹配 - 将所有列的内容合并在一起,使它们紧密放置,每列之间没有多余的空间。
- 从
恢复 - 用于从指定的BomDoc恢复。
- 更改PCB文档 - 用于切换到另一个PCB文档。
- 更改变体 - 如果为设计定义了变体,您可以基于选定的变