PCB MI 工程师

SKILL效率
效率 未标注权限 许可证不明确
安装这个技能

帮助线路板 MI 工程师初步设计工艺流程,形成 MI 制作指示初稿,提升制作效率。

一句话选型结论

按资料字段整理

PCB MI 工程师是效率类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类效率 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_4bf8256f/pcb-mi-engineer
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

效率
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_4bf8256f仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验2026-11-06上游最后核验时间 · 数据更新 2026-11-06
正文体量68.8 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
整理待办与日程

把零散任务收进清单,排出优先级。

批量处理重复任务

把固定动作做成模板,重复执行。

把流程写成清单

把口头流程整理成可复用的步骤。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在效率场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
PCB MI 工程师当前 未标注权限 未标注 未标注 未标注 有
Nano PDF 文档 联网访问 ClawHub 市场 424.9 万 OpenClaw 有
自动更新程序 浏览器控制 ClawHub 市场 296.4 万 OpenClaw 有
Gemini 助手 联网访问 ClawHub 市场 254.7 万 OpenClaw 有
word DOCX 文档 联网访问 ClawHub 市场 239.6 万 OpenClaw 有
Excel XLSX 前端 联网访问 ClawHub 市场 227.0 万 OpenClaw 有

SKILL.md 全文

68.8 KB
模型实际读到的说明书原文,来自技能仓库

PCB MI 工程师(设计制作流程)

定位

负责 把一块板"怎么生产"设计成一份工厂可执行的 MI 制作指示。输入是板子的设计资料(Gerber / 叠构图 / 工艺要求 / 已有 RFQ),输出是结构化的制造指示文档。

本技能不做报价(那是 pcb-quotation-engineer),也不负责工艺知识讲解(那是 pcb-process-engineer)。
本技能产出的是 MI 文档本身:开料表、工艺流程、拼版、叠构、钻咀、BOM。

何时用本技能(触发)

  • 用户说"按 MI 格式做 / 出 MI / 出制作指示 / 按 PCB+ 智慧工厂格式 / 按某某厂 MI 格式"。
  • 用户上传 MI 样版(PDF/Excel/图片)要求照版式生成。
  • 报价/DFM 完成后,需要交付完整 MI 给工厂生产时。
  • 问"《制作通知单》17 项字段怎么填 / OSP 板 MI 要注意什么 / 制工具申请单、菲林发放回收与报废怎么走 / 研发板与 CSR 怎么落到 MI"时 → 读 references/工序SOP与MI规则基线.md 第十四~二十二节。

  • 做 HDI / 盲埋孔 / 厚板(≥2mm)/ 多次压合板 时 → 读 references/高阶HDI与多次压合口径.md。

资料解析依赖

  • Gerber / Excellon 钻孔解析:本技能依赖 pcb-quotation-engineer 的 gerber_extract.py
    (通过 Skill 工具调用,或要求用户先跑出 RFQ/layer 数据再传入)。
  • 也可接受已提取的数据(层数、板厚、铜厚、钻孔表、外形尺寸)直接生成 MI,不必重复解析。

模板与排版规范(2026-10-16,v2.7.0;用户:「字体偏小、排版有点混乱,整理一下更新模板」)

> 生成 MI 按此定版;字号为 A4 纵向 595×842pt 实测值。整体字号比 v2.5 放大 1~1.3pt。

页面骨架:正文宽 558.8(左 19.1 / 右 577.9);正文顶 215 / 底 762;页眉线 y=196。

