普通网友 2026-02-21 00:35 采纳率: 98.7%
浏览 5
已采纳

PAD转AD后开孔不显示:钻孔层未正确映射或NC Drill文件缺失

在将PADS设计文件导入Altium Designer(AD)过程中,常出现PCB上焊盘(PAD)对应的机械钻孔或过孔(via)在AD中不显示的问题。根本原因多为:① PADS导出的Gerber/Drill文件未包含完整的NC Drill(数控钻孔)数据,或未生成标准Excellon格式的.drill/.txt钻孔文件;② AD导入时未正确映射钻孔层(如“Mechanical 1”误设为非钻孔层),或未在“PCB Importer”中勾选“Import Drill Files”;③ PADS中钻孔信息仅隐含于焊盘属性(如Hole Size),但未生成独立钻孔图层,导致AD无法识别。该问题易被误判为焊盘缺失,实则钻孔定义丢失,直接影响后续CAM输出与PCB加工。建议导出前在PADS中执行“File → Export → NC Drill”,并核对AD的“Import Options”中Drill Layer Mapping是否指向有效机械层。
  • 写回答

1条回答 默认 最新

  • 揭假求真 2026-02-21 00:35
    关注
    ```html

    一、现象层:AD中焊盘存在但钻孔“凭空消失”

    典型表现为:导入PADS设计后,PCB视图中所有焊盘(SMD/TH)图形正常显示,但机械钻孔(PTH通孔、插件孔)及过孔(Via)无任何钻孔符号(如十字叉、圆环轮廓)、无Drill Drawing层内容,DRC不报错,但View → Board Insight → Drill Table为空,CAM预览中缺失钻孔层——这并非焊盘丢失,而是钻孔定义未被AD识别。

    二、数据流层:PADS→AD钻孔信息传递的断裂点

    • 导出侧断裂:PADS默认导出Gerber时不自动包含NC Drill文件;若未手动执行File → Export → NC Drill,则仅生成.gbr而缺失.drl/.txt(Excellon标准格式)
    • 格式侧断裂:PADS导出的.drill若为非标准Excellon(如含自定义头注释、单位混用mm/mil、缺少M48起始指令),AD解析失败且静默跳过
    • 映射侧断裂:AD将Mechanical Layers(如Mech 1–16)视为通用层,需显式指定某层为“Drill Drawing”或“Drill Guide”,否则即使文件存在也不渲染钻孔

    三、配置层:Altium Designer关键导入参数验证表

    配置项正确值错误示例验证方式
    Import Drill Files✅ 勾选❌ 未勾选(默认常关闭)PCB Importer对话框 > Options页签
    Drill Layer MappingMechanical 1 → Drill DrawingMechanical 1 → Non-Drill LayerImport Options > Drill Layers页签
    Drill File FormatExcellon (2.0) / ASCIICustom PADS-Internal / Binary右键Drill文件 > Properties

    四、根因层:三类技术性断链的深度归因

    1. 隐式定义陷阱:PADS中焊盘Hole Size=0.8mm仅定义“孔径”,但未生成独立钻孔图层(Drill Drawing),AD无法从焊盘属性反向推导物理钻孔位置与尺寸,必须依赖外部.drill文件
    2. 层语义失配:PADS的“Drill Drawing”层在导出Gerber时可能映射到AD的Mechanical 1,但AD默认不将Mechanical层视为钻孔层,需人工重映射
    3. 工具链盲区:部分PADS版本(如X2以上)导出NC Drill时若未勾选Generate Drill DrawingOutput Excellon Format,输出文件实为无效占位符

    五、验证层:结构化排错流程图

    flowchart TD A[导入PADS设计] --> B{AD中Drill Table是否为空?} B -->|是| C[检查Import Options中Import Drill Files是否勾选] C --> D{.drl/.txt文件是否存在?} D -->|否| E[返回PADS执行File → Export → NC Drill] D -->|是| F[用文本编辑器打开.drl,验证首行含M48/INCH/UNIT等Excellon标识] F --> G{是否含标准Excellon语法?} G -->|否| H[用PADS重新导出,勾选Excellon 2.0 & Generate Drill Drawing] G -->|是| I[进入Import Options > Drill Layers,将对应Mech层设为Drill Drawing] I --> J[重新导入并刷新视图]

    六、实践层:PADS端强制保障钻孔导出的黄金操作

    1. 在PADS Layout中:Tools → Options → Drafting → Drill Display → ✅ Show Drill Symbols
    2. 执行:File → Export → NC Drill → 弹出对话框:
    • ✅ Output Excellon Format
    • ✅ Generate Drill Drawing
    • ✅ Include Tool List
    • Unit: Inches/Mils(与PCB单位一致)
    3. 输出路径下确认生成:project_name.drl + project_name.txt + project_name.lst

    七、进阶层:AD中钻孔层的动态重映射脚本(Python API片段)

    适用于批量处理场景,通过Altium Designer Scripting API自动修正映射:

    // AD Script (.pas) 示例:强制将Mechanical 1设为Drill Drawing层
    procedure FixDrillLayerMapping;
    begin
    PCBServer.SendMessage(0, 'PCB:Zoom', '', 0, 0);
    PCBServer.SendMessage(0, 'PCB:ConfigureLayers', 'Layer=1;Type=DrillDrawing', 0, 0);
    ShowMessage('Mechanical 1 now mapped to Drill Drawing');
    end;

    八、交付层:CAM输出前必检清单

    • ✅ 在AD中运行Reports → Drill Report,确认孔数、孔径、坐标与PADS原始BOM一致
    • ✅ 切换至Drill Drawing层,全屏缩放验证所有钻孔符号可见(非仅焊盘轮廓)
    • ✅ 使用File → Fabrication Outputs → NC Drill Files重新生成AD原生.drill,对比PADS源文件差异
    • ✅ 将AD生成的Gerber+Drill包提交给板厂前,用GC-Prevue或CAM350加载验证钻孔层完整性

    九、演进层:跨平台协同设计的长期建议

    对于高频PADS↔AD协作团队,建议建立标准化工作流:① 统一使用IPC-2581替代Gerber/Drill作为中间交换格式(天然携带钻孔元数据);② 在PADS中启用Export → IPC-2581,AD直接File → Import → IPC-2581,规避所有层映射与格式解析风险;③ 将NC Drill导出步骤固化为PADS Design Rule Check(DRC)后置动作,通过脚本自动触发。

    十、认知层:为什么老工程师总说“钻孔不是画出来的,是定义出来的”

    本质在于:焊盘(Pad)是几何图形,钻孔(Drill)是制造指令。Gerber描述“哪里铺铜”,而NC Drill定义“哪里打孔、用多大钻头、钻多深”。二者在EDA中属于不同抽象层级——忽略此分层,即陷入“图形可见=制造可用”的致命幻觉。这也是为何IPC标准严格区分Gerber RS-274X与Excellon钻孔规范的根本原因。

    ```
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 2月22日
  • 创建了问题 2月21日