[{"data":1,"prerenderedAt":66},["ShallowReactive",2],{"blog-pick-and-place-file-checklist-cn":3},{"title":4,"description":5,"date":6,"lastUpdated":6,"category":7,"image":8,"readingTime":9,"wordCount":10,"timeRequired":11,"htmlContent":12,"faq":13,"tags":30,"slug":35,"sourceLocale":36,"availableLocales":37,"jsonld":42},"贴片坐标文件(CPL):字段、旋转角与 BOM 核对清单","投 SMT 前核对贴片坐标文件(CPL/centroid):原点、几何中心 vs Pin1 坐标、零度基准、底面镜像与 BOM DNP 规则。","2026-10-29","technology","/assets/blogs/pick-and-place-file-checklist/assembly-drawing.svg",4,748,"PT4M","\u003Cp>从 EDA 导出贴片文件——也叫 \u003Cstrong>CPL(Component Placement List)\u003C/strong>、\u003Cstrong>centroid 文件\u003C/strong>或 \u003Cstrong>XYR / \u003Ccode>.pos\u003C/code> 文件\u003C/strong>——却不与当前 BOM 版本和装配图对账,是 NPI 组装挂起和极性件贴反最常见的原因之一。一个能被 SMT 编程软件正常导入的 CSV,照样可能把整个连接器贴偏(库原点放在 Pin 1 而非封装体中心)、把二极管和 IC 转 \u003Cspan class=\"math-inline\">180°\u003C/span>、或把标了 \u003Ccode>DNP\u003C/code>(不贴装)的元件装上去。\u003C/p>\n\u003Cp>元件采购与替代料审批属于 \u003Ca href=\"/cn/blog/what-is-a-bom/\">PCBA 物料清单(BOM)\u003C/a>的范畴,而 CPL 管的是\u003Cstrong>物理贴装坐标、正反面归属与吸嘴旋转角\u003C/strong>。放行前核对 CPL,需要锁定七点坐标契约,并同时做集合级 BOM 对账和视觉叠加检查。\u003C/p>\n\u003Cp>\u003Cimg src=\"/assets/blogs/pick-and-place-file-checklist/assembly-drawing.svg\" alt=\"顶视贴装核对图:原点(0,0)、贴装的 R1/R2、极性二极管 D1 负极朝向、排除的 C3 DNP\">\u003C/p>\n\u003Ch2>1. 七点坐标与方向契约\u003C/h2>\n\u003Cp>SMT 贴片机不读原理图符号——它驱动真空吸嘴到达相对板基准点的数值 \u003Cspan class=\"math-inline\">(X, Y)\u003C/span> 偏移,再把吸嘴相对元件编带口袋方向旋转 \u003Cspan class=\"math-inline\">θ\u003C/span> 度。导出贴片文件前(如 \u003Ca href=\"https://docs.kicad.org/9.0/en/pcbnew/pcbnew.html#_component_placement_files\">KiCad 9.0\u003C/a> 的 \u003Ccode>File → Fabrication Outputs → Component Placement\u003C/code>,或 Altium 的 \u003Ccode>Generates Pick and Place Files\u003C/code>),核对这七项:\u003C/p>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>CPL 参数\u003C/th>\n\u003Cth>导出必须明确的约定\u003C/th>\n\u003Cth>常见工程错误\u003C/th>\n\u003Cth>投板前核查\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>\u003Cstrong>1. 参考原点 \u003Cspan class=\"math-inline\">(0,0)\u003C/span>\u003C/strong>\u003C/td>\n\u003Ctd>统一基准(通常板轮廓左下角,或专用 \u003Ccode>Drill/Place File Origin\u003C/code>),与 Gerber/钻孔文件一致\u003C/td>\n\u003Ctd>CPL 用页面绝对原点而 Gerber 用辅助钻孔原点,全板元件整体偏移\u003C/td>\n\u003Ctd>把 CPL 质心叠加到顶/底锡膏层 Gerber 上,核对基准点坐标(\u003Ccode>FID1\u003C/code>–\u003Ccode>FID3\u003C/code>)\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>2. 单位与精度\u003C/strong>\u003C/td>\n\u003Ctd>明确 \u003Ccode>mm\u003C/code>(推荐,保留 3–4 位小数)或 \u003Ccode>mil\u003C/code>/\u003Ccode>inch\u003C/code> 表头\u003C/td>\n\u003Ctd>单位未标注或取整,使 \u003Cspan class=\"math-inline\">0.35--0.40 mm\u003C/span> 间距 BGA 和 0201 偏离中心\u003C/td>\n\u003Ctd>核对最大 \u003Cspan class=\"math-inline\">(X, Y)\u003C/span> 值与物理板轮廓尺寸一致\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>3. 质心参考点\u003C/strong>\u003C/td>\n\u003Ctd>\u003Cstrong>元件体几何中心\u003C/strong>(吸嘴拾取的重心),\u003Cem>不是\u003C/em> Pin 1\u003C/td>\n\u003Ctd>连接器、屏蔽罩、DPAK/SOT 自定义封装原点留在 Pin 1,导致吸嘴拾取失败或偏离焊盘\u003C/td>\n\u003Ctd>在锡膏层质心叠加图上逐一目检不对称连接器、电感、多针排针\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>4. 正反面(\u003Ccode>Top\u003C/code>/\u003Ccode>Bottom\u003C/code>)\u003C/strong>\u003C/td>\n\u003Ctd>明确的面别标志(\u003Ccode>Top\u003C/code>/\u003Ccode>Bottom\u003C/code> 或 \u003Ccode>T\u003C/code>/\u003Ccode>B\u003C/code>),或分面文件\u003C/td>\n\u003Ctd>底面去耦电容或插件件被错标成 \u003Ccode>Top\u003C/code>\u003C/td>\n\u003Ctd>顶/底元件数量与顶/底锡膏层开口数对账\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>5. 底面 X 约定\u003C/strong>\u003C/td>\n\u003Ctd>明确底面 X 坐标是\u003Cstrong>俯视穿透板子看\u003C/strong>还是\u003Cstrong>水平镜像(\u003Ccode>Negate bottom X\u003C/code>)\u003C/strong>\u003C/td>\n\u003Ctd>CAD 已镜像导出,工程师又在 Excel 里手动取负一次,整个底面被翻转\u003C/td>\n\u003Ctd>用一个不对称偏心底面元件对照底面锡膏 Gerber 视图核对\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>6. 旋转角(\u003Cspan class=\"math-inline\">θ\u003C/span>)\u003C/strong>\u003C/td>\n\u003Ctd>从库零度方向到贴装方向的逆时针角度(\u003Cspan class=\"math-inline\">0°--360°\u003C/span>)\u003C/td>\n\u003Ctd>库封装按 \u003Cspan class=\"math-inline\">90°\u003C/span> 或 \u003Cspan class=\"math-inline\">180°\u003C/span> 绘制,与 IPC-7351 / EIA-481 编带标准不一致,极性件反贴\u003C/td>\n\u003Ctd>拿\u003Cstrong>装配图\u003C/strong>上的 Pin 1 / 负极标记,对照实际封装逐个核对\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>7. 贴装范围与 \u003Ccode>DNP\u003C/code>\u003C/strong>\u003C/td>\n\u003Ctd>明确 \u003Ccode>DNP\u003C/code>/\u003Ccode>DNI\u003C/code> 封装、基准点、测试点是\u003Cstrong>从 CPL 剔除\u003C/strong>还是在状态列标记\u003C/td>\n\u003Ctd>CAD 把不贴装封装也导进 CPL——\u003Ccode>Exclude from position files\u003C/code> 或 \u003Ccode>DNP\u003C/code> 过滤没勾\u003C/td>\n\u003Ctd>把展开 BOM 的 \u003Ccode>Fit\u003C/code> 位号集合与 CPL 位号集合做对账\u003C/td>\n\u003C/tr>\n\u003C/tbody>\u003C/table>\n\u003Ch2>2. 对账实战:一次抓出三种经典 CPL 错误\u003C/h2>\n\u003Cp>下载我们的自包含对账练习包,看集合核对如何与视觉极性验证配合。示例板 \u003Ccode>TRAIN-C / Variant A\u003C/code>(\u003Cspan class=\"math-inline\">30.0 × 13.0 mm\u003C/span>,仅顶面 SMT,原点左下角,\u003Ccode>DNP\u003C/code> 从 CPL 剔除,二极管 \u003Ccode>D1\u003C/code> 约定 \u003Cstrong>\u003Cspan class=\"math-inline\">0°\u003C/span> 时负极标记朝左\u003C/strong>):\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>练习文件:\u003C/strong> \u003Ca href=\"/assets/blogs/pick-and-place-file-checklist/bom.csv\">bom.csv\u003C/a>、\u003Ca href=\"/assets/blogs/pick-and-place-file-checklist/cpl-bad.csv\">cpl-bad.csv\u003C/a>、\u003Ca href=\"/assets/blogs/pick-and-place-file-checklist/cpl-good.csv\">cpl-good.csv\u003C/a>、\u003Ca href=\"/assets/blogs/pick-and-place-file-checklist/assembly-drawing.svg\">assembly-drawing.svg\u003C/a>、\u003Ca href=\"/assets/blogs/pick-and-place-file-checklist/verify.py\">verify.py\u003C/a> 与\u003Ca href=\"/assets/blogs/pick-and-place-file-checklist/README.md\">说明\u003C/a>。\u003C/li>\n\u003C/ul>\n\u003Ch3>第一步:用 BOM 核对来料 CPL(\u003Ccode>cpl-bad.csv\u003C/code>)\u003C/h3>\n\u003Cp>\u003Ccode>bom.csv\u003C/code> 里三个 SMT 件标 \u003Ccode>Fit\u003C/code>(\u003Ccode>R1\u003C/code>、\u003Ccode>R2\u003C/code>、\u003Ccode>D1\u003C/code>),一个电容标 \u003Ccode>DNP\u003C/code>(\u003Ccode>C3\u003C/code>)。把来料 \u003Ccode>cpl-bad.csv\u003C/code> 与 \u003Ccode>assembly-drawing.svg\u003C/code> 对照,会查出三种如果不修必然导致装配失败的错误:\u003C/p>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>\u003Ccode>cpl-bad.csv\u003C/code> 中发现的问题\u003C/th>\n\u003Cth>错误类型\u003C/th>\n\u003Cth>CAD 流程里怎么产生的\u003C/th>\n\u003Cth>\u003Ccode>cpl-good.csv\u003C/code> 中的修法\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>\u003Cstrong>\u003Ccode>R2\u003C/code> 整个缺失\u003C/strong>(只有 \u003Ccode>R1\u003C/code>、\u003Ccode>D1\u003C/code>、\u003Ccode>C3\u003C/code>)\u003C/td>\n\u003Ctd>\u003Cstrong>漏掉应贴元件(\u003Ccode>missing:R2\u003C/code>)\u003C/strong>\u003C/td>\n\u003Ctd>封装在库属性里误勾了 \u003Cem>&quot;Exclude from position files&quot;\u003C/em> 或 \u003Cem>&quot;Virtual/Mechanical&quot;\u003C/em>\u003C/td>\n\u003Ctd>取消排除标记,恢复 \u003Ccode>R2\u003C/code> 于 \u003Ccode>(14, 8), Top, 0°\u003C/code>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>\u003Ccode>C3\u003C/code> 出现在 \u003Ccode>(22, 8), Top, 0°\u003C/code>\u003C/strong>\u003C/td>\n\u003Ctd>\u003Cstrong>DNP 被误纳入(\u003Ccode>unexpected:C3\u003C/code>)\u003C/strong>\u003C/td>\n\u003Ctd>设计师在自定义文本字段写了 \u003Ccode>DNP\u003C/code>,而非 CAD 原生 \u003Ccode>DNP\u003C/code> 属性;或导出时没开 \u003Cem>&quot;Exclude DNP footprints&quot;\u003C/em>\u003C/td>\n\u003Ctd>启用原生 DNP 排除过滤,把 \u003Ccode>C3\u003C/code> 移出贴装集合\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>\u003Ccode>D1\u003C/code> 的 \u003Ccode>Rotation_deg = 180\u003C/code>\u003C/strong>(\u003Ccode>(18, 8)\u003C/code> 处)\u003C/td>\n\u003Ctd>\u003Cstrong>极性反贴(\u003Ccode>orientation:D1\u003C/code>)\u003C/strong>\u003C/td>\n\u003Ctd>库封装 \u003Cspan class=\"math-inline\">0°\u003C/span> 时负极画在右侧,与装配图&quot;\u003Cspan class=\"math-inline\">0°\u003C/span> = 负极朝左&quot;的契约相反\u003C/td>\n\u003Ctd>旋转角改回 \u003Ccode>0°\u003C/code>(\u003Ccode>cpl-good.csv\u003C/code>),实物负极位置对照丝印/装配图复核\u003C/td>\n\u003C/tr>\n\u003C/tbody>\u003C/table>\n\u003Ch3>第二步:跑验证脚本并理解它的边界\u003C/h3>\n\u003Cp>在资产目录运行 \u003Ccode>python verify.py\u003C/code>,会把两份 CPL 与期望贴装集合(\u003Ccode>{R1, R2, D1}\u003C/code>)比对,检查重复位号行,并验证 \u003Ccode>D1\u003C/code> 的方向契约:\u003C/p>\n\u003Cpre>\u003Ccode class=\"language-json\">{&quot;file&quot;: &quot;cpl-bad.csv&quot;, &quot;errors&quot;: [&quot;missing:R2&quot;, &quot;unexpected:C3&quot;, &quot;orientation:D1&quot;], &quot;count&quot;: 3}\n{&quot;file&quot;: &quot;cpl-good.csv&quot;, &quot;errors&quot;: [], &quot;count&quot;: 0}\n\u003C/code>\u003C/pre>\n\u003Cp>注意\u003Cstrong>集合对账\u003C/strong>与\u003Cstrong>几何验证\u003C/strong>之间的工程边界:\u003C/p>\n\u003Cul>\n\u003Cli>脚本比对 BOM 和 CPL 两张表,能立刻抓住\u003Cstrong>漏位号(\u003Ccode>R2\u003C/code>)\u003C/strong>、\u003Cstrong>多出 DNP 位号(\u003Ccode>C3\u003C/code>)\u003C/strong> 和\u003Cstrong>重复行\u003C/strong>(记得先把合并 BOM 行如 \u003Ccode>R1, R2, R5\u003C/code> 展开成单个位号再对账,别拿原始表行数比)。\u003C/li>\n\u003Cli>但表格脚本\u003Cstrong>不可能知道 \u003Ccode>180°\u003C/code> 对 \u003Ccode>D1\u003C/code> 是反的\u003C/strong>——必须先由人或 CAM 光学系统从\u003Cstrong>装配图、Gerber 铜/膏层和元件手册\u003C/strong>建立物理方向规则。\u003C/li>\n\u003C/ul>\n\u003Ch2>3. 为什么光有 \u003Cspan class=\"math-inline\">(X, Y)\u003C/span> 坐标确立不了方向\u003C/h2>\n\u003Cp>即使元件的 \u003Cspan class=\"math-inline\">(X, Y)\u003C/span> 质心正好落在两个铜焊盘正中,\u003Cspan class=\"math-inline\">90°\u003C/span> 或 \u003Cspan class=\"math-inline\">180°\u003C/span> 的旋转错误在三个独立参照对齐之前是看不见的:\u003C/p>\n\u003Col>\n\u003Cli>\u003Cstrong>元件手册与 EIA-481 编带标准:\u003C/strong> 规定实物元件在料带口袋内相对送料孔的摆放方向(拾取角 \u003Cspan class=\"math-inline\">0°\u003C/span>)。\u003C/li>\n\u003Cli>\u003Cstrong>CAD 封装库的零度方向(\u003Cspan class=\"math-inline\">0°\u003C/span>):\u003C/strong> IPC-7351 下,零度可按 Level A(IC 的 Pin 1 在左上、二极管负极朝左)或 Level B(Pin 1 在左下);第三方库(SnapEDA、Ultra Librarian、SamacSys 或历史自建库)常常在同一块板上混用两套约定。\u003C/li>\n\u003Cli>\u003Cstrong>装配图的极性标记:\u003C/strong> 在元件体外轮廓上给出清晰标记——\u003Cstrong>Pin 1 圆点\u003C/strong>、\u003Cstrong>二极管负极杠(\u003Ccode>|◀\u003C/code>)\u003C/strong>、\u003Cstrong>极性电容 \u003Ccode>+\u003C/code>\u003C/strong>、\u003Cstrong>连接器定位缺口\u003C/strong>——画在不被元件本体遮住的位置,贴装后 AOI 才检得到。\u003C/li>\n\u003C/ol>\n\u003Cp>\u003Cstrong>表格修改的经验法则:\u003C/strong> 不要在 Excel 里给整列旋转角统一加 \u003Cspan class=\"math-inline\">+90°\u003C/span> 或 \u003Cspan class=\"math-inline\">+180°\u003C/span>——除非你清楚组装厂的 SMT 编程软件(Valor、Unicam、Fuji Flexa、Yamaha YSUP 等)如何把 CAD 库的 \u003Cspan class=\"math-inline\">0°\u003C/span> 映射到飞达料带方向。正确做法是在装配图上把极性和不对称件族——\u003Cstrong>二极管、LED、钽/电解电容、BGA/QFN/QFP、SOT-23/SOT-89、指向性传感器/麦克风\u003C/strong>——标出来,并要求做首件目检(FAI)叠加签核。\u003C/p>\n\u003Ch2>4. CPL 导入系统性异常的诊断\u003C/h2>\n\u003Cp>组装厂在 CAM 预检中把你的 CPL 叠加到 Gerber 锡膏层时,视觉异常形态直接指向根因:\u003C/p>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>CAM 叠加中的视觉异常\u003C/th>\n\u003Cth>导出/导入侧根因\u003C/th>\n\u003Cth>正确修法\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>\u003Cstrong>全板元件统一偏移同一 \u003Cspan class=\"math-inline\">(Δ X, Δ Y)\u003C/span> 矢量\u003C/strong>\u003C/td>\n\u003Ctd>CPL 导出原点与 Gerber/钻孔导出原点不一致\u003C/td>\n\u003Ctd>用同一个 \u003Ccode>Drill/Place File Origin\u003C/code> 重出 CPL 和 Gerber(或统一对齐板轮廓左下角 + \u003Ccode>FID1\u003C/code>)\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>元件位置相对 \u003Cspan class=\"math-inline\">(0,0)\u003C/span> 整体放大/缩小 \u003Cspan class=\"math-inline\">25.4×\u003C/span> 或 \u003Cspan class=\"math-inline\">0.03937×\u003C/span>\u003C/strong>\u003C/td>\n\u003Ctd>单位错配(\u003Ccode>mil\u003C/code> vs \u003Ccode>mm\u003C/code>)或导入时套了比例因子\u003C/td>\n\u003Ctd>文件头明确单位(\u003Ccode>mm\u003C/code>),按 \u003Cspan class=\"math-inline\">1:1\u003C/span> 重新导入\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>顶面全对,底面元件左右镜像翻转\u003C/strong>\u003C/td>\n\u003Ctd>CAD \u003Ccode>Negate bottom X\u003C/code> 导出设置与 CAM 底面镜像变换叠加冲突\u003C/td>\n\u003Ctd>与 CAM 确认底面坐标要&quot;俯视穿透&quot;还是&quot;X 镜像&quot;;只在 CAD 或 CAM 一侧切换一次,不可两边都改\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>片式件质心正常,连接器/电感偏到 Pin 1 上\u003C/strong>\u003C/td>\n\u003Ctd>库封装参考点建在 Pin 1 而非几何体中心\u003C/td>\n\u003Ctd>封装拾取原点移到封装体中心(或由 CAM 把拾取质心吸附到焊盘组外接框中心)\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>某个 IC 封装族(如所有 SOIC-8)整体转 \u003Cspan class=\"math-inline\">90°\u003C/span>\u003C/strong>\u003C/td>\n\u003Ctd>库封装 \u003Cspan class=\"math-inline\">0°\u003C/span> 竖画,而 SMT 飞达料库按横向 \u003Cspan class=\"math-inline\">0°\u003C/span> 定义\u003C/td>\n\u003Ctd>在 SMT 机台料库里按装配图 Pin 1 点校正封装旋转偏移\u003C/td>\n\u003C/tr>\n\u003C/tbody>\u003C/table>\n\u003Ch2>5. 提交同步的 PCBA 投板包\u003C/h2>\n\u003Cp>为避免 NPI 工程问询和元件极性/版本错误,\u003Ca href=\"/cn/products/pcb-assembly/\">PCB 组装\u003C/a>或\u003Ca href=\"/cn/products/turnkey-assembly/\">一站式 PCBA\u003C/a>询价包应打包以下同步文件(采购细节另见 \u003Ca href=\"/cn/blog/bom-error-checking-component-procurement/\">BOM 查错指南\u003C/a>):\u003C/p>\n\u003Col>\n\u003Cli>\u003Cstrong>质心/贴片文件(\u003Ccode>.csv\u003C/code> 或 \u003Ccode>.pos\u003C/code>)或智能 \u003Ccode>ODB++\u003C/code> / \u003Ccode>IPC-2581\u003C/code> 包:\u003C/strong> 含 \u003Ccode>Designator\u003C/code>、\u003Ccode>Mid X (mm)\u003C/code>、\u003Ccode>Mid Y (mm)\u003C/code>、\u003Ccode>Layer/Side(Top/Bottom)\u003C/code>、\u003Ccode>Rotation (deg)\u003C/code>、\u003Ccode>Package/Footprint\u003C/code>、\u003Ccode>Comment/Value\u003C/code>。\u003C/li>\n\u003Cli>\u003Cstrong>带版本与 \u003Ccode>DNP\u003C/code> 列的同步 BOM:\u003C/strong> BOM 中每个标 \u003Ccode>Fit\u003C/code> 的 SMT 件在 CPL 恰好出现一次;每个 \u003Ccode>DNP\u003C/code> 件清晰标记。\u003C/li>\n\u003Cli>\u003Cstrong>彩色 PDF 装配图(顶/底视):\u003C/strong> 标位号、元件轮廓、Pin 1 点、二极管负极杠和 \u003Cspan class=\"math-inline\">(0,0)\u003C/span> 坐标原点。\u003C/li>\n\u003Cli>\u003Cstrong>Gerber 锡膏与铜层(\u003Ccode>GTP\u003C/code>/\u003Ccode>GBP\u003C/code>、\u003Ccode>GTL\u003C/code>/\u003Ccode>GBL\u003C/code>):\u003C/strong> 供 CAM 自动做质心-膏盘叠加,先于钢网切割和 SMT 程序编制。\u003C/li>\n\u003C/ol>\n\u003Cp>HILPCB 的 \u003Ca href=\"/cn/products/smt-assembly/\">SMT 贴装\u003C/a>与 \u003Ca href=\"/cn/products/pcb-assembly/\">PCB 组装\u003C/a>工程团队对每份来料执行自动 \u003Cstrong>BOM-CPL-Gerber 质心叠加检查\u003C/strong>——在上任何一颗料之前核对封装体中心、Pin 1/负极极性与元件手册、DNP 排除,再以 3D AOI 和首件检验(FAI)收口。\u003Ca href=\"/cn/quote/\">提交报价\u003C/a>上传 Gerber、BOM、CPL,完整包通常 2 小时内返回 DFM/DFA 审核。\u003C/p>\n\u003Cdiv data-component=\"BlogQuickQuoteInline\">\u003C/div>\n\n\u003C!-- faq:start -->\n\u003Ch2>常见问题\u003C/h2>\n\u003Ch3>为什么我的 CPL 行数比 BOM 总数量少?\u003C/h3>\n\u003Cp>先查 BOM 是否把多个位号合并成一行(如 \u003Ccode>Qty 4: C1, C2, C3, C4\u003C/code> 是 1 行 BOM、4 行 CPL)。再把 BOM 展开成单位号后减去被排除的项:\u003Ccode>DNP\u003C/code> 件、机械件(螺丝、螺柱、散热器)、裸板特征(基准点、测试点、安装孔),以及手工焊接的线束——这些都不走自动贴片机。\u003C/p>\n\u003Ch3>DNP(不贴装)元件该不该放进贴片文件?\u003C/h3>\n\u003Cp>两种约定都可以,\u003Cstrong>只要一致且明确\u003C/strong>——不过从机器贴装文件里剔除 \u003Ccode>DNP\u003C/code>(或导出与 BOM 完全一致的 \u003Ccode>Fitted/DNP\u003C/code> 状态列)最稳妥。最危险的错误是在 BOM 备注里随手标 \u003Ccode>DNP\u003C/code>,而 CPL 里它仍是一条正常贴装行、没有任何 \u003Ccode>DNP\u003C/code> 标志。\u003C/p>\n\u003Ch3>封装的 Pin 1 原点和贴片质心有什么区别?\u003C/h3>\n\u003Cp>建库时工程师有时把 \u003Cspan class=\"math-inline\">(0,0)\u003C/span> 原点放在 \u003Cstrong>Pin 1\u003C/strong> 方便焊盘坐标计算。但 SMT 吸嘴必须在**几何体中心(重心)**拾取元件,否则高速移动中元件会倾斜掉落。现代 EDA(KiCad、Altium)会按焊盘/丝印框计算中心或使用专用 \u003Ccode>Component Center\u003C/code> 属性导出 CPL——不对称连接器和电感务必人工核对。\u003C/p>\n\u003Ch3>用了 Gerber X3 或 ODB++ 还需要单独的 CPL 文件吗?\u003C/h3>\n\u003Cp>\u003Cstrong>ODB++\u003C/strong>、\u003Cstrong>IPC-2581\u003C/strong>、\u003Cstrong>Gerber X3\u003C/strong> 都把元件质心、轮廓、Pin 1 和 BOM 属性直接嵌进制造/组装数据集,能大幅减少原点和镜像错配。但即使用 ODB++ 或 IPC-2581,仍应提供受控 BOM(含批准 MPN 和 \u003Ccode>DNP\u003C/code> 版本标记)和 PDF 装配图,用于首件检验时核对二极管/IC 极性。\u003C/p>\n\u003C!-- faq:end -->\n\u003Csection class=\"related-links\" aria-label=\"相关链接\">\u003Ch3 id=\"related-links\">相关链接\u003C/h3>\u003Cul>\u003Cli>\u003Ca href=\"/cn/blog/what-is-a-bom/\">什么是 BOM（物料清单）？PCBA 电子物料清单格式规范、标准范例表及采购备料损耗准则\u003C/a>\u003C/li>\u003Cli>\u003Ca href=\"/assets/blogs/pick-and-place-file-checklist/bom.csv\">bom.csv\u003C/a>\u003C/li>\u003Cli>\u003Ca href=\"/assets/blogs/pick-and-place-file-checklist/cpl-bad.csv\">cpl-bad.csv\u003C/a>\u003C/li>\u003Cli>\u003Ca href=\"/assets/blogs/pick-and-place-file-checklist/cpl-good.csv\">cpl-good.csv\u003C/a>\u003C/li>\u003Cli>\u003Ca href=\"/assets/blogs/pick-and-place-file-checklist/assembly-drawing.svg\">assembly-drawing.svg\u003C/a>\u003C/li>\u003Cli>\u003Ca href=\"/assets/blogs/pick-and-place-file-checklist/verify.py\">verify.py\u003C/a>\u003C/li>\u003Cli>\u003Ca href=\"/assets/blogs/pick-and-place-file-checklist/README.md\">说明\u003C/a>\u003C/li>\u003C/ul>\u003C/section>",[14,18,22,26],{"question":15,"answer":16,"answerText":17},"为什么我的 CPL 行数比 BOM 总数量少?","先查 BOM 是否把多个位号合并成一行(如 `Qty 4: C1, C2, C3, C4` 是 1 行 BOM、4 行 CPL)。再把 BOM 展开成单位号后减去被排除的项:`DNP` 件、机械件(螺丝、螺柱、散热器)、裸板特征(基准点、测试点、安装孔),以及手工焊接的线束——这些都不走自动贴片机。","先查 BOM 是否把多个位号合并成一行(如 Qty 4: C1, C2, C3, C4 是 1 行 BOM、4 行 CPL)。再把 BOM 展开成单位号后减去被排除的项:DNP 件、机械件(螺丝、螺柱、散热器)、裸板特征(基准点、测试点、安装孔),以及手工焊接的线束——这些都不走自动贴片机。",{"question":19,"answer":20,"answerText":21},"DNP(不贴装)元件该不该放进贴片文件?","两种约定都可以,**只要一致且明确**——不过从机器贴装文件里剔除 `DNP`(或导出与 BOM 完全一致的 `Fitted/DNP` 状态列)最稳妥。最危险的错误是在 BOM 备注里随手标 `DNP`,而 CPL 里它仍是一条正常贴装行、没有任何 `DNP` 标志。","两种约定都可以,只要一致且明确——不过从机器贴装文件里剔除 DNP(或导出与 BOM 完全一致的 Fitted/DNP 状态列)最稳妥。最危险的错误是在 BOM 备注里随手标 DNP,而 CPL 里它仍是一条正常贴装行、没有任何 DNP 标志。",{"question":23,"answer":24,"answerText":25},"封装的 Pin 1 原点和贴片质心有什么区别?","建库时工程师有时把 $(0,0)$ 原点放在 **Pin 1** 方便焊盘坐标计算。但 SMT 吸嘴必须在**几何体中心(重心)**拾取元件,否则高速移动中元件会倾斜掉落。现代 EDA(KiCad、Altium)会按焊盘/丝印框计算中心或使用专用 `Component Center` 属性导出 CPL——不对称连接器和电感务必人工核对。","建库时工程师有时把 $(0,0)$ 原点放在 Pin 1 方便焊盘坐标计算。但 SMT 吸嘴必须在**几何体中心(重心)**拾取元件,否则高速移动中元件会倾斜掉落。现代 EDA(KiCad、Altium)会按焊盘/丝印框计算中心或使用专用 Component Center 属性导出 CPL——不对称连接器和电感务必人工核对。",{"question":27,"answer":28,"answerText":29},"用了 Gerber X3 或 ODB++ 还需要单独的 CPL 文件吗?","**ODB++**、**IPC-2581**、**Gerber X3** 都把元件质心、轮廓、Pin 1 和 BOM 属性直接嵌进制造/组装数据集,能大幅减少原点和镜像错配。但即使用 ODB++ 或 IPC-2581,仍应提供受控 BOM(含批准 MPN 和 `DNP` 版本标记)和 PDF 装配图,用于首件检验时核对二极管/IC 极性。","ODB++、IPC-2581、Gerber X3 都把元件质心、轮廓、Pin 1 和 BOM 属性直接嵌进制造/组装数据集,能大幅减少原点和镜像错配。但即使用 ODB++ 或 IPC-2581,仍应提供受控 BOM(含批准 MPN 和 DNP 版本标记)和 PDF 装配图,用于首件检验时核对二极管/IC 极性。",[31,32,33,34],"pick and place file","CPL file","centroid file","SMT component placement","pick-and-place-file-checklist","cn",[38,39,36,40,41],"en","de","fr","ru",{"blog":43,"breadcrumb":52},{"@context":44,"@type":45,"headline":4,"description":5,"image":8,"url":46,"datePublished":6,"dateModified":6,"timeRequired":11,"keywords":47,"articleSection":7,"author":48,"publisher":51},"https://schema.org","BlogPosting","https://hilpcb.com/cn/blog/pick-and-place-file-checklist/","pick and place file, CPL file, centroid file, SMT component placement",{"@type":49,"name":50},"Organization","HILPCB",{"@type":49,"name":50},{"@context":44,"@type":53,"itemListElement":54},"BreadcrumbList",[55,60,64],{"@type":56,"position":57,"name":58,"item":59},"ListItem",1,"Home","https://hilpcb.com/",{"@type":56,"position":61,"name":62,"item":63},2,"Blog","https://hilpcb.com/cn/blog/",{"@type":56,"position":65,"name":35,"item":46},3,1793496983675]