页眉(2026-10-16 二次修订)
- 最上方预留 LOGO + 公司名称的位置(不是塞真图):居中一条 300×34pt 虚线预留框(ec=#B7B7B7、ls=(0,(3,3)),y≈12),框内居中灰字「【 公司 LOGO + 公司名称 】预留位」(11.5pt);填了 COMPANY_CN/COMPANY_EN 才显示公司名(15pt bold +英文 7.2 灰),并自动在左侧画 62pt 宽的 LOGO 小虚线位。
- 模板默认留空(便于他人套用);大标题居中在其下方(y≈72)。
- 信息块必须定列对齐(不许用空格凑):三列固定 x = 28.8 / 205 / 388;字体 9.5(≠旧版 8.2 空格填充)。
- 行1:本厂编号: … | 版本: … | 产品分组: …;行2:客户代码: … | 终端客户: … | 客户型号: …;行3:合拼型号: 无 + 右上 PAGE x OF N。

元素 字号(pt) 备注
大标题 MI制作指示(预制作) 15 bold 居中
页眉(本厂编号/客户代码/合拼型号/页码) 8.2 页码写 PAGE x OF N;时间戳 7.2
右上特性/合规(阻抗板、RoHS) 9.2 已删「正片工艺」「绿油塞孔」
表头 9×8 开料参数总表 7.2 行高 [21.0] + [16.6]×8(≈154)
工艺流程表 5.9 行距 7.0 / pad 2.7 / 表头高 13.5(全表最密处,是唯一的小字;再放大就会变 3 页)
全板管控要点 6.5 行距 8.3
叠构图 层名·厚度 7.2;规格栏 6.5;表头 8.0;底部块 7.8;注 7.2 行高 max(th×126, 19.5),端点行 11
钻咀表 / BOM 表 6.5 行距 8.1 / 8.2;表头高 12.5 / 13.5
表格说明文字(公式块/口径/备注/EQ) 6.4 行距 8.4
各页小标题(开料拼版图/叠构图/钻咀表/外形图纸/BOM清单) 10~11 bold

硬规则
1. 流程表自动分页不留空页:装不下就续页,续页只画有数据的部分——绝不允许出现"只有表头、下面没数据的空续页"(最显乱)。
2. 外形图纸整页大图 + 高分辨率:客户 Panel Drawing 原图按 ≥400 dpi 渲染(本项目 420 dpi),图框高 ≈442pt 铺满页宽;下方接「尺寸标准」表 + 「客户技术要求(原文 copy)」。
3. 文字不压线:所有说明文字与边框线/尺寸箭头留 ≥10pt。
4. 表头底色 #F2F2F2;合计行底色 #FFF2CC。
5. 生成后自检三项:① 全页 pymupdf 扫 /=0;② 无空续页;③ 无斜线(get_drawings() 表格区 |dx|>0.1 且 |dy|>0.1 的线段=0)。

整体流程

1. 版式收集

  • 有样版 PDF:用 PyMuPDF 渲染所有页为 PNG,仔细看每页版式(页眉/标题/表格/列宽/合并/页码/签字栏/钻孔标注)。
  • 无样版:按 真实量产 MI 单标准版式(页数随层数变,非固定 9 页):

★ 工艺流程 = 连续单表(2026-10-15 修正:取消节点分配)

这是当前唯一口径。旧的「按节点分段」(2026-10-14)与更早的「按层对分段」已全部作废——用户明确要求"把流程之间格子连接起来,取消掉节点分配,把所有管控要点放在 MI 开料图前面"。

  • 一张连续的工艺流程参数表,覆盖 开料 → 内层(L2/3、L4/5) → 压合(一次/二次) → 钻孔 → 沉铜 → 电镀 → 绿油塞孔 → 外层线路 → 蚀刻 → AOI → 防焊 → 文字 → 阻抗测试 → 表面处理 → 成型 → 清洗 → 测试 → FQC → FQA → 包装,全局序号 1..N 连续、不重启、不按节点断行、不再每节点独占页、不插小节标题重启序号(六层通孔实测 36 步)。
  • 全板管控要点:把所有分散在各段的管控项合并为一张「全板管控要点」表(约 10 行:通孔钻孔 / 绿油塞孔 / 外层线宽线距 / 防焊 / 文字 / 阻抗测试 / 沉锡 / 成型 / 100%电测 / 随货文件),放在开料图之前(P1 末尾紧随工艺流程表),不再依附各工艺段。
  • 工程备注(EQ) 仍统一放最后一页(与 BOM 同页),不分散。
页序(六层通孔实测 20CH_REV2_Wave,实测 7 页) 内容
P1 表头(9×8 开料参数总表)+ 连续工艺流程参数表(全局 1..N,装不下自动续页,不截断)
P2 工艺流程参数(续,重复表头)+ 全板管控要点(合并单表,开料图之前)
P3 开料拼版图(上:开料图 + 开料信息 9 项;下:A 拼版 / B 拼版)
P4 叠构综合图(4 列:层名 / 压合厚度 / 叠构图 / 规格或残铜率 + 比例色带 + 红色参考线 + 底部"单位+压合厚度+层间偏差"块)
P5 钻咀表 DRL-1(单独一页)
P6 外形图纸(单独整页,整幅大图)
P7 BOM 清单(先列用量公式块,单位=每平米耗用)+ 工程备注(EQ 汇总)+ 预制作声明

> ★★ 页序硬规则(2026-10-15 二次修正):
> ① 外形图纸必须排在「钻孔图 / 钻咀表」之后("先孔后形");
> ② 钻咀表与外形图纸各占一页(不合并)——用户明确"外形图纸太小看不清,单独作为一个页面,展示整个外形图纸";
> ③ 工艺流程装不下必须自动续页并重复表头,绝不截断(曾把 36 步只印出 13 步,被用户抓到"工艺流程为何没有做完")。
> 落页顺序固定为:… → 开料拼版图 → 叠构综合图 → 钻咀表 → 外形图纸(整页) → BOM 清单。

> ★★ 标题写法(保留):页面大标题写 MI制作指示(预制作);投料后转正式版去掉「(预制作)」。

> ★★ 预制作 MI 特殊处理(2026-10-15 修正):生成器加 PRE_MADE 开关——PRE_MADE=True(预制作)时:① 取消页脚签字栏(制单人/审核/批准三列不画);② 末页(BOM 页)底部加 红框「预制作,仅供参考(正式投料前须完成审核与客户确认)」。正式版 PRE_MADE=False 才恢复页脚三列签字栏。

  • 复杂 HDI / 厚板(多次压合):工艺流程仍保持全局连续序号单表,可在同表内用「一次压合 / 二次压合 / 主流程」等小节标题分行区分,但序号不重启;页数随工序列数自然增加(六层一阶 HDI 增至 12+ 页、三十层二阶 24 页)。
  • 页眉:左上角留空不放 LOGO;右上 3 个槽位(①工艺 / ②特性 / ③合规)。
  • 页脚:PAGE: x / N 每页必带;签字栏仅正式版绘制(见上「预制作 MI 特殊处理」)。

★ 开料拼版图(2026-10-15 修正:必须 SHEET→PNL 与 SET→PNL 两级;查历史版本 v1)

用户 critique:「开料图改错了,去查一下历史版本,按照这个示意图重做」——历史正确版(交付/MI制作指示_... 第 7 页)画的是「大料 SHEET 及其内部的 PNL 排布」,不是「PNL 及其内部 SET」。
- 上格「开料图」= SHEET 尺寸 → PNL 尺寸:画大料 SHEET(86×49" = 1244.6 纬向 × 2184.4 经向)矩形,内排 2列×3行 = 6 个 PNL(PNL 622 在纬向、725 在经向),标 SHEET 双向尺寸箭头,写「1 Sheet(86×49") = 6 PNL(2列×3行);PNL 725×622」。
- ❌ 不要把 PNL 内部 SET 排布画在「开料图」里(那是下一格的事)。
- 下格「拼版图」= SET 尺寸 → PNL 尺寸:画 PNL 725(长边)×622(短边) 矩形,内排 3列×2行 = 6 个 SET(SET 225×292,每 SET 再分 2 PCS 上下拼、拼缝 2mm),标 PNL 双向尺寸箭头,写「1 PNL = 3列×2行 = 6 SET = 12 PCS」。
- 删除底部说明块:用户明确「这个说明不需要」——不要在拼版图下方再堆「1 Panel = 6 SET = 12 PCS;…」那一段文字块。
- B 拼版栏:无 B 拼版时只写「(无 B 拼版)」(2026-10-15 用户"这个去掉" —— 不再写「成品尺寸异常时…」那句)。
- 开料信息栏与表头不得出现 /(见上方禁 / 规则):APNL/SHEET→APNL每SHEET、工艺边 23/18mm→23mm、18mm。

2. 钻咀表生成

  • ★★ 两条硬原则(2026-10-16 用户):
    1. 钻咀尺寸 = 成品孔径 + 0.05mm(补偿电镀铜:孔铜 25um × 两壁 = 0.05mm)。恒有 钻咀 ≥ 成品——⚠️ 别写反(旧版曾写成 成品 = 钻咀+0.05,方向错了)。
    2. 钻咀尺寸只按 0.025mm 档位取值(用户例:0.4 的上下档 = 0.425 / 0.375):钻咀 = round_0.025(成品 + 0.05),档位序列 …0.375 / 0.400 / 0.425 / 0.450…
    3. 工装孔(靶孔/丝印孔/层偏孔/切片孔/铆钉孔/型号孔/识别孔…)无成品孔径,只需按 0.025 档取整;刀序接在功能孔之后(功能孔到 T10,则工具孔自 T11 起),不重复刀序。
  • 推演:成品 0.25→钻咀 0.30;0.30→0.35;0.40→0.45;1.20→1.25;0.889→0.939→0.95;3.048→3.098→3.10。
  • 列(10):刀序|钻咀尺寸|PTH|成品孔径|+/-公差|PCS孔数|SET孔数|PNL孔数|B拼版孔数|备注
  • 孔数勾稽(正推,方向不要反):
    SET孔数 = PCS孔数 × (PCS/SET) PNL孔数 = SET孔数 × (SET/PNL) # 允许 ±1~2 落点差 末行"合计" = Σ PNL孔数 = 表头「A板孔数」 # 必做校验
  • 公差:PTH ±0.076;NPTH ±0.05;槽孔双公差写法 +0.076/-0.076 | +0.1/-0.1(备注列写 <刀径>*<槽长>,如 0.801*2.3,);激光盲孔 ±0.05
  • 备注写实名工装孔,不要用"NPTH+≥2mm 安装孔"这类推断式描述:
    靶孔 / 丝印孔 / 层偏孔 / 线路LDI对位孔 / 切片孔 / 铆钉孔 / 型号孔 / 识别孔 / 下刀孔 / 引孔 / 清角孔 / 卸力孔 / 去毛刺孔 / 辅助孔 / 测试孔 / 阻抗测试孔 / 阻抗条定位孔 / 防呆半孔 / 邮票孔 / BGA区域过孔
  • PTH 列取值 Y / N(不加 /);非电镀工装孔行里"不适用"的格(成品孔径/公差/PCS孔数/SET孔数/B拼版孔数)写 —,不写 /
  • 通用工装孔(5 份量产单全中,可作模板默认项):
    | 刀径 | PNL孔数 | 备注 |
    |---|---|---|
    | 3.174 | 4 | 靶孔 |
    | 3.175 | 13 | 丝印孔 |
    | 1.203 | 5 | 层偏孔 |
    | 2.004 | 5 | 线路LDI对位孔 |
    | = 最小刀径 | 24 | 切片孔 |
    | 5.5 | 8 | 铆钉孔 |
    | 0.51 | 139–148 | 型号孔 |
    | 0.505 | 1 | 识别孔 |
  • 仅当确为盲孔板时,才按"NPTH 安装孔 / 治具孔 / 信号孔"那套分类补写

3. 叠构图(用户图样 1:1:5 列 + 比例色带 + 双红压合线 + 底部单位块 + 两次压合注,2026-10-15 三次修正)

  • 整页只画一张叠构图,照用户最新图样做(曾两次因"没做成一样的格式/依然不达标"被打回;遇到历史习惯别硬套旧样式)。
  • 列序固定 5 列:层名 | 压合厚度 | 叠构图 | 规格或残铜率 | 备注。列宽实测 [52, 56, 140, 272.8, 38](合计 558.8)。「备注」列保留但留空。
  • 层名写 LYR-n(铜层)/ PP(半固化片)/ 板材(芯板);首尾各 2 条 0.0000 端点行(层名留空、画绿色带),不能省。
  • 压合厚度 = 该层铜厚(厂内口径:外层写「铜箔/基铜」,不写成品铜):外层 HOZ 基铜 0.0175 ↔ 17.5um(不是成品 43um)、内层 1oz 0.0350、板材 0.3000(不含铜)、PP 写压合后厚度(0.1100/0.0750/0.3800);首尾端点行 0.0000。口径依据真实 MI(客户 0818 六层沉锡板):LYR-1/LYR-6 写 17.5um 残铜率:100%。
  • 叠构图 = 按厚度比例画色带(★核心):行高 h = max(th×scale, 最小行高)(scale≈110、minh≈17、端点行≈10),Rectangle 满列宽填色——防焊/端点=绿 #548235(顶/底各 2 行)|铜层=金 #FFC000|PP=青 #00B0F0|芯板=深金/橄榄 #BF8F00。芯板与厚 PP 块要明显比铜层高。
  • 规格或残铜率:铜层 43um 残铜率:100%(外层)/ 1oz 残铜率:待CAM(内层);PP 全称(7628 RC42% 0.380 建滔 KB-6160 配套 有卤素 TG≥150 CTI≥175 150米每卷 *1);板材 FR-4 0.30mm 1oz(双面) 1245*2184 建滔 KB-6160 不含铜 TG≥150 防CAF 有卤素 黄色 A级。
  • 红色参考线(★2026-10-16 用户要求):鲜红色 #FF0000、线宽 3.4pt(=加粗两倍),zorder 压在色带之上;数量随压合次数定——一次压合的板只画一条贯穿 LYR-1→LYR-6,多次压合板才画两条并加黑虚线框。指示到 LYR-1 时必须「穿透 L1 层」:线端取 L1 行的上沿(centers[iL1] − heights[iL1]/2),下端取 L6 行下沿,不可只画到行中心。红线上不加文字。
  • 底部汇总(对齐用户图样):先画一条粗黑横线(约列宽左 55%),再写:
    单位:(mm) 压合厚度 1.5760 压合后厚度 1.5750 +0.1000 -0.1000 0.1850 LYR-1 - LYR-2 +0.0185 -0.0185 mm 0.3800 LYR-3 - LYR-4 +0.0380 -0.0380 mm 0.1850 LYR-5 - LYR-6 +0.0185 -0.0185 mm
    (层间行 = 相邻铜层之间的介质厚度,容差 ±10%;跨芯板的层对(如 L2-L3)不列。)
  • 底部注(★随压合次数):
  • 一次压合板(双芯板六层)只写一行:本板为双芯板(L2/L3 与 L4/L5),一次压合成型;压合态 1.5250mm + 外层电镀 0.0500mm = 成品 1.575mm。
  • 多次压合板才写两行:第一次压合 L2-L5 … / 第二次压合 L1-L2 与 L5-L6 …。
  • 钻孔层别备注(仅盲孔板,且必做):红底高亮"★第N次"+层别+孔深+关联DRL-N。

★成品铜厚 → 芯板/铜箔的映射(2026-10-02 定案,与报价侧 pcb-quotation-engineer §3.5 口径 1 一致)
- 客户说「N 层 X oz」= 内外层「成品」铜厚,不是芯板基铜。
- 内层成品 1oz ⇒ 芯板取 1oz/1oz(规格写 1/1),不是 H/H(取 H/H 会做成 0.5oz 内层,成品铜不达标)。
- 外层成品 1oz ⇒ 取 HOZ 铜箔 + 电镀加厚,叠构图外层行的规格列写
HOZ 基铜 + 电镀(+10um)→ 成品 1oz。
- Hsinna 四层 1oz 实测叠构(可直接套用的数值形态):
LYR-1/LYR-4 = 0.0450(HOZ + 电镀)、PP = 2116 0.1150 ×1/面、LYR-2/LYR-3 = 0.0350(芯板 1oz 铜)、
板材 = 1.2000 → 合计 1.5900mm。
- ⚠️ 只有客户明确要求"内层 HOZ"时才写 0.0175(HOZ 0.5oz)。
- 同步面(四处一起改,漏一处就不一致):① 叠构图 STACK;② 开料工序的「板材规格」栏
(FR-4 1.20mm 1oz/1oz 41*49)+「基铜」栏(1oz/1oz(1/1));③ BOM 芯板行物料名;
④ 表头「成品铜厚」/「孔铜厚度」与工程备注的板厚描述。

★压合结构取「最省」(2026-10-02 定案,与报价侧 §3.5 口径 2 一致)
- 客户未给叠构图、未指定 PP 规格/张数时,按「达到成品板厚的最少 PP 张数 + 最便宜 PP 型号」反推;
四层标准 PP = 2 张(每侧 1 张),超过才触发 PP 追加费。
- 本例正解:1.2mm 芯板 1/1 + 每侧 2116 单张 = 1.590mm;备选 1.3mm 芯板 + 每侧 1080 单张 = 1.602mm。
- ❌ 照抄"每侧 1080×2" ⇒ PP 共 4 张(超标准 2 张,多算追加费)且叠构偏厚 1.609mm。
- 叠构图下方的「公差表」也要同步:分对厚度(PP) 行写实际型号与张数(本例 2116: 0.115 x1/面),
并加一行 芯板基铜 1oz/1oz(1/1)|外层基铜 HOZ + 电镀 → 成品 1oz。

4. 工艺流程参数 = 连续单表(全局序号,不分段、不重启)⚠️

一张 MI 的工艺流程表是一张连续表格,所有工序按生产先后逐行铺开,全局序号 1..N 连续、不按节点/层对分段、不重启序号、不每节点独占页:

  • 列:序号|工序|工艺名称|工艺流程参数(多行键值)|备注
  • 行构造:R(seq, 工序, 工艺名称, [(参数名, 值), ...], 备注),seq 从 1 连续递增到 N(六层通孔实测 36 步)。
  • 内层多对芯板(六层 = L2/3、L4/5)只是同表相邻行,不插小节标题、不重启序号;压合(一次)/压合(二次)也是相邻行。
  • 全板管控要点合并单表见 §4.1,紧随工艺流程表之后、开料图之前。

  • ❌ 不单独设「绿油塞孔」工序(2026-10-15 用户要求:「绿油塞孔不需要单独做一个工序,要求塞孔在防焊工艺备注即可」):绿油塞孔不列为独立工序,其要求(通孔 0.25、0.30、0.40 共 3133 孔每PCS、两面塞+真空塞、饱满无凹陷、100% AOI 检空洞、依 TH_PLUGGING.gdo)并入「防焊」工序的参数与备注;同理删去「塞孔预固 / 塞孔AOI」两个子工序。删工序后全局重新连续编号(for i,r in enumerate(FLOW_ALL): r[0]=str(i+1))。VCP电镀行备注写「为绿油塞孔提供可靠孔壁;绿油塞孔要求见防焊工序备注」。

  • ★ 压合次数别写多(2026-10-15 用户:"这个案子需要压合两次吗"):双芯板六层(L2/L3 芯板 + L4/L5 芯板)→ 一次压合即可——流程只列「棕化 → 预叠 → 压合 → 裁磨」,不要拆成「压合(一次)/压合(二次)」;叠构图也只画一条红线、注只写一行。只有「单芯板 + L2/L5 为内层铜箔」的 foil build,或 HDI 顺序层压、厚板(≥~2mm) 才需要两次。

  • 判据:数叠构里 板材 出现几次——2 次 = 双芯板 = 一次压合;1 次且 L2/L5 是铜箔 = foil build = 两次压合;HDI 盲孔 = 按压合次序。
  • ⚠️ 曾把"1 芯板样例(图2)"的两次压合照搬到"双芯板本板"上,被用户当场质疑。真实 MI(客户 0818 六层沉锡板,双芯板)只有一次压合、无任何"压合次数"注。

4.1 全板管控要点(合并单表,放在开料图之前)

  • 列:管控项 | 管控要求(两列,宽 ≈ 110 + 448.8),约 10 行。
  • 固定行(六层通孔实测):★通孔钻孔 / ★绿油塞孔 / ★外层线宽线距 / ★防焊 / ★文字 / ★阻抗测试 / ★沉锡 / ★成型 / ★100% 电测 / ★随货文件。
  • ⚠️ 不再把管控点拆散塞进各工艺段备注——统一收口到这一张表,便于审核一眼看全。

⚠️ 复杂 HDI / 多次压合板(保留原分段信息为参考):仍保持全局连续序号,但可在同表内用小节标题区分压合次序:
- 内层对 _2/3、_4/5 等相邻行;一次压合 _2/5、二次压合 _1/6 相邻行;主流程段无后缀。
- 多次压合工序名带前缀:次外层棕化 / 次外层预叠 / 次外层压合 / 次外层填孔电镀 / 次外层线路 / 次外层蚀刻 / 次外层AOI;同名重复加后缀:水平沉铜二、VCP电镀二、二次FQC。
- HDI 盲孔板:钻孔按层别拆行并标红底 ★(激光 L1→L2 等);常规多层板合并为一行。
- 双层板无压合段(芯板直接进钻孔),单/双面板压合费为 0。
- 每次报客户前 verify:openpyxl.load_workbook() 不报错 + 关键字段抽检。

5. 开料拼版图

5.1 开料信息栏:固定 9 项,字段名与顺序不可动(2026-10-14 修正,旧版只写 7 项是漏的)

# 字段 取值示例
1 SHEET尺寸: 1244.6*2184.4 mm
2 SET 尺寸: 225.00*292.00mm(两个空格,厂内版式如此)
3 APNL 尺寸: 725.00*622.00 mm(六层+ 必须 ∈ [620,725]×[520,625],且经 pcb-cut-engineer 反推;此示例为 20CH_REV2 实测值)
4 BPNL 尺寸: 无 B 拼版写 0.00*0.00 mm
5 APNL/SHEET: 1 SHEET= 6 PNL= 36 SET= 72 PCS
6 BPNL/SHEET: 1 SHEET= 0 PNL= 0 SET= 0 PCS
7 交货利用率: 87.00%(SET 面积口径,见 §5.2)
8 拼版备注: 经纬单方向(六层+);PNL 3列x2行=6 SET;SET间刀缝2mm;工艺边23/18mm
9 大料利用率: 99.52%(PNL 覆盖口径)

⚠️ 无 BPNL 时 4/6 项写 0.00*0.00 / 0 PNL= 0 SET= 0 PCS(不是留空、不是 /),与表头「开料参数总表」9×8=36 格的 BPNL 四格保持一致。

5.2 ★ 交货利用率必须用 SET 面积,不能用 PCS 面积(2026-10-14 修正的错漏)

交货面积   = SET尺寸的长 × 宽(m²)        ← 表头「交货面积」就是这个值
交货利用率 = 交货面积 × (大料PCS数 ÷ PCS/SET) ÷ 大料面积
           = SET面积 × 大料SET数 ÷ 大料面积
大料利用率 = 大料上 PNL 总面积 ÷ 大料面积
  • ❌ 已犯错误:用 PCS面积 × PCS数 ÷ 大料面积,比正确值低约 5 个百分点
    (实测:SET 0.0697880㎡ 口径 = 89.84%,PCS 0.032625㎡ 口径 = 84.00%,同一张图)。
  • 校验:交货利用率 ≤ 大料利用率,且两者差 = 工艺边 + 拼缝损耗占比(通常 3~8 个点)。

5.3 开料图画法(2026-10-15 三次修正:SHEET 画「横向」;文字不写在线上)

  • 上格「开料图」= SHEET → PNL(★SHEET 必须横向/landscape):画大料 SHEET 全框(红框),长边 2184.4 在宽向、短边 1244.6 在高向(sh_h = sh_w × SHEET_W/SHEET_H ≈ 0.57·sh_w),内部排 3列×2行 = 6 PNL(PNL 725 宽向 × 622 高向);标 SHEET 双向尺寸箭头(底=2184.4 经向、左=1244.6 纬向)+ 「1 Sheet(86×49") = 6 PNL(3列×2行);PNL 725×622」。
  • ❌ 别画成竖向(用户:"这个改成横向");也别把缩放写反(sh_h = sh_w×SHEET_H/SHEET_W 会画成竖高、溢出到下格压住文字——2026-10-15 实际踩到)。
  • 下格「拼版图」= SET → PNL:画 PNL 全框(725 长边 × 622 短边),内部排 3列×2行 = 6 SET,每 SET 再分 2 PCS(上下拼、拼缝 2mm);标 PNL 双向尺寸箭头 + 「1 PNL = 3列×2行 = 6 SET = 12 PCS」。
  • PNL / SET 尺寸口径取自 pcb-cut-engineer 反推值且在限值内(六层+ ≤ 725×625)。
  • 经纬向标注写图形外侧,不得压在网格上;六层+ 标「经纬单方向拼版」。
  • ★ 文字不要写在线上(2026-10-15 用户:"字迹和位置调整可辨认,不要写在线上"):所有说明文字(1 Sheet…/工艺边…/1 PNL…/SET…/1 大料…)必须落在图形框内纯空白区,与任何边框线/尺寸箭头留 ≥10pt 间距;图形画完在下方留 40~50pt 给文字,宁小勿压线。
  • ❌ 不另起「说明文字块」(用户:"这个说明不需要");也不写「成品尺寸异常时…」那句(用户:"这个去掉")。
  • B拼版 无则只写「(无 B 拼版)」。
  • 页眉(用户"这几个字去掉"):右上不再画「正片工艺」与「绿油塞孔」,只留「阻抗板」与「RoHS」。

6. BOM 清单

  • ★ 用量口径=「每平米成品耗用」,且必须把利用率算进去(2026-10-15 三次修正,用户:"所有物料的用量要把利用率算进去,而不是算板材的面积,所以逻辑错了,重新做"):
  • 基准 = 每 PNL 成品净面积 = 12 PCS × PCS面积 = 12 × 0.032625 = 0.3915 ㎡/PNL("利用率"就体现在这里:成品率 = 0.3915 ÷ PNL面积 0.4509 = 86.8%;对应材料利用率(PCS口径,对大料) 86.40%)。
  • 每平米成品耗用 = 该物料每 PNL 用量 ÷ 0.3915(❌ 不再除以大料/板材面积,那是错的逻辑)。
    | 物料 | 每平米成品用量算式 | 用量单位 |
    |---|---|---|
    | 板材(芯板 0.30,六层 2 张每PCS) | 2 × PNL面积 0.4509 ÷ 0.3915 = 2.3037 | ㎡每㎡ |
    | 铜箔(外层HOZ,顶+底 2 张每PNL) | 2 × 0.4509 ÷ 0.3915 = 2.3037 | ㎡每㎡ |
    | PP(7628 中 1 张;2116、1080 外各 2 张) | 张数 × 0.4509 ÷ 幅宽1.245m ÷ 0.3915 = 张数 × 0.9252(7628×1=0.9252;2116×2=1.8504;1080×2=1.8504) | 米每㎡ |
    | 干膜(内层 4 面;外层 2 面) | 面数 × 0.4509 ÷ 0.3915 = 面数 × 1.1519(内层4面=4.6076;外层2面=2.3038) | ㎡每㎡ |
  • 同时列出三口径利用率核对式:交货利用率 = SET面积×SET数/大料面积;大料利用率 = PNL总面积/大料面积;材料利用率 = PCS面积×PCS数/大料面积。
  • ★★★ 用量口径三次修正(2026-10-16 用户"重新做"):一切以「每平米成品」为基准,单位必须正规带 /
  • 基准公式:一平米成品「单层/单面」耗用 = 1 ÷ 材料利用率。用户例:一张料 1.296㎡ × 利用率 85% = 成品 1.1016㎡ → 每平米成品单层耗用 = 1 ÷ 0.85 = 1.1765 ㎡。本项目利用率 = 材料利用率(PCS 口径) 86.40% → K_LAY = 1.1574 ㎡/㎡。
  • 板材、PP、干膜、油墨 按 K_LAY 放大(生产中都在 PNL 上使用),再乘层数/面数与换算。两处例外:
    • PP 只算长度、不除幅宽:用量(米/㎡) = 张数 × K_LAY(7628×1=1.1574;2116×2=1080×2=2.3148)——2026-10-16 用户明确"不计算宽度"。
    • 铜箔要单独再乘一个「铜箔自身利用率 85%」,且以 kg 计量:面积(㎡/㎡) = 层数 × K_LAY ÷ 0.85(例 2×1.1574÷0.85=2.7233);计量厚度 = 成品铜厚 − HOZ(取叠构图/客户制板说明,本项目 43 − 18 = 25um);单位重量 = 厚度(um) × 8.9 ÷ 1000 kg/㎡(1um 铜 ≈ 8.9 g/㎡;25um → 0.2225 kg/㎡);用量 = 面积 × 单位重量 → 0.6059 kg/㎡。
  • 单位列一律正规写法:㎡/㎡、米/㎡、kg/㎡、支/㎡(允许含 / —— 之前"斜线没解决"指的是画歪的表格横线,不是单位斜杠)。
  • 钻嘴 / 锣刀按「开料图」核算:先由开料图取每张大料的 PCS 数(本项目 1 张 = 6 PNL = 36 SET = 72 PCS,成品 2.3490 ㎡/张),再 Σ ceil(该规格每PCS孔数 × 72 ÷ 寿命N) 得 支/张,最后 ÷ 2.3490 折算 支/㎡;锣刀见下行「锣程软件实测」规则。
  • ★★ 辅助材料耗用系数(2026-10-16 用户口径,取代 mrp-rules 的旧默认值):
    | 物料 | 口径 | 算式(本项目实测) |
    |---|---|---|
    | 内层线路 | 线路油墨 · 涂布工艺(不是干膜),≈ 20 ㎡每kg | 4 面 × PNL面积 ÷ 20 ÷ 成品净面积 = 0.2304 kg/㎡ |
    | 外层线路 | 干膜(2 面) | 2 × PNL面积 ÷ 成品净面积 = 2.3037 ㎡/㎡ |
    | 阻焊油墨 | 随外层铜厚变化:0.25 kg/㎡(1oz 基准)× 外层成品铜厚 ÷ 35um | 0.25 × 43 ÷ 35 = 0.3071 kg/㎡(双面,含绿油塞孔) |
    | 文字油墨 | 常规 200 ㎡每kg | 1 ÷ 200 = 0.0050 kg/㎡ |
    | 钻嘴 | Σ ceil(各规格 PNL孔数 ÷ 钻咀寿命 N)(进一法);N 取自公司受控文件 XY-WI-DR-01-A2《钻孔作业指导书》附件一《钻孔参数表(普通2-4层板 TG≤150 <1.5OZ)》,按实际钻咀直径最近匹配(圆孔钻咀 0.15~6.50mm,已剔除分刀-原径0.001 与槽刀-页2/3 .001/.002/.003);典型:≤0.95≈1500、1.0~1.95≈1000~1200、2.0~2.5≈800、2.55~2.85≈600、2.9~3.15≈500、3.2~3.45≈400、≥3.5≈300 孔每支 | 本项目 34.5 支/PNL(88.1 支/㎡) |
    | 锣刀(成型铣刀) | 每支寿命 15 米(≠ 旧默认 150 米) | 锣程软件实测:解析 CONTOUR.gdo → PCS 0.887m ×2 = SET 1.774m ÷ 0.0657㎡ = 27.00 米/㎡ ÷ 15 = 1.8001 支/㎡ |
  • ❌ 沉铜/电镀药水、表面处理药水一律不进 BOM(属制程消耗,不属材料清单范畴)——2026-10-16 用户明确要求删除。
  • ★ 锣程计算(2026-10-16 用户口径:用软件计算,不写「待CAM计算」):软件解析客户外形 Gerber(CONTOUR.gdo)实算——单板锣程 = 全部 D01 轨迹长度(G01 直线累加;G02/G03 圆弧按弦长反解夹角 θ=2·asin(弦/2r),半径取两端均值;⚠️ Proteus 系文件圆心 = 终点 + I/J(非标准起点+I/J),须双端半径互验)。出货是 SET 按 SET 计、是 PCS 按 PCS 计:每平米锣程 = 单元锣程 ÷ 单元面积;锣刀用量 = 米/㎡ ÷ 15m/支(不再按张进一)。本案:PCS 0.887m ×2 = SET 1.774m ÷ 0.0657㎡ = 27.00 米/㎡ → 1.8001 支/㎡。三处落点(2026-10-16 18:20 用户):① 页眉「锣程」格写 PNL 口径 10.644m/PNL(= 6 SET × 1.774m;该格可用宽仅 ~83pt,写长会撞「拼版方式」标签);② SET 锣程写入外形图纸页「尺寸标准」表:行 SET锣程(软件实测) | 1.774 m | —;③ 每平米锣程仅用于计算锣刀用量,备注在 BOM 成型行物料名称规格:锣刀(锣程 27.00 米/㎡ ÷ 15m/支)。
  • ❌ 已犯过错:旧版 BOM 用量单位/算式错漏(误用 PNL 面积 2.50435、PP/干膜数错、按板材面积算而不含利用率)——凡用量必先公式后填数。
  • ★ 物料名称规格描述规范(2026-10-16 用户要求:表述必须齐全):
    | 物料 | 必带字段 | 无要求时的默认 |
    |---|---|---|
    | 板材 | 品牌 + 厚度 + 铜厚 + TG值 + 有卤/无卤 + CTI值(+不含铜/防CAF/A级) | TG150 / 有卤 / CTI175 |
    | 铜箔 | 厚度(如 HOZ 18um;35um、17um…)+ 尺寸 + 用途 | 按叠构 |
    | PP | 型号 + 含胶量 RC% + 厚度*N张(如 0.380mm*1张;不再写(中层/外层,N张)括注) | RC 待供应商确认 |
    | 阻焊油墨 | 颜色+哑光/亮光+「不指定品牌」(如 阻焊油墨(绿色哑光,不指定品牌));若客户资料提供了油墨型号,则直接填型号(不再写「不指定品牌」) | 绿色哑光,不指定品牌 |
    | 内层线路油墨 / 外层干膜 | 工艺(涂布/干膜)+ 面别(如 L2/L3-L4/L5 共 4 面)+ 厚度/面积口径;不写 ≈20 ㎡/kg 之类的耗用参数 | — |
  • ★ 写法从简(2026-10-16 二次修订,用户给了逐字改法):不写品牌名(用材号代替,如 KB-6160)、不写「板 厚/铜厚」这类缀字、不写 A级;铜箔、油墨只留最关键一项。
  • 实例(照抄):
    • 板材 → FR-4 0.30mm不含铜 1OZ/1OZ 1245*2184 KB-6160 TG150 有卤 CTI175 防CAF
    • 铜箔 → 18um
    • PP → PP 7628 含胶量 RC42% 0.380mm*1张
    • 内层线路油墨 → 内层线路油墨(涂布工艺,L2/L3-L4/L5 共 4 面)
    • 阻焊 → 阻焊油墨(绿色哑光,不指定品牌)
    • 文字 → 文字油墨(白色)
    • 锣程 → 锣程 27.00 米/㎡(BOM 成型行只备注每平米锣程;钻孔行同理只写 平米孔数,不列各孔径+工装孔钻咀)
  • 列:序号|工序|物料代码|物料名称规格|库存|用量|用量单位(7 列,实测列宽 [26, 54, 70, 250.8, 34, 68, 56])
  • ❌ 不要再加第 8 列「单位」(2026-10-15 用户:「用量单位和单位是重复的,只需要用量单位即可」)。
  • 按工序分组:开料/压合/内层线路/外层线路/沉铜电镀/防焊(含绿油塞孔)/表面处理/钻孔/成型
  • ★ 用量单位列(2026-10-16 三次修正:一律「每平米成品」+正规 / 写法):
    | 物料类别 | 用量单位列 | 换算 |
    |---|---|---|
    | 板材 / 外层干膜 | ㎡/㎡ | 层数(面数) × K_LAY(1.1574) |
    | 铜箔 | kg/㎡ | 面积 = 层数 × K_LAY ÷ 0.85;重量 = 厚度(成品−HOZ) × 8.9 ÷ 1000 |
    | PP 半固化片 | 米/㎡ | 张数 × K_LAY(不除幅宽) |
    | 内层线路油墨 / 阻焊 / 文字油墨 | kg/㎡ | 面积 ÷ 20㎡kg;0.25kg/㎡@1oz × K_LAY × 铜厚系数;1÷200 × K_LAY |
    | 钻嘴 / 锣刀 | 支/㎡ | 支/张 ÷ 成品㎡每张(2.3490) |
    | 物料代码 / 库存 / 实际耗量 | — | 标 TBD |
  • 单位里允许 /(㎡/㎡、米/㎡、kg/㎡、支/㎡)——这是正规写法,与"斜线表格线"无关。
  • ❌ BOM 用量公式块不输出(2026-10-16 用户指令「直接隐藏」):顶部「BOM 用量公式 ①~⑩」红字说明块与底部「用量口径=每平米成品耗用…」说明块都不画;公式与系数只留在生成器内部与技能里,MI 页面只保留 BOM 表本体+工程备注+预制作声明。
  • 同页下方接「工程备注信息(EQ)」,把所有 EQ 集中列在此页末尾,不分散到各工艺页。

7. 阻抗图纸页(客户有阻抗要求时必出)

三段式,不是只贴客户图——必须把"要求"和"我们设计的取值"对齐写出来:
1. 阻抗要求与设计取值表(7 列):
走线层 | 参考层 | 类型 | 目标阻抗 | 介质厚(mm) | 设计线宽/间距 | 备注
- 行覆盖客户每一项(例:TOP-50Ω 单端 / TOP-90Ω 差分 / TOP-100Ω 差分 / L3-50Ω / L3-100Ω / L4-50Ω / L4-100Ω / BOT-50Ω / BOT-90Ω / BOT-100Ω)
- 类型取值 表面微带 / 带状线 / 偏移带状线;备注写核算值与偏差(如 实算 47.2Ω,-5.6%)
2. 阻抗图纸:客户原始阻抗图(不重画、不美化)
3. 工程问题(EQ):把"算不到的、和客户要求矛盾的"逐条列出
- 出页前必须先跑阻抗核算(见「阻抗 ↔ 叠构联动」节),把所有结论落到 1 与 3 两段

8. 外形图纸页(必出,且必须排在钻孔图/钻咀表之后)

三段式,★第 1 段必须嵌入客户资料里的原图,不能只写文字或自己重画:

  1. 客户资料的外形图(原图嵌入) ★2026-10-14 用户确认
    - 有原图就嵌原图(★2026-10-15 修正:必须嵌整页,不能只裁剪板框):客户 Gerber 目录里的 CONTOUR.gdo / Panel Drawing PDF / 外形 PDF,
    用 PyMuPDF 渲染整页(不设 clip 或 clip 取整页 pg.rect),get_pixmap(dpi=320~340) 存 PNG,
    再 ax.imshow(png, extent=(...), zorder=2) 贴进页面——图纸必须完整(含外框、尺寸标注、技术要求全文),不得只截板框导致缺边缺注。图下标注来源文件名。
    python doc = fitz.open(PANEL_PDF); pg = doc[0]; r = pg.rect pg.get_pixmap(dpi=340).save(tmp_png) # 整页渲染,不裁剪 ax.imshow(plt.imread(tmp_png), extent=(LM+8, LM+8+W, y+8, y+8+H), zorder=2, aspect="auto")
    - ★ 客户技术要求原文 copy(★2026-10-15 用户要求"如果客供资料有技术要求也要 copy 下来放在 MI"):若 Panel Drawing 含 NOTES / 技术要求 段落,逐条照抄原文(含英文)进 MI,不意译、不省略。常见条目:板厚公差(PCB THICKNESS 1.6±10%mm)/ oversize 公差(OVERSIZE SHOULD BE ±0.1mm)/ 板翘扭曲(WARP AND TWIST SHOULD BE ≤0.75%)/ 孔位公差(THE HOLE LOCATION TOLERANCE ±0.1mm)。MI 内以「客户技术要求(Panel Drawing 原文 copy)」块呈现,置于外形图下方、尺寸标准表之前或同段。
    - 无原图才实绘:用 matplotlib 实绘 2 个面板 ——
    • ① 成品(单只 PCS):圆角矩形按真实比例 + 外形长/宽尺寸线(箭头 + 端点短线 + 居中数字),
      标出四角圆角的 Gerber 实测值与拼版图要求值(两者不一致时标 ★EQ)。
    • ② SET / 连板(交货单元):外框圆角矩形 + 拼版数阵列+ 工艺边虚线框 +
      SET 长/宽尺寸线 + "N 列 × M 行 = K PCS" 标注。
    • 图下配说明行,写清 成品尺寸 / SET 尺寸与拼版数 / 分板与成型方式。
  2. 尺寸标准表(★2026-10-14 用户确认:必须写全资料里的尺寸标准,不能只写成品尺寸):
    - 列:项目 | 标准值 | 公差 | 依据(4 列)
    - 行覆盖(按客户资料实际项增减,缺项写「客户未标」):
    板厚 / 板厚(拼版图口径) / 外形公差(oversize) / 孔位置公差 / 板翘扭曲 WARP·TWIST /
    单板尺寸(标称) / 单板尺寸(Gerber实测) / 拼板 SET / 拼缝(SET内) / 刀缝(SET间) /
    圆角 / 安装孔 / 边槽宽 / 层数·板型 / 阻焊·字符 / 表面处理
    - ⚠️ 标称值与实测值分行并列(例:单板(标称) 225.00×145.00 与 单板(Gerber) 218.995×141.000),
    两行红底高亮,备注指向 EQ 条目。
    - 拼版图技术要求里的每一条尺寸标准都要落表(如「TOLERANCE GRADE NOT NOTED. OVERSIZE SHOULD BE ±0.1mm」
    「WARP AND TWIST SHOULD BE ≤0.75%」「THE HOLE LOCATION TOLERANCE ±0.1mm」)。
  3. 成型要点:4 条左右,写成型方式 / 刀路依据 / 拼版差异风险 / 铣刀与圆角要求。
  4. 图纸清单:逐张列 DWG-01 …,必须含"全部铜层(GTL/L2/…/GBL)单独出图,黑白、不镜像、不叠加";
    本 MI 内页的清单行要标出对应页码(如 本 MI P5 页),来源 列写 本MI / 随单附。

8.1 实绘外形图的可复用画法

> 详细画法(圆角矩形、尺寸线、阵列、比例选取、圆角不可见时的处理)已迁至
> references/matplotlib画法.md(2026-10-16 减负)。需要自实绘时才读。

9. 各层 PDF 图纸(硬要求:一层一页、不叠加、不镜像、黑白色)

> 输出器:scripts/layer_drawings.py

  • 覆盖目录里所有层,一层独占一页,绝不叠加:线路 6 层(TOP/L2…/BOT)+ 阻焊 2 + 字符 2 + 锡膏 2 + 钻带 4(LS1-2 / LS5-6 / M2-5 / DRL)+ 分孔图 = 17 层实测(六层 HDI)
  • 黑白色:只用 color="black",白底黑线,禁灰阶禁彩色(自检:渲染成图后统计 |R-G|,|G-B|,|R-B| > 12 的像素数必须为 0)
  • 不镜像:一律按 Gerber 设计坐标 y 向上出图(ax.set_ylim(cy-h/2, cy+h/2))
  • 每页 A4 横向 + 图框 + 底部标题栏(产品型号/层别/源文件/图纸种类/真实比例/单位/颜色/镜像/叠加/PAGE/日期)
  • 用法:python scripts/layer_drawings.py --dir <gerber目录> --model <型号> --out <输出目录> --date YYYYMMDD
  • 两个必须知道的坑(都踩过):
    1. 双坐标系:图框/文字画在页面 axes,图形画在独立的内嵌 axes。塞进同一个 ax 后一旦 set_xlim/set_ylim 到数据坐标,图框和标题栏会被挤出可视区(整页只剩板子)。
    2. 小孔径要放大到可见:0.1mm 孔在 77mm 板上只有亚像素大小。给孔环设「最小可见半径」(0.85pt / 缩放比),十字标孔中心,并在图上注明"<0.2mm 按最小可见尺寸绘制"。

阻抗 ↔ 叠构联动(有阻抗要求时先算再定叠构)⚠️

流程:客户阻抗要求 → 用 pcb-rfq-engineer/scripts/pcb_calc.py 反算所需线宽/介质厚 → 校验是否 ≥ 客户最小线宽 → 回写叠构与 MI。

六层一阶 HDI 实测(K3_MB,4/4mil 最小线宽,1.6mm 板厚)

走线层 参考层 类型 介质厚(mm) 4mil 下实算 结论
TOP/BOT L2/L5 表面微带 0.075(1080 PP×1) 50Ω→47.2(-5.6%) / 90Ω差分→82.0 / 100Ω差分→82.0 100Ω 差分物理不可达(差分上限 94.4Ω < 100Ω)
TOP/BOT L2/L5 表面微带 0.220(改 2116 PP×2) 50Ω→6.0mil 线 / 90Ω→4.8/4 差分 / 100Ω→4/4 直用 97.2Ω(-2.8%) ✅ 推荐方案,全部 ≥4mil 且落在 ±10%
L3/L4 L2/L5(同芯板另一面) 偏移/带状线 0.465(芯板 0.50 − 2×0.0175) 4mil → 76~94Ω 要 50Ω 需 11~19mil 线宽,与客户 4/4mil 严重矛盾 ⇒ 必列 EQ
  • 差分上限硬约束:Zdiff_max = 2 × Zse(S→∞);S→0 时降到约 1.52 × Zse。目标差分阻抗 > 2×单端阻抗 ⇒ 物理不可达,不要再调线宽,直接报 EQ。
  • 外层 PP 从 1080(0.075) 换 2116(0.110) 会改叠构:PP 张数/规格变化 ⇒ 板料与压合费需重算,MI 叠构图与 BOM 同步改。
  • 叠构总厚复核:Σ压合厚度 必须等于成品板厚(本例 2×芯板0.50 + 外层2116×2(0.22) + 内层7628×2(0.38) = 1.60mm)。

工具选择(避坑)

  • xlsxwriter 优于 openpyxl:复杂 MI 多 sheet+合并时 openpyxl 3.1.5 有 _fills 混入 Alignment 的 bug。
  • 合并:ws.merge_range(r1,c1,r2,c2,value,format);颜色:wb.add_format({&#x27;bg_color&#x27;:&#x27;#D9D9D9&#x27;})。

PDF 交付模式(matplotlib,A4 纵向,页数随层数变)

> ⚠️ MI 必须按厂内 PDF 出,禁止用 Excel 代替——用户明确反馈过「MI 格式不对」(我当时给的 Excel 多 sheet
> 无论字段多全都不算 MI)。生成器已实现:scripts/mi_pdf.py(版式常量全为实测值,换项目只改「内容数据」区)。

实测版式常量与各表列宽

> 完整实测值已迁至 references/PDF版式常量.md(2026-10-16 减负)。
> 常量已写死在 scripts/mi_pdf.py;常规跑 MI 不需查,改版式时才对照该文件。

页序(★2026-10-15 二次修正:流程连续单表自动续页;钻咀表与外形图纸各占一页)

通用页序铁律(不得调换):
表头+连续工艺流程(1..N,装不下续页) → [全板管控要点(开料图之前)] → 开料拼版图 → 叠构综合图 →
[阻抗图纸(客户有阻抗要求时必出)] → 钻咀表(= 钻孔图) → 外形图纸(单独整页) → BOM 清单+用量公式+工程备注(EQ)+预制作声明。

> ❌ 已犯错误 1:外形图纸 排在 钻咀表 之前("先孔后形")。
> ❌ 已犯错误 2:工艺流程按「节点 / 层对」分段各占一页,碎页严重。
> ❌ 已犯错误 3(2026-10-15):工艺流程只印出 13/36 步(表太长被页底截断)→ 用户"工艺流程为何没有做完"。
> ❌ 已犯错误 4(2026-10-15):外形图纸 与钻咀表挤在同一页,图太小看不清 → 用户要"单独一页展示整幅"。
> ✅ 现口径:连续单表自动续页并重复表头;全板管控要点合并置于开料图之前;钻咀表、外形图纸各占一页;工程备注统一放 BOM 同页末尾。

常规六层通孔板(实测 20CH_REV2_Wave,实测 7 页):
P1 表头+开料参数总表+连续工艺流程(1..24) → P2 工艺流程(续 25..36)+全板管控要点 → P3 开料拼版图 →
P4 叠构综合图 → P5 钻咀表 → P6 外形图纸(整页) → P7 BOM 清单+用量公式(每平米耗用)+工程备注(8 条 EQ)+预制作声明。

复杂 HDI / 厚板(页数随工序列数自然增加):六层一阶 HDI 12–14 页、三十层二阶 24 页——流程仍为连续单表,仅列数撑多页。

> ⚠️ 旧版"实测页数"(双面 9 / 四层 9 / 六层 10 / 八层 12 / 十二层 10)是按层对分段的旧统计;"节点分段 9 页"、v2.2.0 的"5 页"均已被本版"连续单表 7 页"取代。

实现要点

  • 开料参数总表 = 9 行 × 8 列固定死格(36 格 = 4 组 标签|值),不是流式网格。格位与字数无关,实测竖线/列宽/行高见「表头」节。⚠️ 早期按流式网格实现被用户判为「格式不对」。
  • 开料拼版图页三段式:开料图(大料分 PNL 块 + 经纬向 + 刀宽4mm + 横料)|开料信息(SHEET/SET/APNL/BPNL 尺寸、APNL/SHEET、BPNL/SHEET、交货利用率、拼版备注、烤板、工具编号)|A拼版 / B拼版(无则 /)。
  • 盲孔板叠构图必带「钻孔层别备注」:红底高亮,逐次列 ★第N次 钻带名 孔型 层区间 孔深/时机 关联DRL。
  • 字体:SimHei C:/Windows/Fonts/simhei.ttf,dpi=150。⚠️ SimHei 无真粗体(bold 回落 400)——别靠 bold 分层级,用字号 + 灰底。
  • 字体坑(2026-10-02 复核修正,旧版写法有误):SimHei 缺 ²(U+00B2)、㎜(U+339C)、⇒(U+8658)、⚠(U+26A0)、µ(U+00B5)。
    ✅ →(U+2192) 实测可正常渲染(旧版写"缺箭头 →"是错的,不必再回避)、★(U+2605)、±、∞ 均可用。
    约定:尺寸统一写 mm、比较写 &gt;=、公差写 +/-;禁 ⇒,一律改用 →;µ 写 u(um);⚠ 写 【】。
    兜底:① 生成时 matplotlib 会打 UserWarning: Glyph NNNN missing from font(s) SimHei —— 该告警必须处理,不许忽略;
    ② 出 PDF 后 grep 文本层 ²|㎜|⇒|⚠|µ,命中即替换。
  • 中文折行必须自己算(ax.text 不自动换行):CJK 记 1.0×字号、ASCII 记 0.55×字号,超宽即折。
  • 出 PDF 后必做自动版式自检:逐页 page.get_text(&quot;blocks&quot;) 断言 (a) 无块 y1&gt;778 / x1&gt;582 / x0&lt;16;(b) 每页含 PAGE: n / N 且连续。
  • 页眉:左上角彻底留空(不放LOGO/厂名/占位);右上固定 3 个槽位,不适用的槽位留空(不写 None、不省略、不臆造配色)。
槽位 容量 实测取值
①工艺 1 行 正片工艺 / 负片工艺
②特性 最多 2 行 汽车板 · 普通板 · 阻抗板 · 研发板 / 阻抗板+汽车安全件 / 研发板+二阶HDI
③合规 1 行 RoHS / 无卤
  • ⚠️ 核实版式必须用坐标,不能只看文本流:文本层会把同一槽内的两行拆成两条记录("研发板"+"二阶HDI" 看着像 2 个格子),也会把"汽车安全件"折成两行。方法:page.get_text(&#x27;blocks&#x27;) 取 (x0, y0) 判断归属——这条坑已踩过一次,改版式前先跑坐标。
  • LOGO 规则:永远不放 LOGO、不放占位厂名(用户硬要求)。
  • Gerber 逐层黑白 PDF:用本技能自带 scripts/layer_drawings.py(自建 RS-274X 解析,不依赖 gerbonara);一层一页、不叠加、不镜像、黑白。详见第 9 节。
  • 分孔图:钻带 tokenize by *;G54Dxx 选刀,X..Y..D03 落孔;按工具直径画圈铺在SET外形框内(机械黑/大NPTH环/激光灰)。
  • ⚠️ 本技能所有脚本必须用带依赖的解释器跑:C:\Users\Administrator\.workbuddy\binaries\python\envs\default\Scripts\python.exe
    (matplotlib / PyMuPDF / numpy / openpyxl / xlsxwriter 都在这个 venv 里)。用 versions\3.13.12\python.exe 会 ModuleNotFoundError: matplotlib,
    在 --dir 批量模式下表现为静默 exit 1 且 stdout 全空,极易误判成"代码 bug"——先确认解释器再查代码。

计算口径与硬基线(5 份真实量产单实测归纳)

开料与大料

  • 大料尺寸 = 开料工序"板材规格"(英寸)× 25.4,两处必须一致。实测:49"×86" → 1245×2184;49.3"×82" → 1252×2083;49"×82" → 1245×2083;49"×41" → 1245×1041(开半张)
  • PNL/大料 = 长宽两方向分别取整后相乘,取"横排/竖排"两种摆法的较大值(实测 2×2=4、3×2=6 均吻合);异形排布会突破公式(实测多 1 个),最终以开料图为准
  • ★ PNL 尺寸硬约束(2026-10-15 修正,源自 pcb-cut-engineer)—— PNL 绝不是"整张大料":它是大料内裁出的工作板单元。定 PNL 尺寸前必须先查 pcb-cut-engineer 的 PNL 限值,不可凭经验拍板:
  • PNL 限值(长边 × 短边,mm):双面/四层 = [620,1093] × [520,625];六层及以上 = [620,725] × [520,625];
  • 六层+ 必须按经纬单方向拼版、不混拼(双面不作经纬要求,多层内层开料方向保持经纬一致);
  • 工艺边区间(步进 0.5mm):双面 [10,25] / 四层 [12,25] / 六层+ [14,25];"下限是最低要求,上限是板材够时能做到的最大",并列时取留边更大者;
  • 标准大料库(英寸):86×49 / 82×49 / 82×41 / 74×49 / 49×49 / 49×41(详见 pcb-cut-engineer 大料库)。
  • 落地:跑 pcb-cut-engineer/scripts/cut_calc.py nesting --L &lt;SET长&gt; --W &lt;SET宽&gt; --layers &lt;层数&gt; --set &lt;PCS/SET&gt; 取权威 PNL 尺寸、工艺边、X PNL/张、Y PCS/张、利用率,直接回填,不手算。
  • ❌ 已犯过错:把 PNL 写成 1211×2068(≈整张大料),远超六层+ 上限 725×625,被判定"开料图做成 PNL 尺寸"不合格——本板正确值为 725×622(工艺边 23/18,3×2 SET,6 PNL/张)。
  • 开料信息区固定 9 项(2026-10-14 修正,旧版只写 7 项是漏的):SHEET尺寸 / SET尺寸 / APNL尺寸 / BPNL尺寸 / APNL/SHEET / BPNL/SHEET / 交货利用率 / 拼版备注 / 大料利用率;APNL/SHEET 写法为 1 SHEET= N PNL= M SET= K PCS

两个利用率口径,绝不可混用

交货利用率 = SET面积 × 大料SET数 ÷ 大料面积
           = 交货面积 × (大料PCS数 ÷ PCS/SET) ÷ 大料面积
大料利用率 = 大料上 PNL 总面积 ÷ 大料面积     # 反映排板紧密度

交货面积 = SET 尺寸的长×宽(换算成 m²),不是 PCS 面积。 实测 4 份全部验算吻合。

纵横比

纵横比 = 压合后板厚 ÷ 最小钻孔孔径(实测 7.87 / 7.54 / 6.02 / 6.00 全中)

压合段备注硬规则

① 内层芯板与 PP 必须同厂家,TG / CTI / 含卤素要求一致,经纬方向一致;② 逐层列残铜率;③ 客户指定叠构不允许更改;④ 替代料仅在原文注明时才可写。

表头「开料参数总表」= 9 行 × 8 列固定网格(4 组「标签|值」,共 36 格)

⚠️ 不是流式排布、也不是 27 格。厂内是固定死格,格子位置不随字数变。实测(六层 HDI 单,PyMuPDF 坐标):
- x 竖线 [18.4, 92.8, 175.6, 230.2, 316.0, 377.2, 444.4, 509.2, 576.2] → 列宽 [74.4, 82.8, 54.6, 85.8, 61.2, 67.2, 64.8, 67.0](合计 558.8)
- 横线 y [212.8, 232.6, 246.3, 262.5, 277.5, 291.3, 307.5, 321.2, 336.2, 353.0] → 行高 [19.8, 13.7, 16.2, 15.0, 13.8, 16.2, 13.7, 15.0, 16.8](合计 ≈140.2)

36 格字段顺序(r1→r9,每行 c1..c8 交替「标签|值」)

行 c1 c2 c3 c4 c5 c6 c7 c8
r1 大料尺寸 1245*2083 mm PNLA尺寸 672.00*598.00 mm PNLA单元数 42 PCS PNLA内SET数 21 SET
r2 每大料PNLA数 6 PNL PNLB尺寸 0.00*0.00 mm PNLB单元数 0 PCS PNLB内SET数 0 SET
r3 每大料PNLB数 0 PNL 大料PCS数 252 PCS 交货利用率 75.91% 每SET的PCS数 2 PCS
r4 成品板厚 1.60 mm 成品铜厚um 内35 外35 大料利用率 92.97% 孔铜厚度 25um
r5 SET尺寸 155.61*116.20mm PCS尺寸 102.048*76.553mm 交货面积 0.0180808 表面处理 化学镍金
r6 最小钻咀 0.20 A板孔数 79,579 B板孔数 — 表面处理厚度 金1"
r7 板材类型 FR4 TG值 TG150 CAF等级 标准 安全等级 普通
r8 客户物料编码 K3_MB_V1.2 (合并留空) 产品特性 阻抗板+HDI 产品用途
r9 PNL二维码个数 1 锣程 10.644m/PNL 应用分类 阻抗板
  • 格式细节:尺寸量带 mm(1245*2083 mm),数量带 PCS/SET/PNL(42 PCS、21 SET),铜厚写 内35 外35 um、孔铜写 25um;
    无第二拼版时,所有 PNLB 项与「B板孔数」一律写 0.00*0.00 mm / 0 PCS / 0 SET / 0 PNL(写 / 或留空都算格式不对);
    r8 的 c3/c4 是合并格留空;r9 的 c7/c8 留空。
  • ⚠️ 早期版本按「流式 27 格网格」实现,被用户判定为「格式不对」的主因之一——字段内容对了但排版形态与厂内不一致。必须用 9×8 死格。
  • ★ 网格实现硬规则(2026-10-15 二次修正):
    1. 先画 9 条竖线贯通全表高、再画横线按行切分——保证所有单元格边线闭合对齐,不得错行、不得出现悬空线。
    • ★★★ 横线必须是真水平线:ax.plot([x0, x1], [y, y])(两个 y 相同);顶边单独画 [y0, y0]、每行底边画 [y0+h, y0+h]。
    • ❌ 严禁 ax.plot([x0, x1], [y0, y0 + h])——它画出的是「从左端 y0 斜降到右端 y0+h」的斜线(跨整表宽掉一个行高),看起来就是"格子里的斜线"。这正是用户 2026-10-15 用红线标注、"斜线没解决"反复三轮的根因(旧 header_grid 就错在这行)。改完用 pymupdf get_drawings() 复核:除尺寸箭头外,表格区不得有任何 |dx|&gt;0.1 且 |dy|&gt;0.1 的线段。
      2. 36 格必须全部填满内容:除厂规 r8 c3/c4 合并留空、r9 c7/c8 留空 外,任何一格不得空白;无值的字段(如 B 拼版不存在)写 0.00*0.00 mm / 0 / —,绝不写 /。
      3. 实现上禁止用 merge 制造空白格(旧版 merge={(7,3)} 导致整块留白被判定"格式不对")。
      4. ★★★ 全表彻底禁 /(2026-10-15 用户三次 critique:「斜线没解决」):任何单元格的文字里都不允许出现 /——不只是"裸占位",连 1oz/1oz、+0.08/-0.08、L2/L5、0.25/0.30/0.40、药水/油墨、PAGE: 1 / 7 这类含 / 的标准写法也要改掉。统一替换规则:
    • 缺项 / 不适用 → 0 / 0.00*0.00 mm / —(横杠);
    • 必填未定 → 待CAM计算;
    • 公差 +0.08/-0.08 → ±0.08;+/-10% → ±10%;+/-0.076 → ±0.076;
    • 并列 A/B → A、B(L2/L5→L2、L5;药水/油墨/钻咀/锣刀→药水、油墨、钻咀、锣刀);
    • 线宽线距 0.15/0.15 → 线宽0.15 线距0.15(或 0.15×0.15);
    • 单位比 ㎡/㎡ → ㎡每㎡;米/㎡ → 米每㎡;PCS/大料→PCS每大料;孔/PCS→孔每PCS;
    • 页码 PAGE: 1 / 7 → PAGE 1 OF 7;(续 2/2)→(续 第2页 共2页);
    • 叠构/规格里的 150米/卷→150米每卷、1oz/1oz→1oz(双面)、WARP/TWIST→WARP、TWIST、IPC-A-600H/class2→IPC-A-600H Class 2。
    • 实现校验(必做):生成后跑 pymupdf 提取全部页文本,任何 span 含 / 即判失败(须 0 处才算过;v6 实测 0)。

表面处理分档

类型 膜厚 硬规则
沉锡 0.8–1.2 um 按 IPC-4554;不允许返工;FQC/FQA/包装全程隔无硫纸
OSP 0.2–0.5 um 有效期 <6 个月、超 3 个月不得发货;最多返工一次且需重测铜厚 + OSP 厚;可过回流焊 ≥3 次

同板长板宽多型号的防呆

备注"此板与 XXX 交货板长、交货板宽一致,注意以板内编号区分"必须在成型 / 测试 / FQC / FQA / 包装每个工序的备注栏重复,不能只在工程备注写一次。

系统导出异常值识别(读数据、复用模板时必查)⚠️

现象 正确处理
最小钻咀 = NaN、纵横比 = Infinity:1 源数据未回填;用钻咀表最小刀径 + 压合厚反算补全
表头「A板孔数」为空,或与钻咀表"合计"不一致 以钻咀表末行合计为准回填
SET 尺寸 < PCS 尺寸(尺寸倒挂) 研发单常见;其利用率改按 PCS 面积算,与常规单口径不符,须人工确认
是否指定板料否 却注明替代料 非指定 ≠ 可随意换料,替代须留书面依据

多次压合与 HDI 盲孔(按需读)

> 完整口径(压合次序与厚度、激光盲孔报表与纵横比、盖帽、填孔电镀与树脂塞孔、减铜工序、正负片混用、ENIG 报值、六层一阶 HDI MI 段序)
> 已迁至 references/高阶HDI与多次压合口径.md(2026-10-16 减负)。
> 做 HDI / 盲埋孔 / 厚板(≥2mm)/ 多次压合板时先读该文件;常规双面~六层通孔板不涉及。

四条必须记住的要点(其余见该文件):
1. 压合次序与厚度:一次 L3–L28(3.94mm)→ 二次 L2–L29(4.27mm)→ 三次 L1–L30(4.60mm),公差多 ±0.15。
2. 硬约束:压合后 L1-L2 与 L2-L3、L30-L29 与 L29-L28 间的 PP 厚度 ≥0.065mm。
3. HDI 阶数用「钻带文件集合」判定,不看客户口头:只有一套镭射(两侧同一循环)=一阶;出现 LS1-2 与 LS2-3 同侧两段=二阶。埋孔 VIA2-5 存在 ⇒ L2–L5 是第一次压合形成的芯板组。
4. 6 层一阶 HDI 叠构解:2×芯板 0.50(H/H) + 外 1080PP×2 + 内 7628PP×2 = 1.60mm;镭射盲孔介质层厚必须 ≤0.10mm。

板材–叠构对应(行业公开型号示例)

生益 S1000H(TG≥150) / S1000-2M(TG≥170) / S7040G(TG≥170,无卤);建滔 KB-6160(TG≥130);德凯 DK-C150(TG≥150) + DK-P150 配套 PP。
配套 PP 常见规格:7628(RC44/48%)、3313(RC60%)、1506(RC45%)、1080/1078(RC68%)、106(RC77%)、1067(RC71%)、2116(RC57%)。
参数按板类分档对照表(双面/四层/六层/八层/十二层的板厚、铜厚、纵横比、阻焊前处理、检验等级)→ 详见 references/mi/ 提炼文档第九节。

关键排除规则(数据真实性)

★品质红线优先(源自公司受控体系文件,2026-09-27 接线)

做任何 MI 之前先过四条红线,缺项即停(完整口径见 references/工序SOP与MI规则基线.md §十二):

  • ★1 一致性:客户 GERBER 的料号、版本、日期必须与订单和技术要求一致。
  • ★2 材料一致性:板料(品牌)/ 无卤 / CAF / 铜厚 / TG / CTI / CTE / DK / DF / 成品板厚 / UL 必须与客户要求一致。
  • ★3 外观一致性:防焊 / 字符厂商(品牌)、颜色必须与客户要求一致。
  • ★4 指定性:表面处理及材料型号是否客户指定。
  • 红线项须由「制作 / 审核 / QAE」三方签核,缺一方签名即未闭环。
  • 资料冲突三条:①客户同时给 Gerber 与 Gerber 图纸 → 以客户 Gerber 为准;②Gerber 与图纸不一致 → 提出 EQ 与客户确认;③更改客户资料或客供要求与 Gerber 不一致 → 须发 EQ 确认并归档回复。
  • 汽车产品:须咨询终端客户(直接客户的客户)的标准或特殊要求;MI 封页加汽车标示、产品分组栏加「汽车产品」。

  • 激光钻孔不计入"钻嘴"耗量:CO2 激光为能量钻孔,非易耗件,勿编"支/㎡板"假数据。

  • 沉金/ENIG 表若附件缺:保留 TBD+单位"—"+来源写"附件缺沉金表(仅OSP)",勿从OSP假算沉金。
  • 干膜按"米"卷长折算:附件单位"米"是卷材走长,按"米/㎡板"换算,备注"按卷材长度计"。

★MI 制单与管理红线(2026-09-27 第二批追加,完整口径见 工序SOP与MI规则基线.md §十四~§二十二)

  • 《制作通知单》17 项逐项对照:成品铜厚须内层 / 外层分列;拼板尺寸 / 交货拼板(PCS) / 层数 / 成品板厚 / 孔铜厚度 / 成型方式 / 防焊前处理 / 是否张力要求 + 达因值 / CAF 等级 + 安全等级 / 阻焊油墨型号 / 过孔要求等缺项一律提 EQ,不得留空默认。
  • OSP 板 MI 四要素:①注明表面处理为 OSP;②OSP 前的孔铜厚确认;③OSP 膜厚 0.25–0.4 μm 的检验要求;④不做喷锡、不可二次过炉的工艺限制提示。
  • 制工具(F01)必填五要素:本厂型号 · 层名 & 面次(L2/L3… + CS/SS 面)· 工具类型(菲林/网版/LDI/喷墨/钻带/锣带)· 拉伸 A/B 板 X/Y 系数 · 补钻钻咀直径;补钻/补锣属临时资料,须在「其它要求说明」栏写明;临时资料固定存放 \\服务器\工程资料\临时资料文件夹,工具命名由工程部填写。
  • 工具发放/回收逐件对账 + 菲林报废双单闭环:发放与回收按 MAP / 线路 / 阻焊 / 文字 / YG / 铝片 / L2 / L3 分类,线路·阻焊·文字下再分 GTL/GBL/GTS/GBS/GTO/GBO;菲林报废须《菲林报废通知单》(工程侧)+《菲林回收报废记录》(菲林房侧)双单双签(含工程通知人签字 + 菲林房确认报废签字)。
  • CSR 必须落到 MI:客户 CSR 经评审后写入《客户 CSR 清单》,并在 CAR「系统改善(标准化)」勾选 □更新 MI(工单/流程卡)、□更新作业指导书、□更新 CP、□更新 FMEA;研发板流程卡须印"研发板"字样,转量产须同步研发部版《控制计划》(CP)。
  • 扫码测量资料依 MI 图纸制作:全尺寸测量机的扫描资料「依照 MI 图纸制作并保存」,调取资料前须再次核对程序名称、版本号与后缀名与流程卡要求一致。

资源索引

  • 依赖:pcb-quotation-engineer 的 gerber_extract.py(Gerber/Excellon 解析)
  • MI 制作规则基线(2026-09-24 新增,2026-09-27 分两批追加):references/工序SOP与MI规则基线.md
    → 客户资料检查表 ★品质红线 4 条(须制作/审核/QAE 三方签核)、冲突处理三条规则、汽车板附加要求(含终端客户咨询)、CAM 补偿按机种取值表(跨机种禁止套用)、制作通用四原则(刮铜 0.2mm/螺丝孔 0.3mm)、阻焊/字符口径、开料与工单口径、工艺代码对照表、内层设计注意。做 MI 前先过这份红线清单。
    → 第二批追加 §十四~§二十二:《制作通知单》与流程卡字段全集、流程卡工序参数样板、OSP 板 MI 专项要点、研发板与 CSR→MI 转化通道、制工具/菲林/工装管理口径(F01 必填项·发放回收对账颗粒度·菲林报废双单闭环·临时资料存放)、量化基线汇总、高频缺项自查清单、审核追问→证据、使用注意与分工。
  • 真实量产 MI 单范本(6 份:双面 / 四层 / 六层 / 八层 / 十二层 / 三十层二阶HDI):references/mi/
    → 要照版式生成、核对某道工序的标准参数写法、查工装孔清单时读这里
  • 版式与参数口径提炼(优先读)
  • references/mi/2026-09-15_提炼_真实MI版式与参数口径(5份实战归纳).md
    → 常规多层板:分叠构分段 / 钻咀勾稽 / 双利用率公式 / 参数按板类分档 / 异常值识别
  • references/mi/2026-09-15_提炼_三十层二阶HDI板参数口径.md
    → 高阶 HDI:3 次压合 / 层区间段标题 / 正片工艺 / 盖帽 / 镭射表命名 / 减铜 / 与常规板对照
  • 资料索引:references/_INDEX.md
  • MI 生成器(唯一入口):scripts/mi_pdf.py(matplotlib + SimHei,出 A4 纵向 PDF,版式常量为实测值)
    → MI 交付一律用该生成器出 PDF,禁止用 Excel 多 sheet 顶替;用法 python scripts/mi_pdf.py --out &lt;目录&gt;
    → 出完必须跑版式自检(见「PDF 交付模式」末条),越界归零才算交付
    → ⚠️ 脚本「内容数据区」写死读某个历史工作区的 _quote_result.json 绝对路径——换项目必改。
    新项目建议按项目另存一份生成器(如 &lt;项目&gt;/mi_&lt;客户&gt;.py)并把数据路径参数化,不要去改原脚本。
    → ⚠️ 输出文件被占用:目标 PDF 若被预览/Excel/WPS 句柄持有,PdfPages.savefig 最后一次落盘会
    PermissionError(读得到、写不了)。不要重试,直接将输出名改为 &lt;名&gt;_RevC.pdf 版本化交付。
  • 各层图纸输出器:scripts/layer_drawings.py(一层一页 / 不叠加 / 不镜像 / 黑白色)
    → 用法 python scripts/layer_drawings.py --dir &lt;gerber目录&gt; --model &lt;型号&gt; --out &lt;输出目录&gt; --date YYYYMMDD
    → 自建 RS-274X 与 Excellon 解析,不依赖 gerbonara;--drl-zeros trail(默认,PADS/Altium)| lead
    → 抽检命令:pymupdf 渲染后断言每页含 PAGE: n / N 且无彩色像素(|R-G|,|G-B|,|R-B| &gt; 12 计数为 0)
  • 早期 Excel 版脚本(gen_xxx_mi.py / _build_mi_v2.py,xlsxwriter)仅作数据整理中间件,不可直接交付
  • 中间结果:drill_data.json(drl 孔数/apertures/panel_total)

⚠️ 钻带坐标格式踩坑(PADS 导出,必读)

PADS 的 Gerber 头部:%FSLAX35Y35*%   → 3 整数 5 小数、前导零省略   → 直接 /1e5 正确
PADS 的 Excellon   :T1C.1F0S0 + X255502Y256205                     → ❌ 不是前导零省略!

Excellon 是「尾零省略」:整数位固定 3 位,整数部分写满后省掉小数末尾的零。解码必须用
int(s) * 10 ** (3 - len(s))。同一份钻带里数字长度会从 1 位混到 6 位(X2691 与 X255502 并存)。
- ❌ int(s)/1000 → X2691 变 2.691(错 100 倍),bbox 从 255~357 膨胀成 0~357(跨整板)
- ✅ int(s)*10**(3-len(s)) → X2691 变 269.1,bbox 回收成 255~357,与 Gerber 板框吻合
- 一票判据:算完钻带 bbox,若明显大于 Gerber 板框(本例 331×357)就是解错格式了;钻带 bbox 必须落在板框内且比板框略小(本例 75~76 × 100~102)。

⚠️ matplotlib 输出图纸的两个通用坑

  1. 图框与图形必须分两个 axes:同一 ax 里先按页面坐标画图框、再 set_xlim/set_ylim 到数据坐标 ⇒ 图框和标题栏被挤出可视区(整页只剩板子)。正确做法:页面 axes(add_axes([0,0,1,1]))+ 内嵌数据 axes(按页面 pt 位置换算成 figure 分数坐标)。
  2. 比例要反算:缩放比 k = pt_per_mm / (72/25.4),k&gt;1 写 k : 1(放大 k 倍),k&lt;1 写 1 : 1/k(缩小 1/k 倍)。别直接写"1:1"。72/25.4 = 2.8346 pt/mm 是 1:1 基准。

变更日志

> 历史版本记录已迁至 references/CHANGELOG.md(2026-10-16 减负)。
> 现行口径以本文件与 references/工序SOP与MI规则基线.md 为准。

免责声明

  • 本技能为通用工艺经验整理版,已去除企业内部客户名称、机种代号及受控文件原文,仅保留可公开的工艺规则与实战踩坑经验。
  • 文中钻孔参数表、钻咀寿命、锣程、叠构阻抗等数据仅供初步设计参考;正式生产前请结合贵厂受控文件(WI/SOP)复核关键参数。
  • 因工艺差异、参数疏漏或解读偏差导致的生产问题,本技能不承担责任;最终以工厂受控文件与工艺评审结论为准。

常见问题

5 问
答案由本站依据条目字段整理
PCB MI 工程师怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_4bf8256f/pcb-mi-engineer。安装方式为未标注。装完刷新技能列表或重开客户端。

PCB MI 工程师支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

PCB MI 工程师权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

PCB MI 工程师收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

PCB MI 工程师用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 2026-11-06。