制造
板厂制造文件包、BOM 与价格
为 JLCPCB 或任何板厂生成 Gerber、钻孔、BOM 和坐标文件,在 Mouser 和 Farnell 查询 BOM 价格,并导出 STEP 文件用于外壳。
一旦检查没有错误,布局就会变成一个板厂和组装厂可以直接接受的制造文件包。本指南涵盖如何生成该文件包、如何计算元件价格,以及如何导出 3D 模型用于外壳设计。
生成制造文件包
agentee fab pcb:NAME -o fab/当布局存在错误时,fab 会拒绝执行。如果没有错误,它会写入:
| 文件 | 内容 |
|---|---|
F_Cu.gbr ... B_Cu.gbr | 每层的铜,RS-274X 格式,包含 X2 文件属性,铺铜区域作为区域填充 |
F_Mask.gbr、B_Mask.gbr | 阻焊开窗位于焊盘轮廓处,过孔加阻焊桥 |
F_Paste.gbr、B_Paste.gbr | 表面贴装焊盘上的锡膏 |
F_SilkS.gbr、B_SilkS.gbr | 使用 Hershey 笔画字体的丝印,包含版本水印 |
Edge_Cuts.gbr | 电路板轮廓及每个开槽 |
drill-PTH.drl、drill-NPTH.drl | Excellon 钻孔文件,槽孔使用 G85;HDI 电路板上每个盲孔、埋孔或微孔层对应一个额外文件 |
bom.csv、bom-jlcpcb.csv | 物料清单,按数值、封装、mpn 和 lcsc 分组 |
cpl.csv | 坐标文件,采用 JLCPCB 的列格式 |
fab-notes.txt | 版本、叠层、表面处理、阻抗网络类、过孔类型以及需要填充的内容 |
NAME.d356 | 用于裸板电气测试的 IPC-D-356A 网络表 |
testpoints.csv | 所有测试焊盘,供测试夹具构建者使用 |
NAME-gerbers.zip | 所有 Gerber 和钻孔文件,可直接上传 |
assembly-top.png、assembly-bottom.png | 供产线使用的板厂层和丝印层 |
坐标单位为毫米,Y 轴向上,Gerber 文件和坐标文件保持一致。标记为 dnp 的元件、字段中 assembly = "no" 的元件,以及安装孔和基准点,不会出现在物料清单和坐标文件中。
从 JLCPCB 下单
- 上传
NAME-gerbers.zip。 - 选择与电路板规格中指定的相同叠层。对于阻抗受控电路板,请通过其代码(如
JLC04161H-7628)选择制造工艺;所有宽度检查的求解都基于此假设。 - 使表面处理、阻焊颜色和铜厚与
fab-notes.txt保持一致。 - 对于组装,上传
bom-jlcpcb.csv和cpl.csv。通过在原理图中为每个元件添加lcsc字段来填充LCSC Part #列:
agentee edit sch NAME set C1 --field lcsc=C14663fab-notes.txt 列出了板厂需要在默认设置之外执行的所有操作:需要填充并加阻焊桥的焊盘内过孔、需要保留的边缘焊盘、带有目标值、层和宽度的阻抗网络类。将相关行粘贴到订单备注中。
水印
每个制造文件包的丝印上都带有 agentee vX.Y.Z-HASH:生成该文件包的版本及其源代码的 git 提交哈希,如果工作树有未提交的更改,则带有 -dirty 后缀。默认位于底部丝印上,靠近左下角的空白位置,fab-notes.txt 会说明具体位置。它无法关闭,如果没有空间放置,文件包将被拒绝。在布局中设置 [watermark] at 可以自行选择位置。
计算物料清单价格
agentee parts NAME --boards 5
agentee parts NAME --refs C11,R8 --json
agentee parts NAME --distributor farnell --farnell-store ie.farnell.comparts 根据 mpn 字段在 Mouser 和 Farnell 上查询物料清单的每一行,因此请先为每个元件提供 mfr 和 mpn;没有这些字段的行将被跳过。密钥位于所有项目之外,存放在 ~/.config/agentee/distributors.toml 中:
[mouser]
api_key = "..."
[farnell]
api_key = "..."
store = "uk.farnell.com"对于每一行,它选择针对该数量有库存且未停产的最便宜报价,遵守最小订购量和倍数,并在总价更低时购买到价格断点。然后它寻找可以替换的更便宜元件:
- 具有相同数值、相同或更好容差以及相同封装的电阻器;
- 具有相同数值、不低于的电压、不劣于的介质(C0G 保持 C0G,X5R 可变为 X7R)以及相同封装的陶瓷电容器;
- 具有相同名称和封装的通用分立器件,如 2N7002、BAT54 或 SMAJ;
- 具有相同颜色和封装的指示 LED。
集成电路和连接器仅获取另一分销商的相同部件,或分销商建议的替代品。将替换写入元件的 mpn,而不是物料清单,以便下次运行和下一个文件包保持一致。
导出用于外壳
agentee models
agentee export pcb:NAME -o NAME.stepexport 写入一个 STEP 装配体:电路板作为具有叠层厚度、孔、槽和开槽的实体,每个元件作为以其参考设计命名的实例。供应商的 STEP 模型按供应商提供的格式导入,无论有多少元件使用它们,都只写入一次;VRML 模型和生成的实体作为多边形表面导入,没有模型的元件作为覆盖其板厂轮廓的盒子。电路板底面位于 z = 0,Y 轴向上。
agentee models 首先将封装命名的 KiCad 库模型获取到缓存中,并报告任何未找到的模型。封装还可以命名一个指向供应商 STEP 文件的 https:// URL,并固定到某个提交,以便它不会在你不知情的情况下改变。
在下单之前
agentee check无错误,agentee drc NAME也无错误,你选择忽略的通知已记录在DESIGN.md中。- 所有仿真都是最新的:检查会对过期结果发出警告。
- 渲染结果看起来正确:
agentee render pcb:NAME,以及文件包中的装配图。 agentee view --3d显示元件位于预期位置。- 你需要的测试焊盘都在那里:
agentee testpoints NAME --dry-run列出它将添加的内容。