[PCB设计] 4、BAT脚本处理AD生成的GERBER文件为生产文件

简介:

 

1、生产资料概述

为了资料保密和传输方便,交给PCB厂商打样的资料一般以Gerber和钻孔文件为主,换句话说,只要有前面说的两种文件,就能制作出你想要的PCB了。

一般来说,交给PCB厂商的Gerber有以下几层:

  • GTO(Top Overlay, 顶层丝印层,常见的白油)
  • GTS(Top Solder,顶层阻焊层,常见的绿油)
  • GTL (Top Layer,顶层走线层)
  • Gx (中间信号层,x为层数)
  • GBL (Bottom Layer, 底层走线层)
  • GBS (Bottom Solder,底层阻焊层)
  • GBO (Bottom Overlay, 底层丝印层)
  • GMx (Mechanical x, 机械层,用来定义板边。部分人喜欢用GKO(Keep-Out Layer)来定义板边)

因此,交给厂家的Gerber资料一共有(7+x)个,其中x为中间信号层的数量,比如你的PCB是双面板,那么你的Gerber文件就有(7+0)个;假如你的是4层板,那么你的Gerber文件就有(7+2)个。

在Altium Designer 中钻孔文件为文本格式(txt),它一般有1~2个文件(非正圆的孔会单独放在一个文件)

注:thanks for http://www.cnblogs.com/mr-bike/archive/2014/01/17/3524222.html

 

2、AD导出GERBER等生产资料

导出Gerber文件的过程如下:

以我的双面板为例,GERBER有:

它们分别是底层走线层GBL,底层丝印层GBO,底层阻焊层GBS,板框层GKO,顶层走线层GTL,顶层丝印层GTO,顶层组焊层GTS。  

注:   
1. 其中组焊层标志的地方为不需要刮绿油,未标志地方为需要刮绿油。
2. 其中GM1、GM13、GM15是AD中元件的3D建模相关 
3. 其中Status Report.Txt为状态报告、*.EXTREP:是一个额外补充的文件、*.RUL:包含了你的PCB涉及约束规则项目、*.APR_LIB:是产生的嵌入式光圈(RX274X)文件,和生产PCB关系不大
4.其中GD1 是钻孔图,是焊盘及过孔的钻孔孔径尺寸描述层、GG1 DRILL GUIDE(钻孔定位层),是焊盘及过孔的钻孔的中心定位坐标层、APR 是钻孔数据,和生产PCB关系不大

 

导出NC DRILL(钻孔)如下:

下图为此次操作生成的文件:

其中我们需要的钻孔文件为XCASE_CUBE_PIN.TXT文件,该文件包含钻孔类型及坐标。其中DRR规定钻的类型,TXT规定每个孔的位置及需要用的钻,这个才是需要交给PCB场的生产资料。

 

钢网文件:

把GERBER和钻孔文件交给PCB场就能生产出PCB,与此同时还应该把钢网生产出来,最终将PCB板、钢网、元器件、SMT和组装资料给OEM厂(例如:富士康)就能进行进一步生产组装了。

钢网是为了给PCB上锡膏用的一种需定制的工具:

如果你制作的PCB有两面有贴片元件,则需要用刚刚导出的*.GBP(底层锡膏层)和*.GTP(顶层锡膏层)文件,如果仅有一面贴贴片元件,则选择相应的锡膏层。以我的案子为例,仅仅需要底层锡膏层GBP来生产钢网。

 

3、用脚本自动处理导出文件为生产资料

在产品没有固化前,PCB经常会有小改动,因此制作一个自动化的脚本用来整理AD导出的文件是个不错的选择。

综上,我们需要提取GERBER文件、钻孔文件和钢网文件。

其中GERBER文件和钻孔文件打包给PCB生产厂家,钢网给钢网生产厂家。

复制代码
@echo off

rem Status Report.Txt为状态报告
rem *.EXTREP:是一个额外补充的文件,没用的,不用管,删了
rem *.RUL:包含了你的PCB涉及约束规则项目,与GERBER生产PCB没关系,删了
rem *.APR_LIB:是产生的嵌入式光圈(RX274X)文件,还有APT,是未设置为嵌入式光圈,也可以删了
del  "Status Report.Txt" "XCASE_CUBE_PIN.EXTREP" *.RUL *.APR_LIB *.REP

rem GM1、GM13、GM15是AD中元件的3D建模相关,无用删除        
del *.GM1 *.GM13 *.GM15                            

