円形指定選択で要素を選択し結果テーブルを書き出す処理をスクリプトで行いたい
Pythonスクリプトでの例は次の通りです。
本サンプルでは要素を選択するためにメッシュグループを作成しています。
# -*- coding: utf-8 -*-
app = designer.GetApplication()
#円形指定選択の設定
inner = 0 #円の内径
outer = 28 #円の外径
startAngle = 0 #開始角度
endAngle = 360 #終了角度
useheight_flg = 0 #高さを使用するかどうか(0:高さ指定なし、1:高さ指定あり)
top = 0 #円筒形上面高さ
bottom = 0 #円筒形下面高さ
visible_flg = 0 #非表示の対象も選択するかどうか(0:非表示の対象も選択する、1:非表示の対象は選択しない)
#以下は座標設定のため、Pointオブジェクトで取得する
P1 = app.CreatePoint(0, 0, 0) #円の中心点(X,Y,Z)
P2 = app.CreatePoint(0, 0, 1) #軸の中心位置(X,Y,Z)
P3 = app.CreatePoint(1, 0, 0) #X軸の位置(X,Y,Z)
#メッシュを表示&要素選択
app.View().ShowMesh()
app.View().SelectElement()
#dammyのメッシュグループを作成
app.GetModel(0).GetStudy(0).GetMeshGroupList().CreateElementGroup()
app.GetModel(0).GetStudy(0).GetMeshGroupList().GetMeshGroup(0).SetName(u"dammy")
#dammyグループで要素を円形選択
P4 = app.GetModel(0).GetStudy(0).GetMeshGroupList().GetMeshGroup(0).GetSelection()
P4.SelectElementByCylinder(P1,P2,P3,inner,outer,startAngle,endAngle,useheight_flg,top,bottom,visible_flg)
#出力する結果テーブルの設定
parameter = app.GetCurrentStudy().CreateTableDefinition()
parameter.SetResultType("MagneticFluxDensity")
parameter.SetCoordinate("直交座標系(全体)")
parameter.SetComponent("All")
parameter.SetAllSteps()
parameter.SetIsShownMinMaxInfo(True)
parameter.SetIsShownPositionInfo(True)
#上記設定で結果をcsvに出力
app.GetCurrentStudy().ExportTable(parameter, u"D:xxxx.csv", 0)


