APIプログラミングリファレンス: 壁面結果スクリプトのサンプル

以下のトピックでは、サンプルスクリプトwall_results.pyを使ってプログラミングリファレンスを説明しています。(このスクリプトはAPIプログラミングリファレンスに含まれています)

スクリプトの各行(またはブロック)が詳しく説明されており、プログラミングリファレンスの該当セクションを参照することができます。

スクリプトの例

from CFD import Setup

from CFD import Results

from CFD import DSE

# 現在のシナリオを取得して、結果をアクティブ化

study = Setup.DesignStudy.Create()

scenario = study.getActiveScenario()

curr_results = scenario.results()

curr_results.activate()

# WallResults オブジェクトを作成

wr = Results.WallResults(scenario)

# 対象のサーフェスの ID を設定し、計算を実行

wr.select(15)

wr.select(9)

wr.calculate()

# 結果を取得

area = wr.area(15)

pressure = wr.pressure(15)

temp = wr.temperature(15)

fx, fy, fz = 0.0, 0.0, 0.0 # 力は、値が 3 つあるため若干複雑

err, fx, fy, fz = wr.force(fx, fy, fz)

print("Area = ", area)

print("*Press = *", pressure)

print("*Temp = *", temp)

print("*FX = *", fx)

print("*FY = *", fy)

print("*FZ = *", fz)

DSE.UI.ShowMessage( "Area = " + str(area) )

DSE.UI.ShowMessage( "Press = " + str(pressure) )

DSE.UI.ShowMessage( "Temp = " + str(temp) )

DSE.UI.ShowMessage( "FX = " + str(fx) )

DSE.UI.ShowMessage( "FY = " + str(fy) )

DSE.UI.ShowMessage( "FZ = " + str(fz) )

# または、壁面の結果をすべてファイルに書き込むことも可能

wr.writeToFile("C:/wr.csv")

print("Wall results are written to c:/wr.csv")

DSE.UI.ShowMessage( "Wall results are written to c:/wr.csv" )

スクリプトの各セクションの説明

from CFD import Setup

from CFD import Results

from CFD import DSE

> ヘッダ セクションでは、スクリプトで参照されている各モジュールを宣言しなければなりません。すべて CFD プロジェクトに含まれるものです。モジュールのリストを参照するには、プログラミングリファレンスの Modules をクリックしてください:

study = Setup.DesignStudy.Create()

この行は study と呼ばれる変数を宣言します。これは Setup モジュール、DesignStudy クラス、Create メソッドから定義されています。またこれはデザインスタディを扱う方法でもあります。1 つの Autodesk® CFD セッション内で開かれているデザイン スタディは 1 つのみであるため、デザイン スタディ名を指定する必要はありません。

scenario = study.getActiveScenario()

> この行はスタディでアクティブなシナリオを取得します。ある時点でアクティブなシナリオは1つだけであるため、シナリオ名を指定する必要はありません。例外は、現在開いているシナリオ以外のシナリオを参照したい場合です。

curr_results = scenario.results()

> これによりシナリオの結果を取得します。

curr_results.activate()

> このコマンドは現在の結果をアクティブ化します。

wr = Results.WallResults(scenario)

> 壁面結果に必要なパラメータを初期化します。WallResultsクラスにアクセスするには、ModuleページのResultsクラスをクリックします:WallResultsコマンドはWallResultsクラスのページにあります:

wr.select(15)

wr.select(9)

wr.calculate()

> 特定の ID 番号を持つサーフェス(この例ではサーフェス 15 および 9)を選択するには、Select 関数を使用します。計算をトリガするにはCalculate関数を使用します。

area = wr.area(15)

pressure = wr.pressure(15)

temp = wr.temperature(15)

fx, fy, fz = 0.0, 0.0, 0.0 # 力は、値が 3 つあるため若干複雑

err, fx, fy, fz = wr.force(fx, fy, fz)

> サーフェスの面積、圧力、温度を計算します。3 つの荷重成分を計算するには、force 関数を使用します。

print("Area = ", area)

print("*Press = *", pressure)

print("*Temp = *", temp)

print("*FX = *", fx)

print("*FY = *", fy)

print("*FZ = *", fz)

> 結果を出力するための文字列を作成するには print コマンドを使用します。

DSE.UI.ShowMessage( "Area = " + str(area) )

DSE.UI.ShowMessage( "Press = " + str(pressure) )

DSE.UI.ShowMessage( "Temp = " + str(temp) )

DSE.UI.ShowMessage( "FX = " + str(fx) )

DSE.UI.ShowMessage( "FY = " + str(fy) )

DSE.UI.ShowMessage( "FZ = " + str(fz) )

> 文字列をアウトプット バーに表示します。これらのコマンドは、DSE モジュールの UI クラスの ShowMessage 関数を使用します。

wr.writeToFile("C:/wr.csv")

print("Wall results are written to c:/wr.csv")

DSE.UI.ShowMessage( "Wall results are written to c:/wr.csv" )

> このコマンドは結果をファイルに書き出します。writeToFile関数はWallResultsクラスに含まれています。最後の行は、結果がファイルに書き込まれたことを確認するメッセージをアウトプットバーに表示します。

関連トピック

アプリケーション プログラミング インタフェース(API)

スクリプト エディタ

API の構造と階層の概要