Gerber to G-code 変換ソフトウェア pcb2gcode の紹介と Tips

pcb2gcode とは

pcb2gcode is a command-line software for the isolation, routing and drilling of PCBs. It takes Gerber files as input and it outputs gcode files, suitable for the milling of PCBs. It also includes an Autoleveller, useful for the automatic dynamic calibration of the milling depth.

pcb2gcodeGUI, the official GUI for pcb2gcode, is available here.

If you find this project useful, consider donating money to charity.

GitHub - pcb2gcode/pcb2gcode: Command-line tool for isolation, routing and drilling of PCBs より引用

pcb2gcodeは、PCBの分離、ルーティング、および穴あけのためのコマンドラインソフトウェアです。ガーバーファイルを入力として受け取り、PCBのミリングに適したgcodeファイルを出力します。また、ミリング深さの自動動的キャリブレーションに役立つオートレベラーも含まれています。

pcb2gcodeの公式GUIであるpcb2gcodeGUIは、こちらから入手できます。

このプロジェクトが役に立ったら、慈善団体に寄付することを検討してください。(Google 翻訳)

紹介者からひとこと
RepRap さんの Wiki にもありましたが、pcb2gcode と名乗りつつも、受け取るのは gerber データです。

ライセンス:GPLv3

リンク

公式サイト

ダウンロード

pcb2gcode
pcb2gcodeGUI

※ Windows で pcb2gcodeGUI の最新版を使いたい場合、 MSYS2 環境でソースからコンパイルする必要があります。

Insolante(WebベースのUI)

ngargaud/insolante | Docker Hub

ngargaud/insolante Tags | Docker Hub

詳細

基本的な使い方

docker run --rm -p <published_port>:5000 -d (-e URL=<url_without_port>) (-e RPORT=<published_port>) (-e DEBUG=true|false) (-v /mnt/data:/opt/core/data) ngargaud/insolante

※ 試した時点では ngargaud/insolante:latestngargaud/insolante:1.1.0-beta を指定していました。最新版を使う場合、イメージの指定で ngargaud/insolante:1.4.1-x64 等とします。

Service port protocol exposed
insolante 5000 http yes

終了はコマンドラインから、docker run -a でコンテナ ID を取得後、docker kill "コンテナ ID"(必要に応じて docker rm "コンテナ ID")とします。

パラメータ

Parameter Values Description
URL external url Used by websockets to keep the connection
RPORT published port Used when the exposed port is not the default one
DEBUG false Used on server side to log some informations

パラメータ適用例

例えばアドレスをホストの 8080 番ポートに、ホストの /tmp/insolante をイメージの /opt/core/data にそれぞれ割り当てる場合は以下のように行います。※ /opt/core/data をホスト側ディレクトリにマウントした場合、パスワード等の設定やプロジェクトファイルを Docker イメージの破棄・再生成後も引き継げました。アクセスはブラウザから(以下の例の場合アドレスは http://localhost:8080/)。

docker run --rm -p 8080:5000 -d -v /tmp/insolante:/opt/core/data ngargaud/insolante:1.4.1-x64

デバッグ出力を得る場合、例えば以下のように。

docker run --rm -p 8080:5000 -e DEBUG=true ngargaud/insolante:1.4.1-x64

参考文献
ngargaud/insolante | Docker Hub
Docker run リファレンス — Docker-docs-ja 20.10 ドキュメント
docker run で動かしたプロセスの停止方法 - Qiita
dockerコマンドチートシート - Qiita

※ 手元の Slackware 14.2 x64 ではどういうわけか Insolante にガーバーデータを読ませようとするとそこから先に進めませんでした。後日他の OS/ディストリビューション で試してみます。

ドキュメント

チュートリアル/ワークフロー

コミュニティ

OSHW との関係

プリント基板作成時に利用。KiCad からのガーバーデータの CNC 向け G-code への変換に。

他の OSS の Gerber to G-code 変換ソフトウェア(CAM ソフトウェア)

FlatCAM: PCB Prototyping CAD/CAM
http://flatcam.org/

おわりに

「こんな使い方を知っているよ」「このチュートリアルわかりやすいよ」といった情報をご存知でしたら本トピックへの返信や別トピで紹介頂けると幸いです。

※ ガイドラインから逸脱する投稿を推奨するものではありません。

OSHW日本語コミュニティガイドライン

Tips:UV レーザー(紫外線レーザー)による PCB 加工

低価格高出力の紫外線レーザー発振器が市販されるようになったら試してみたい技法です。

Insolante の説明文に

I use this project to engrave my PCB with my 3D printer equipped with a UV laser installed in the extrusion head.

私はこのプロジェクトを使用して、押し出しヘッドに取り付けられたUVレーザーを備えた3DプリンターでPCBを彫刻します。(Google 翻訳)

とあったので紫外線レーザーについてググってみました。なんか凄そう。あと高そう :sweat_smile:

Web の記事

Industrial Laser Solutions Japan 過去記事PDF | e.x.press
http://ex-press.jp/ilsj/ilsj-backnumber/ilsj-bn-archives/

UVレーザによるプリント回路基板の加工 シェーン・スタフォード / Industrial Laser Solutions Japan 2014年9月号
http://ex-press.jp/wp-content/uploads/2014/10/ILSJ-1409-16-19.pdf

UVレーザー加工|アダマンド並木精密宝石株式会社
https://www.ad-na.com/product/jewel/technology/uv-laser.html

UVレーザー加工応用 | 技術情報 | フィジカルフォトン株式会社

市販品

アマゾンには 5W の UV レーザー刻印機が $10,000 程度で出てました。100万円。

5W UV Laser Engraver UV Laser Marking Machine with S&A Chiller 110mm Lens and 80mm Rotary

青色レーザー(青紫色レーザー)

高出力紫外線レーザーの安いものを見つけられなかったので、代わりに近隣の波長の青色(青紫色)レーザーを Amazon で検索してみました。

光で金属を直接削るのは反射が恐いので、そのあたりも一工夫必要と思います。加えて、実際に基盤を上手く削れるかどうかは出力及び金属層の厚さ次第かと。

445nm 450nm 4000mW 4W青色ドットレーザーモジュール12V用DIY CNCカッター彫刻 クラス2

同じ出品者(Top Lasers)から保護眼鏡。

Amazon | 紫色レーザー保護ゴーグル安全メガネレーザーアイプロテクション目の保護 | 保護メガネ | 産業・研究開発用品 通販

既存のものでは、恐らく青色レーザー(青紫色レーザー)を使っているプロダクトとして以下を見つけました。こちらは約 $400、4万円ちょい。
出力は 5W 、金属に対しては刻印は可能でも切断は不可能との表記です。