遊舎工房に発注するアクリルカットデータをKiCADとInkscapeで作成する
自作キーボードを設計する人間向けの記事になります。
目的
遊舎工房の通販には、カットデータを指定してアクリルをレーザーカットしてもらうサービスがあります。
カットデータは以下のフォーマットに対応しています。
-
.ai/ Adobe Illustrator -
.afdesign/ Affinity Designer 2 (1は非対応) .svg
このうち.svgのみが無料のソフトウェアで作成できます。
そこで、自作キーボード設計者であれば使い慣れているであろうKiCAD EDAと、言わずと知れた無料ベクタドローソフトInkscapeの組み合わせでちゃちゃっと入稿用データを作ろう、というのが目的になります。
注意事項
この記事の記述は2024/05/31時点のレーザー加工サービスルールに基づいたものです。
また、確実に・きれいなカットができるデータをお約束するものではありません。
ご自身の手でルールや出力前のデータをチェックし、問題ないことを確認して発注してください。
手順
0. KiCADでのデータ準備
KiCADでカットしたい形状を作成します。レイヤーを一つにまとめておくとわかりやすくて楽です。

自分の場合、外形線が基板と同じでよい場合のみEdge.Cutsを併用し、それ以外はすべてUser.1レイヤーにまとめています。
スイッチプレートや基板裏のフォームなどを作成する場合、スイッチやスタビライザーなど部品のフットプリントにカット用の線を仕込んでおくことで楽にデータ作成が可能になります。

1. KiCADから.svgファイルをエクスポート
ファイル > エクスポート > SVGを選択します。

必要なレイヤーのみを選択し、エクスポートします。

2. Inkscapeで.svgファイルをインポート
レーザー加工サービスルール - 入稿形式についてから、Inkscape用のテンプレート(ダウンロードリンク先、Inkscape > アクリル > Laser_<サイズ>_template_inkscape.svg)をダウンロードします。

テンプレートファイルをInkscapeで開き、File > Inportから1.で出力した.svgファイルをインポートします。


インポートした画像の位置を調節しておきます。
この後の作業でオブジェクトがばらばらになるので、選択漏れの事故を防ぐ意味でもこのタイミングで完全に調節しておくことをお勧めします。

3. グループ化を解除
KiCADからエクスポートされたsvgは不思議なグループ化をされている[1]ので、いったんすべて解除します。
インポートしたオブジェクト全体を選択し、Ctrl+Shift+Gでグループ化を解除します。複数段のグループになっているので全解除されるまで連打しましょう。

線一本だけを選択できる状態になればOKです。

4. パスの端点を結合
インポートしたオブジェクト全体を選択してから、Edit path by nodesモードにします。
パスの端点を表す灰色のダイヤモンドが大量に表示されるはずです。

この状態でCtrl+Aによる全選択をするとダイヤモンドが見えなくなり、すべての端点を選択できます。

Join selected nodesを選択し、端点をすべて結合します。

結合されるべき端点が青(重なる部分が黄色)のダイヤモンドで表示されるようになればOKです。

5. レイヤーを分ける
カット順を意識しレイヤー分けを行います。同じレイヤーになるオブジェクトを選択しやすい順にレイヤー分けしていくのがよいです
最も内側の線をカット1に、外に行くほどカット順が後になります。
逆にすると、カット後の小さいアクリルが動いてしまったりして内側のカットがうまくいかない場合があります。

今回のサンプルデータの場合、レイヤー1にスイッチ穴が、レイヤー2に外形線が来ます。たいていの場合この通りか、レイヤー1にねじ穴が追加されるくらいだと思います。
モードをSelect and transform objectsに戻して外形線を選択します。

右クリックメニューからMove to Layerを選択、カット2に移動します。

カット2レイヤー、その他説明文などの余計なレイヤーを非表示にして全選択すればスイッチ穴を選択することができます。

再び右クリックメニューからMove to Layerを選択、カット1に移動します。
ほか、必要あれば同じ要領で適切なレイヤーに割り振っていってください。
6. ストロークの色と太さを設定
作業したいレイヤーのみ表示すると全選択でぱっぱと進められるので楽です。
オブジェクトを選択し、Objects > Fill and Strokeを選択し、以下の通り設定します。
| Fill | no paint | ![]() |
| Stroke paint | Flat color | ![]() |
| Stroke style/Width | 0.001mm | ![]() |
| レイヤー | Stroke paintの色 |
|---|---|
| カット1 | RGB(255, 0, 0) |
| カット2 | RGB(0, 0, 255) |
| 他 | デザインルールを確認 |
以上で発注用データの準備は完了です。最終確認を行ったうえで、遊舎工房のストアで発注しましょう!
-
同じフットプリントごととかかなと思ってたのですがそうでもないです。離れた二つだけグループ化されていたりと本当に不思議 ↩︎



Discussion