[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://blog.beautifulzzzz.com
园友交流群:
[PCB设计] 4、BAT脚本处理AD生成的GERBER文件为生产文件的更多相关文章
- BAT脚本每隔30秒创建一个512兆文件(测试磁盘监控用)
@echo offsetlocal ENABLEDELAYEDEXPANSIONset /a ii=0 for /l %%i in (1,1,100) do (set /a ii+=1ping -n ...
- 基于bat脚本的前端发布流程设计与实现
写在前面 本文大致向读者介绍了楼下几点知识,希望在编写bat脚本时候能够帮到读者,如果能够有所启迪,那就更好了. bat脚本的相关知识和案例编写 用windows自带的命令压缩文件 windows和l ...
- bat脚本基本命令和格式
bat脚本 --莫非 BAT脚本与shell脚本区别 Shell脚本使用Linux/Unix下的命令,一般文件开头以#号来告诉系统这个脚本需要什么解释器来执行(如:#!/bin/bash采用bash而 ...
- cmd命令,bat脚本
1.cd /d D:\>cd mysql D:\mysql>cd /d C:/TEMP C:\Temp>cd /? 显示当前目录名或改变当前目录. CHDIR [/D] [drive ...
- [PCB设计] 2、畸形PCB板子的制作核心——AD14导入dwg格式文件的方法
本文参考园友:The Zone of up.Craftor http://www.cnblogs.com/craftor/archive/2012/06/28/2567259.html 硬件工程师在做 ...
- .bat脚本基本命令语法
目录批处理的常见命令(未列举的命令还比较多,请查阅帮助信息) 1.REM 和 :: 2.ECHO 和 @ 3.PAUSE 4.ERRORLEVEL 5.TITL ...
- .bat脚本基本命令语法 http://www.cnblogs.com/iTlijun/p/6137027.html
这个是我找到的非常好的一篇文章了: 目录批处理的常见命令(未列举的命令还比较多,请查阅帮助信息) 1.REM 和 :: 2.ECHO 和 @ 3.PAUSE 4.ERR ...
- 批处理(.bat脚本)基本命令语法
.bat脚本基本命令语法 目录批处理的常见命令(未列举的命令还比较多,请查阅帮助信息) 1.REM 和 :: 2.ECHO 和 @ 3.PAUSE 4.ERRORL ...
- bat脚本的基本命令语法
bat脚本的基本命令语法 一.批处理的常见命令 1.REM 和 :: 2.ECHO 和 @ 3.PAUSE 4.ERRORLEVEL 5.TITLE 6.COL ...
随机推荐
- 如何打开USB OTG功能:
一.检查HW原理图,确认是否支持OTG功能(vbus是否供上电,IDDIG pin连接是否正确)二.若HW确认支持OTG功能,则按照以下方法分别打开USB OTG功能及实现挂载: 如何打开USB OT ...
- download plugin update site for offline installation
Reference Eclipse Launcher Running update manager from command line 好多次为window下的eclipse不能拿到linux下直 ...
- 用css、html编写一个两列布局的网页,名称为css.html ,要求左侧宽度为200px ,右侧自动扩展
<body><div style=" float:left; width:200px; height:300px; border: 1px #0033FF solid;&q ...
- 【HighCharts系列教程】四、颜色属性——colors
一.Colors属性说明 配置Colors,可以自定义数据列的颜色. 默认下colors就包含一系列颜色,在个性化或需要调整颜色的顺序下,我们可以配置该属性. 二.colors属性详解 Colors属 ...
- Scratch2.0例—接苹果
Scratch2.0例—接苹果 [教学目标] 1. 学习例子,能用和构造条件 ,并把此条件插入到 中:能理解和应用,当条件成立时,不执行积木内的脚本. 2. 对比和 两个积木:前者用于无条件的重复执行 ...
- 省市区三级联动插件:app-jquery-cityselect.js
(function ($) { $.fn.cityselect = function (options) { var settings = $.extend ({}, options); this.e ...
- IBATIS事务处理 - - 博客频道 - CSDN.NET
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
- 关于cin的用法一些小结
在写二叉树的时候遇到if(!cin)那几个标志位弄得并不清楚,还遇到了诸如cin.clear()等函数,感觉C++又白学了,于是打算去网上搜了几篇靠谱的文章,有时候看来,一些事件处理类的工程代码,在A ...
- VS2010环境下用ANSI C创建DLL和使用方法(转)
源:VS2010环境下用ANSI C创建DLL和使用方法 . 创建DLL工程 1.2 创建一个dll工程. 操作:a.文件->新建->项目->Win32控制台应用程序. b.输入工程 ...
- win8.1远程连接Redis数据库
环境:redis安装在虚拟机Centos6.5系统上 通过java远程连接 问题一:报错 connected refused redis.conf 注释掉 #bind 127.0.0.1 问题二:还是 ...