缘由

当我最开始学电子学的时候,一个爱好就是手工制作 PCB。最初的两次制作让我非常兴奋,但后来就发现手工制作 PCB 的诸多不便之处,其中一个恼人的问题就是钻孔。如果孔太多,手工给 PCB 钻孔实在是太烦人了,于是就想,孔位就是一些坐标位置,完全可以用机械来完成,于是开始研究 G-code,突然又对 Gerber 文件产生了兴趣,于是花两天晚上读完了 “Gerber RS-274X Format User’s Guide”,觉得 RS-274X 设计得非常简单,而且功能强大。

边做边学

读着读着 Gerber 手册,我就抑制不住冲动,因为 Gerber 是人工可读的,那为何不一边读资料一边编写资料中的例子来加强理解呢?

如果我们手写 HTML 可以用 firefox 来进行预览,Gerber 文件也有相应的 viewer,比如 Gerbv,这样就可以知道自己写的文件是否存在问题。 Gerbv 是一个很好的工具,它可以把 Gerber 文件转换为 png, svg, pdf, ps 等格式,非常方便。

手工 hack 的 Gerber 文件及其显示的样子:

%FSLAX24Y24*%
%MOIN*%
%AMDONUT*1,1,$1,$2,$3*1,0,$4,$2,$3*%
%AMDONUT1*1,1,$1,$2,$3*$1=$2+0.030*1,0,$1-$4,$2,$3*%
%AMDONUT2*1,1,0.100X0X0*1,0,0.080X0X0*%
%AMTARGET*6,0,0,0.125,.01,0.01,3,0.003,0.150,45*%
%AMTHERMAL*7,0,0,0.080,0.055,0.0125,45*%
%KODX1000Y1000I1000J1000*%
%ADD10C,.05X0.025*%
%ADD11R,0.020X0.040X0.010*%
%ADD12O,0.020X0.040X0.010*%
%ADD13C,.05X0.025X0.025*%
%ADD14O,0.040X0.020X0.010X0.010*%
%ADD18TARGET*%
%ADD19THERMAL*%
%ADD32DONUT,0.100X0X0X0.080*%
%ADD33DONUT1,0.020X0X0X0.014*%
%ADD34DONUT2*%
%LPD*%
G54D10*
X1000Y1000D03*
G54D11*
X1500D03*
G54D12*
X2000D03*
G54D13*
X2500D03*
G54D14*
X3000D03*
G54D18*
G55X4000Y1000D03*
G54D19*
X3000Y2000D03*
G54D32*
X2000Y2000D03*
M02*

gerbv

图中十字叉还有个专门的名字,叫 Moiré pattern

阅读材料

  1. D-Codes, Apertures and Plot Files

  2. All About RS274X

  3. CircuitPeople - What is a Gerber File?