現在デザイン中の基板がいくつかあるのですが、試しにEzPCBにオーダーしてみようかと思っています。EzPCBの場合には、OLIMEXとルールが異なり、最小のオーダーで「100mm x 100mmの5枚でUS$50」という目安があるようです。ボードのサイズがこれよりも小さい場合にも受け付けてはくれますが、無駄が大きくなり、結果としてコストが高くなってしまいます。これを防ぐためには、最小サイズである100mm x 100mmにうまく収まるようにpanelizeすればよいようです。
しかし、panelizeの作業自体は、EAGLE単体で行うのはちょっと面倒です。panelize.ulpというスクリプトを使って処理してからカット&ペースト、という方法もありますが、これはベタグランドを作っている場合にはうまくいかないようです。これは困ったと思っていろいろ調べてみると、GerbMergeというツールがあることを知りました。
GerbMergeはAndrew Sterian氏が作成&配布しているツールで、Pythonのスクリプトです。利用するためにはいくつか準備が必要です。
- Pythonをインストール(v2.4.3をインストールしました)
- SimpleParseをインストール(v2.1.0をインストールしました)
- GerbMergeをインストール(v1.1をインストールしました)
以上でインストールは終わります。インストールが終わったら、サンプルの設定ファイルを参考に設定ファイル(.cfg)を作成します。
次に、EAGLEからドリルデータおよびガーバーデータを書き出します。ドリルデータは、run drillcfg;でドリルラックファイルを作成した後、excellon.camを実行するだけです。次に、ガーバーデータを書き出します。ガーバーデータの書き出しは、標準パッケージに含まれているgerb274x.camに手を加えてもいいのですが(はんだ面のMirrorオプションを外す)、シルクのはんだ面がないのと、時間が経つと忘れてしまいそうな気がしたため、専用の.camファイルを作りました。
このCAMファイルを実行して必要なファイルを書き出したら、いよいよGerbMergeでガーバーファイルをマージします。GerbMergeはコマンドラインツールですので、コマンドプロンプトからコマンドを入力して実行します。今回は自動配置にしましたので、書き出したガーバーファイルや.cfgファイルがあるのと同じディレクトリに移動した後、次のような感じで実行するだけです。
c:\Python24\python c:\Python24\Lib\site-packages\gerbmerge\gerbmerge.py layout.cfg
後は、次のように確認画面が表示されますので、確認した後「y」に続けて「enter」キーを押せば、処理が始まります。処理が始まると、最適な配置を見つけるべく次々と試行が行われますので、適当なところでctrl+cで停止します。停止すると、そのときの結果がファイルに出力されます。
出力された結果を確認するにはガーバビューワを使います。フリーで利用できるものにはGraphiCodeのGC-PrevueやPentaLogixのViewMateがあります。両方で確認してみましたが、きちんと出力されているらしいことが確認できました。実際にこれで大丈夫かどうかはEzPCBに出してみないと分かりません。果たしてどうなるのか楽しみです。:)
なお、ViewMateに関してはDrill / Rackのデータを読み込む際、標準の設定からオプションを変更する必要がありました。これをきちんと設定しないと異常に大きなサイズとして読み込まれてしまうことがありますので要注意です。





コメント