rem 底层走线层GBL,底层丝印层GBO,底层阻焊层GBS,板框层GKO,顶层走线层GTL,顶层丝印层GTO,顶层组焊层GTS                
md GERBER                                
move *.GBL GERBER
move *.GBO GERBER
move *.GBS GERBER 
move *.GKO GERBER 
move *.GTL GERBER
move *.GTO GERBER
move *.GTS GERBER

rem 提取钻孔层
rem GD1 是钻孔图,指明用何种钻头,指明钻何种孔,焊盘及过孔的钻孔孔径尺寸描述层。
rem GG1 DRILL GUIDE(钻孔定位层):焊盘及过孔的钻孔的中心定位坐标层。
rem APR 是钻孔数据
rem 上面几个图层在生产电路板时无用,而需要NC DRILL导出的.DRR和.TXT文件
rem DRR规定钻的类型,TXT规定每个孔的位置及需要用的钻
md 钻孔
del *.GD1 *.GG1 *.apr
move *.DRR 钻孔
move *.TXT 钻孔
del *.LDP

rem 提取钢网文件,底层锡膏层(我的所有元件均在底层,因此删除了顶层锡膏层)
md 钢网                                    
move *.GBP 钢网
del  *.GTP

rem 删除顶层主焊盘.GPT和底层主焊盘.GPB 
del  *.GPT *.GPB                        
      
复制代码

该脚本为windows上的BAT脚本,命名为run.bat,放在文件夹..../Project Outputs for XCASE_CUBE(工程名)中。

脚本中首先删除一些生成报告、约束规则、光圈等文件;然后删除GM1、GM13、GM15等文件(这些文件我没有用到,之所以会生成是因为元件的3D模型用到了这些层);然后将GBL、GTL、GBO、GTO、GBS、GTS、GKO移动到GERBER文件夹;然后删除随导出GERBER而产生的钻孔图层,并将生产需要的钻孔数据移动到钻孔文件夹中;然后提取钢网文件到钢网文件夹;最后删除顶层和底层主焊盘文件(未用到生产)。


本文转自beautifulzzzz博客园博客,原文链接:http://www.cnblogs.com/zjutlitao/p/6297990.html,如需转载请自行联系原作者

 

相关文章
|
3月前
QT 软件打包为一个单独可执行.exe文件流程
QT 软件打包为一个单独可执行.exe文件流程
537 0
|
数据库
Allegro自动备份PCB设计文件的方法
受到误删原理图的影响,立刻把PCB的自动备份功能设置一下。和原理图备份不一样的是PCB备份文件和源文件的格式相同,只是名称不一样,这个名称是自己设置的。步骤如下: 点击“Setup”->“User Preferences”,弹出“User Preferences Editor”窗口。如下图所示:
282 0
|
API 索引 Windows
【滴水逆向P77】加载进程(PE查看器)应用程序源码解析(下)
【滴水逆向P77】加载进程(PE查看器)应用程序源码解析
|
存储 数据可视化 BI
【滴水逆向P77】加载进程(PE查看器)应用程序源码解析(上)
【滴水逆向P77】加载进程(PE查看器)应用程序源码解析
|
开发工具 内存技术
zynq程序固化补充篇: 不切换启动模式强制烧写
使用SDK2018.2第一次进行烧写 Flash,在qspi模式下会报错,只有切换至jtag模式下才可以进行烧录,后续的再次烧录不会出现类似问题。但是调试的时候必须切回jtag模式(将BOOT MODE 5拉低才可以调试)
2086 1
zynq程序固化补充篇: 不切换启动模式强制烧写
|
存储 搜索推荐 小程序
Linux启动流程分析
Linux启动流程分析
Linux启动流程分析
|
Windows
CCS6.x工程项目便于移植的相对路径设置
刚开始接触嵌入式软件设计,只能从基础一步一步的来。本想着专门写一篇CCS的安装教程的,后来发现其他博客上都有介绍的,然后也都比较详细,参考:https://blog.csdn.net/sunshinefcx/article/details/80640240等等
542 0
|
Linux
12.15 Linux查看当前终端放入后台的工作(jobs命令)
jobs 命令可以用来查看当前终端放入后台的工作,工作管理的名字也来源于 jobs 命令。
233 0
12.15 Linux查看当前终端放入后台的工作(jobs命令)
|
开发工具 Android开发
【错误记录】OD 调试器附加进程时找不到进程 ( CE 工具可以附加进程 )
【错误记录】OD 调试器附加进程时找不到进程 ( CE 工具可以附加进程 )
931 0
【错误记录】OD 调试器附加进程时找不到进程 ( CE 工具可以附加进程 )