HFSS模擬完成之後,如果要寫一個自動化程式讀取資料,有下面兩種方法:
import ScriptEnv
ScriptEnv.Initialize("Ansoft.ElectronicsDesktop")
oDesktop.RestoreWindow()
oProject = oDesktop.GetActiveProject()
oDesign = oProject.GetActiveDesign()
oDesktop.ClearMessages("","",2)
oModule = oDesign.GetModule("ReportSetup")
arr = oModule.GetSolutionDataPerVariation(
"Modal Solution Data",
"Setup1 : Sweep",
['Domain:=', 'Sweep'],
['Freq:=', ['All']],
["dB(S(1,1))"])
AddWarningMessage(str(arr[0].GetRealDataValues("dB(S(1,1))")))
GetSolutionDataPerVariation()需要填入5個參數,Help對參數格式的解釋並不清楚。建議用錄製的方式生成包含變數的報告,如下圖。在呼叫GetSolutionDataPerVariation()的時候就知道填入參數的形式了。
執行上面的範例碼可以將S11的實部輸出到Message Manager視窗當中,如下圖。
- 將資料生成Table並以csv檔格式輸出,再讀取csv檔並解析資料到list當中。
- 利用GetSolutionDataPerVariation()直接讀取資料。
import ScriptEnv
ScriptEnv.Initialize("Ansoft.ElectronicsDesktop")
oDesktop.RestoreWindow()
oProject = oDesktop.GetActiveProject()
oDesign = oProject.GetActiveDesign()
oDesktop.ClearMessages("","",2)
oModule = oDesign.GetModule("ReportSetup")
arr = oModule.GetSolutionDataPerVariation(
"Modal Solution Data",
"Setup1 : Sweep",
['Domain:=', 'Sweep'],
['Freq:=', ['All']],
["dB(S(1,1))"])
AddWarningMessage(str(arr[0].GetRealDataValues("dB(S(1,1))")))
GetSolutionDataPerVariation()需要填入5個參數,Help對參數格式的解釋並不清楚。建議用錄製的方式生成包含變數的報告,如下圖。在呼叫GetSolutionDataPerVariation()的時候就知道填入參數的形式了。
執行上面的範例碼可以將S11的實部輸出到Message Manager視窗當中,如下圖。
沒有留言:
張貼留言