FreeCAD

T105 python FreeCAD

この記事は約3分で読めます。

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__

メモ(ひな型を貼り付けて使用)


コメント

Translate »
タイトルとURLをコピーしました