[S8546] CSVファイルを読み込みケースを追加し、全ケースのバッチ実行を行うスクリプト

 

CSVファイルを読み込みケースを追加し、全ケースのバッチ実行を行うスクリプトを例示します。

※pywin32がインストールされている必要があります。

import win32com.client

# 計算終了チェックの待機時間(秒)

CHECK_INTERVAL_SEC = 5.0

# CSVファイルを指定(CSVファイルは各自、ご用意ください。)

filename = r"D:/test.csv"

app = designer.GetApplication()

# 現在開いているスタディを取得

study = app.GetCurrentStudy()

# ケースの数を取得

num_cases = study.GetDesignTable().NumCases()

# 複数ケースある場合はケースを削除

for i in range(num_cases - 1):

   study.GetDesignTable().RemoveCase(1)

# ケースパラメータをCSVファイルからインポート

study.GetDesignTable().Import(filename)

# 最初のケースを削除

study.GetDesignTable().RemoveCase(0)
# バッチ実行を行うために Job オブジェクトを作成

job = study.CreateJob()

# ジョブのタイトルを設定

job.SetValue("Title", study.GetName())

# ジョブを実行待ちの状態にする 

job.SetValue("Queued", True)

# JMAG-Schedulerにジョブを投入

job.Submit(True)

# JMAG-Schedulerのオブジェクト取得

scheduler = win32com.client.Dispatch("scheduler.JobApplication.241")

# 計算終了まで待機

while scheduler.UnfinishedJobs() > 0:

   app.Sleep(CHECK_INTERVAL_SEC * 1000) # JMAGのSleep関数はミリ秒単位

# 全ケースの新しい結果を確認

study.CheckForNewResults()

ファイルご利用の注意点

JMAGスクリプトライブラリをご利用されるに際し、以下の利用規約をよくお読みいただき、ご同意の上ご利用下さるようお願い申し上げます。