目次
電磁界シミュレーションのモデルを作るために
電磁界シミュレーションをしたいとかで、プリント基板をモデル化したい時などがあります。そういう時に。。KiCAD(回路作成から基板つくるCAD) からFreeCAD(3Dの図面CAD)へもってきて、FreeCADで寸法を見たり、変更したりしてから、電磁界シミュレータに持ってくるってことをします。
基本的には、この記事の続きですね。
【OpenEMS】KiCAD→FreeCAD→Octave→OpenEMS→Paraviewで基板からシミュレーション【電磁界シミュレーション】
↑これでは、KiCADStepUpで取り込むのがいいかな?という結論でした。 1年ほど前の記事で、KiCADもVer.6⇒8に FreeCADも0.21.2にバージョン上がっていることと、上記では、TopとBottom層の2層だけしか持ってこれなかったので、内層をデータ化するためのことをメモしておきます。
KiCADで3D表現 と STPファイル化
KiCADで3D表現して見た目だけを持ってくるのは、とっても簡単になってます。
見るだけなら、 PCBエディターで、プリント基板を見ている状態で、 表示⇒3Dビューアーでみれます。
こんな感じ。
※この時、部品まで3Dにしようとすると、3D部品のライブラリーの紐づけが必要です。
3D部品のライブラリー紐づけ
いつも紐づけ方を忘れるのでメモです。PCBエディタで、①フットプリントの編集 ②フットプリントのプロパティ ③3Dモデルのタグ ④パス設定 と深いところにあるので。。この紐づけをしておかないと、部品の3Dモデルまで表示されません。 最初からライブラリーを作る時にやっておきましょう。
ちなみに、KiCADのHELPでは、このあたりです。
STEPファイルへのエキスポート
ファイル→エキスポート→STEP で エキスポートできます。
この時の設定で
✅似た名前のモデルを置換します
✅STEPファイルを最適化
✅配線とパッドとビアをエクスポート
ビア(回路の層間の配線)をエクスポートするなら、必須です。
そうすると、FreeCADで読み込むと、ビアまでちゃんと3Dモデル化されています。
STEPファイルのデータはかなり分割して入っているので、それぞれで位置変えたりできます。上は、PCBのガラエポ部分を、非表示にしているので、ビアが見える状態になっています。
基板の厚さは指定できて、ファイル→基板の設定 から
金属面の厚さなどは、この基板の設定で、入力した通りになっているようです。
綺麗に測れていませんが、銅の厚みは、35μm で基板全体のスタック厚は、1.6mmみたいです。
で。。残念なのが。。内部の層が入ってないことです。設定ファイルなどをいじっても、どうやっても入らないみたいです。
もともとは、この機能は、3Dファイルを機械系CADに持って行ってケースを作るとかに便利なように作られているためのようですね。
内部の層の出力とFreeCADデータ化
なかなかこれが、テクニックいるので(笑) 忘れないようにメモです。
FreeCADでは、DXFやSVGファイルも読み込めます。KiCADでは、ガーバーファイルの出力ができます。この機能を使って、内層の金属面をデータ化します。
製造用出力→ガーバー を選びます。
ガーバーしか出ないと思うじゃないですか。。ところが、ファイル出力を選ぶとDXFやSVGなどが選べます。
含めるレイヤーを選んでおいて、単位は㎜にしておく方がいいです。
これでできたDXFファイルをFreeCADで読み込むと
こんな感じで線画のように取り込めます。
で。。
先ほど作ったSTEPファイルと一緒に読み込むと、どうも一番下層の場所に入ってしまうので、少し上に持ってくると。。このように、内層のように表示できます。
KiCAD Step upというWorkBenchを使えると、もっと楽にできそうなんですが。。どうも Step Upで読み込んだファイルとDXFのファイル類はスケールが変わっていそうなんで。。うまく行きません。
https://github.com/easyw/kicadStepUpMod
シルクプリントを読み込むツールで読み込むと、下記のように一つのパーツになるので便利なんですが。。銅の部分とそれ以外にも分類されているようですし。。
FreeCAD OpenEMS ExportについているKiCAD import
https://github.com/LubomirJagos/FreeCAD-OpenEMS-Export
これ、そのままでは動かないのですが。。
Githubからダウンロードして、Macroをインストールします。
それで、ExportOpenEMSDialog.pyを実行します。
そうすると。。KiCAD PCB import Toolというボタンが出てくるので それを押す
Select Fileで、KiCADの.pcbファイルを指定して、IMPORT KiCAD PCBを押すと。。
結構時間かかりますが。。こんな感じで、全レイヤーと、ビアも全部モデル化してKiCADのファイルが、FreeCADに読み込めました。
あとは、これをSTLなり電磁界解析用のソフトに読み込ませるってことですね。
OpenEMSだと、こんなに複雑なのは、読み込めないような気がする(笑)
ほぼ確かめたいことやってる人がいた。。
toammann/OpenEMS_MultiTermDebyeExperiments (github.com)
他にもこういうツールがありました。
https://github.com/tvelliott/jPCBSim
[…] 【KiCAD】基板の内層のデータをSTEPやSTLでFreeCADにもってくる【FreeCAD】 […]