MRが楽しい

MRやVRについて学習したことを書き残す

FreeCADでの操作をPythonコードで出力して再実行する

本日は FreeCAD の利用手順についてです。
FreeCADで操作をpythonスクリプトに落とし込み、再利用する手順を記事にします。

操作をpythonコードで取得する

FreeCAD ではGUIで行った操作をpythonコードで取得することができます。
FreeCAD を起動し、メニューから 表示 -> パネル -> Pythonコンソール を開きます。
f:id:bluebirdofoz:20190405092553j:plain

画面下部に[Pythonコンソール]のパネルが開きます。
もし既に何かしらのコードがコンソールに出力されている場合は、コンソールを一旦クリアしておきます。
パネル上で右クリックを行い、[コンソールをクリア]でクリアできます。
f:id:bluebirdofoz:20190405092602j:plain

この状態で FreeCAD の操作を行います。
まずはメニューから ファイル -> 新規 で新規プロジェクトを作成します。
f:id:bluebirdofoz:20190405092616j:plain

すると新規プロジェクトが作成されると共に、新規プロジェクト作成時に実行された操作が[Pythonコンソール]にPythonコードとして出力されます。
f:id:bluebirdofoz:20190405092631j:plain

続けて前回作成したコップのOBJ形式のモデルを読み込みます。
プロジェクトの新規作成の操作からインポートまでの操作がPythonコードに出力されます。
f:id:bluebirdofoz:20190405092646j:plain

[Pythonコンソール]に出力されたPythonコードをコピーペーストしてPythonスクリプトのファイルを作成します。
・PythonTest.py

App.newDocument("Unnamed")
App.setActiveDocument("Unnamed")
App.ActiveDocument=App.getDocument("Unnamed")
Gui.ActiveDocument=Gui.getDocument("Unnamed")
Gui.activeDocument().activeView().viewDefaultOrientation()
import Mesh
Mesh.insert(u"D:/FreeCAD/MakeModel/CapTest/CapTest.obj","Unnamed")
Gui.SendMsgToActiveView("ViewFit")

FreeCADをpythonコードを実行する

FreeCADを再起動します。
メニューから マクロ -> マクロ を選択します。
f:id:bluebirdofoz:20190405092702j:plain

マクロの実行ダイアログが開きます。
先ほど保存したPythonスクリプトディレクトリを[ユーザーマクロの場所]で開きます。
Pythonスクリプトを指定して[実行]をクリックします。
f:id:bluebirdofoz:20190405092716j:plain

コードが再実行され、コップのモデルを読み込むまでの操作が自動で実行されました。
f:id:bluebirdofoz:20190405092729j:plain

操作によっては、そのままのコードではマクロ実行が失敗する操作もあるようです。
エラーが発生した場合は適宜、Pythonスクリプトを修正する必要があります。

参考ページ

www.xsim.info