FreeCADの操作の覚書です。なんとなく使いそうなコマンドを記載しています。
pythonコンソールについては、こちら Pythonコンソール
注記
ファイルのパス:パスを「\」ではなく「//」にする必要があります。
ドキュメント名(resName):表示と異なる場合があるので、コンソール上で確認しておくとよいです。
FEM
vtk形式の出力
解析結果をvtkファイルへ出力します。入力は結果数、結果オブジェクト名、出力フォルダパスになります。結果出力が固定ステップ0.1限定です。#処理内を編集すれば変えられます。
#機能:FreeCADからParaView用のvtkファイルを出力(増分結果用)
#前提として、結果出力が固定ステップ0.1に限られる。
#設定値
##出力数、結果名称、出力フォルダ
outCount = XX
resName = "XXX"
outDir = "/XXX/XXXX/"
#出力:結果vtkファイル
#処理
import feminout.importVTKResults
for num in range(1,outCount+1):
a = str(int(num/10))
b = str(int(num-int(a)*10))
# print(a," ",b," ",num)
__objs__=[]
__objs__.append(FreeCAD.getDocument(resName).getObject("Time"+a+"_"+b+"_Results"))
feminout.importVTKResults.export(__objs__,outDir+"/"+resName+"_"+a+b+".vtk")
del __objs__
メモ(ひな型を貼り付けて使用)
使用例(vtk形式の出力)
コマンドをまるごとpythonコンソールに張り付けた後、Enterキーで実行します。
vtk形式の出力 配列指定
FreeCADの結果ラベルを配列に格納して、vtkファイルに出力させます。(T105_1 python FreeCAD)
resName = "XXXX"
#保存するフォルダパス¥を//にする
outDir = "C:/XXXXXXX"
resArry = [
'Time0_0_Results'
,・・・
]
#出力:結果vtkファイル
#処理
num = 0
for resObj in resArry:
# print(resObj)
num = num + 1
__objs__=[]
__objs__.append(FreeCAD.getDocument(resName).getObject(resObj))
import feminout.importVTKResults
# feminout.importVTKResults.export(__objs__,outDir+"/"+resName+"-"+resObj+".vtk")
#結果名とファイルカウントだけにする場合(Paraviewでシリーズ指定するため)
feminout.importVTKResults.export(__objs__,outDir+"/"+resName+str(num)+".vtk")
del __objs__
メモ(ひな型を貼り付けて使用)
コメント