2018年4月28日土曜日

FreeCADからKiCad用の3Dモデルを出力する方法


背景

FreeCADとは、3Dモデルが作れるCADプログラムです。
KiCadとは、プリント基板を設計できるCADプログラムです。

KiCadの部品ライブラリは、シンボル、フットプリント、3Dモデルの3つの要素で構成されており、部品ライブラリを新しく追加したい場合は、それぞれを作る必要があります。
シンボルとフットプリントはKiCadで作れるのですが、3DモデルはFreeCADなどの3Dモデルを扱えるCADを利用する必要があります。

KiCadのライブラリにY14というリレーを追加しようとした際に、FreeCADからKiCad用のモデルを出力する方法がよく分からなくて戸惑いました。
そのため、個人的に良さそうだった方法をまとめ、備忘録を兼ねて共有します。

全体像

  1. 使ったもの
  2. パーツを結合
  3. スケールを変換したパーツを作成
  4. 3Dモデルを出力
  5. まとめ

使ったもの

FreeCAD

記事を書いている時点で最新の安定版(0.17)を利用しました。

出力したいモデルのデータ

1番ピンを原点として作成したFreeCADのパーツを使います。



この記事では、モデルの出力方法は説明しますが、各パーツの作り方は説明しません。
パーツの作り方は、他の方が作られているチュートリアルのページなどを参考にしてください。

パーツを結合

モデルを出力するのに利用するパーツは、一つの部品として結合されている必要があるようです。
そのため、下記の手順でパーツを結合します。

Partメニューを選択します。


boolean operation(丸が2つ重なったアイコン)を選択します。
(unionで結合しようとすると、ViewのDraw StyleがSolidなのに「対象がsolidではない」というエラーが発生し、その後のstep形式での出力が失敗しました。
回避方法を知っていれば、コメントなどで共有していただけると嬉しいです。)


boolean operationのタスクを開いたら、①②結合したいパーツを選択して、③unionを選んで、④Applyをクリックし、⑤タスクをCloseします。


上記の手順でFusionというパーツが出来るので、これをモデルの出力に利用します。


スケールを変換したパーツを作成

KiCadへの3Dモデルは、実物と同じ大きさで作られたモデルと、1:2.54のスケールで作られた縮小版のモデルの2種類の大きさのファイルが必要です。
(なぜかは分かりませんが、ライブラリ作成時にこの2つのサイズが求められます。今後のバージョンアップによっては、片方だけで良くなったりするのかもしれません。)

KiCadのScale機能を使うことで、同じパーツからスケールの異なるパーツを作成できます。
Scaleを使って1:2.54サイズのパーツの作り方を説明します。

Archメニューを選択します。


①先ほど作った結合済みのパーツを選択し、②Taskタブを選択します。


Scaleを選択します。


Scaleの原点を聞かれます。
原点は0で良いので、Enter pointを選択します。


変換するスケールを聞かれます。
1/2.54 = 0.393700787 位ですが、ここでサポートされる小数点は6桁なので、それぞれ0.3937を入力します。
「Create a clone」か「Create a copy」を選択すれば、オリジナルのパーツは残したまま、スケールの異なるパーツを作れます。
「Create a clone」を選択しておけば、参照元のパーツの変更がスケールを適用したパーツにも反映されるので、今回の場合は便利だと思います。
設定できたらOKを選択します。


Scaleという名前で1:2.45のパーツができました。


3Dモデルを出力

KiCad向けの3Dモデルとして下記の2種類のファイルをエクスポートします。

  • 実物と同じスケールのstepファイル
  • 1:2.54スケールのwrlファイル

それぞれの作り方を説明します。

実物と同じスケールのstepファイルを出力

実物と同じスケールのパーツを選択します。
この記事の場合は「Fusion」がそうです。


出力したいパーツを選択した状態で、ファイル -> エクスポートを選択します。


ファイルの形式を選べるので、STEPを選択してください。



形式を選択したら、出力したいファイル名を入力して保存をクリックすると、step形式の3Dモデルを出力できます。

1:2.54スケールのwrlファイルを出力

1:2.54スケールのパーツを選択します。
この記事の場合は「Scale」がそうです。


実物と同じスケールの出力手順と同様に、出力したいパーツを選択した状態で、ファイル -> エクスポートを選択します。


ファイル形式を選べるので、wrlファイルを出力するVRML形式を選択します。



形式を選択したら、出力したいファイル名を入力して保存をクリックすると、wrl形式の3Dモデルを出力できます。

まとめ

異なるスケールで同じデザインのモデルを出力できました。
出力したstepファイルとwrlファイルをKiCadに認識させている3Dモデルのパスに配置すると、KiCadの3Dビューアなどで読み込めると思います。


3DモデルのリポジトリのREADMEにはツールを使って1:2.54スケールのオブジェクトを作るのが良いようなことが書かれていますが、方法がよく分かりませんでした。
説明した内容でモデルを作成して、pull requestをしたら受理されたので、今回の作り方でも多分大丈夫なのだと思います。
(もっと良い方法、正しいと思われる方法を知っていれば。コメントなどで共有していただけると嬉しいです。)

共有したい内容は以上です。
参考になったら嬉しいです。

参考

KiCadの3Dモデルのリポジトリです。
kicad-packages3D

今回の記事を書くきっかけになった、Y14リレーに関するpull requestです。
kicad-symbols/pull/539
kicad-footprints/pull/519
kicad-packages3D/pull/302
kicad-packages3D-source/pull/123

0 件のコメント :