当我最开始学电子学的时候,一个爱好就是手工制作 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*
图中十字叉还有个专门的名字,叫 Moiré pattern。