HFSS 獲取一個點上三維複數場的方法

查到GetTopEntryValue 這個命令的使用方法如下:
GetTopEntryValue(, )

The document is for study only,if tort to your rights,please inform us,we will delete
Introduction to Scripting in HFSS
Fields Calculator Script Commands 19-11
Return Value:
Returns an array of variants, which is either a scalar (one double) or a
vector (3 doubles) based on the quantity on top of the stack.
Parameters:

Type:
Example: “Setup1: LastAdaptive”

Array of variable name, value pair
但如果我們要獲取三維複數場,類似於這樣
<(1.53505554554611E-007, -0.00185365305808792),
(4.91913811672111E-009, 4.98254361561423E-009),
(-1.86695894790351E-008, -1.85415677955474E-008)>
就無能爲力了,但是可以通過先取實部再取虛部的方法獲得,如下代碼:

' ----------------------------------------------
' Script Recorded by Ansoft HFSS Version 15.0.0
' 3:57:52 下午  11月 15, 2017
' ----------------------------------------------
Dim oAnsoftApp
Dim oDesktop
Dim oProject
Dim oDesign
Dim oEditor
Dim oModule
Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInterface")
Set oDesktop = oAnsoftApp.GetAppDesktop()
oDesktop.RestoreWindow
Set oProject = oDesktop.SetActiveProject("cavity-waveguide-for-MAGY")
Set oDesign = oProject.SetActiveDesign("cavity-eigenModel")
Set oModule = oDesign.GetModule("FieldsReporter")


oModule.CalcStack "clear"
oModule.EnterQty "H"
oModule.EnterPoint "Point_0_0"
oModule.CalcOp "Value"
oModule.CalcOp "Real"
oModule.ClcEval "Setup1 : LastAdaptive", Array("L:=", "20mm", "Phase:=", "0deg", "W:=",  _
  "26mm", "b:=", "10mm", "d:=", "8mm")

 ' ======get real part of 3-dimensional complex field ==========
Real_xyz = oModule.GetTopEntryValue("Setup1 : LastAdaptive", Array("L:=", "20mm", "Phase:=", "0deg", "W:=",  _
  "26mm", "b:=", "10mm", "d:=", "8mm")  )
str_Bs = CStr(Real_xyz) 

oModule.CalcStack "pop"
oModule.CalcStack "undo"
oModule.CalcOp "Imag"
oModule.ClcEval "Setup1 : LastAdaptive", Array("L:=", "20mm", "Phase:=", "0deg", "W:=",  _
  "26mm", "b:=", "10mm", "d:=", "8mm")


Imag_xyz = oModule.GetTopEntryValue("Setup1 : LastAdaptive", Array("L:=", "20mm", "Phase:=", "0deg", "W:=",  _
  "26mm", "b:=", "10mm", "d:=", "8mm")  )
str_Bs = CStr(Imag_xyz(1)) 


MsgBox str_Bs


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章