最近公司准备做pcb板缺陷检测,首先要用C++解析GerBer文件,我尝试了使用pcb-tools库:https://github.com/curtacircuitos/pcb-tools。完美配置了环境,接下来就是学习一些Kicad制作GerBer文件的规则解析对应Gerber文件。有个问题不太清楚:.GBL文件和.gbl文件是不是一个东西?
GERBER FILE 目前常见到的有二种格式 RS-274D 及 RS-274X . 在CAM软件中,这二种格式都有支援,这二种格式的最大分别,在于RS-274X 内含了APERTURE CODE , 也就是我们习惯称的 D-CODE . 以下是二种格式的档案范例,这二个范例的观察重点在于 RS274X中包含了由 % 符号所定义的一些衍生资料.这些衍生资料的含义您可参考 RS-274X 的技术资料.
因为RS-274X有衍生资料,所以当CAM程式在读取RS-274X格式的GERBER(底片) 档时,不需要设定APERTURE(镜头) 档的来源,以及其数字格式(2.3, 2.4 … and Trailing and Leading ….) , CAM 程式会自动去分析这些档头资料,根据这些资料自动调整。
但是如果你的档案来源是 RS-274D的格式,那么在读档时,除了GERBER(底片)档外,您还需要去设定APERTURE (镜头)档,而GERBER的数字格式,也必须指定给CAM ,否则 CAM 会不认识您档案的数字格式,而造成读出的图型过大或过小,尺寸完全不对。
如图,PCB Tool貌似目前只支持RS-274X格式的Gerber文件解析:
PCB制造输出中各种后缀的GerBer文件说明
顶层/底层线路层(.GTL/.GBL)
顶层/底层丝印层(GTO/.GBO)
顶层/底层锡膏层(GTP/.GBP)
顶层/底层阻焊层(GTS/.GBS)
顶层/底层焊盘层(GPT/.GPB)
机械1层(.GM1)
钻孔层(.GD1)
钻孔引导层(.GG1)
更多总结(来自百度文库)
顶层/底层线路层(.GTL/.GBL)
此层是底层走线,按照嘉立创说法:贴片层与线路层的焊盘点跟实物PCB裸铜的焊盘点的大小是一致的。这是开孔大小的依据(必须要的层)。
顶层/底层丝印层(GTO/.GBO)
此层是底层丝印,按照嘉立创说法:丝印层可以分清某个焊盘是什么元件,某几个焊盘点才是一个整体的元件,才能做出处理方法(例:封装0805与二极管,外表焊盘看起来是一样的,但0805是需要做防锡珠处理而二极管不用,所以如果不提供丝印层则分辨不出。不提供丝印层或者是没有,提供PDF丝印图也可以,如果还没有,那订单将不能做任何常规修改,因为工程分不清楚)。
顶层/底层锡膏层(GTP/.GBP)
此层是底层锡膏层,也就是要喷锡和刷锡膏的地方。同时也是钢网层,钢网是在焊点较多时用于快速准确地刷锡膏,提升工作效率的工具,其原理就是在需要刷锡膏的位置上开孔。
顶层/底层阻焊层(GTS/.GBS)
阻焊层(solder mask layer),用于指明不需要盖绿油(防焊)的地方,一般也就是需要进行焊接的地方,此层是开窗/盖油的依据。按照嘉立创说法:阻焊层能清楚的知道焊盘点在哪个位置,也因为阻焊设计得比实际的焊盘点大,所以单用阻焊层是开不了钢网(有些客户会说在当地的钢网厂做不提供线路层,用阻焊层就可以做,是因为他们有实物板提供,只针对些不精密的PCB),所以阻焊层只能当作开孔位置的参照层。
顶层/底层焊盘层(GPT/.GPB)
此层指出PCB中的所有焊盘,无论焊盘是开窗/盖油、是否设置开钢网,都不影响此层的输出,只要是有焊盘属性的就会在此层显示出来。
机械1层(.GM1)
一般使用机械1层或者禁止布线层作为PCB的板框层,跟板厂说明即可。
钻孔层(.GD1)
PCB中需要钻孔的地方,标注有各种类型的孔,钻孔层是可以知道某个焊盘是插件类,某个地方有过孔,这样才能避开防止不必要的孔位开出,防止刷锡时锡漏到另一面。
钻孔引导层(.GG1)
一般用于手工钻孔。
更多总结(来自百度文库)
GTL—toplayer 顶层
GBL—bottomlayer 底层
GTO—TopOverlay 顶层丝印层
GBO—Bottomlayer 底层丝印层
GTP—TopPaste 顶层表贴(做激光模板用)
GBP—BottomPaste 底层表贴
GTS—Topsolder 顶层阻焊(也叫防锡层/绿油,负片)
GBS—BottomSolder 底层阻焊
G1—Midlayer1 内部走线层1
G2—Midayerr2 内部走线层2
GP1—InternalPlane1 内平面1(负片)
GP2—InternalPlane2 内平面2(负片) …
GM1—Mechanical1 机械层1
GM2—Mechanical2 机械层2 …
GKO—KeepOuter 禁止布线层
GG1—DrillGuide 钻孔引导层
GD1—DrillDrawing 钻孔图层
GPT—Top pad Master 顶层主焊盘
GPB—Bottom pad Master 底层主焊盘