vbs脚本执行 vbs脚本一键导入导出HFSS的Local Variables
学个Antenna是以天线仿真和调试为主,理论原理为辅的干货天线技术专栏,包括天线入门知识以及各类天线的原理简介、仿真软件建模、设计、调试过程及思路。如有想看到的内容或技术问题,可以在文尾写下留言。
摘要:
CST支持Parameters的导入导出,这在调试参量的过程中极为方便。不过HFSS中没有Local Variables的导入导出功能咋办呢?本次推文来教你用vbs脚本实现,最后还有一个彩蛋(低版本HFSS打开高版本的文件),精彩不要错过!
0 1CST参量导入/导出
在人工优化结构参量时,导出调试过程中较优结果对应的参量和写材料时及时Ctrl+S一样重要。毕竟万一调过头,正好赶上软件抽风导致数据崩了,又得进入新一轮苦逼的调参。在CST软件中,我们可以在Parameter List区域点击鼠标右键,通过SaveParameters toFile和LoadParameters toFile实现参量的导出和导入,以备不时之需。
0 2HFSS参量导入/导出
CST中自带了参量的导入导出功能,那么HFSS有么?我们打开HFSS的Design Properties,在Local Variables区域右键。嗯,找到了参量数据复制功能!
复制粘贴到记事本,参量名称、数据值和单位确实都能保存出来,但是如何像CST那样再导入外部的参量进行数据值的更新呢?
这里提供了vbs脚本的方法——基于HFSS自带的HFSS Scripting。
导出参量主要使用到GetVariables()这个函数,通过oDesign.GetVariables()读取当前激活的设计文件下的所有Local Variablesvbs脚本执行,然后分别获取所有变量的数目,变量名和变量值,最后每行数据按变量名分割符变量值的顺序依次写入到目标路径下的txt文件中,整段代码如下(文末二维码附有下载链接):
' ----------------------------------------------
' ExportVariables,适用于ANSYS ElectronicsDesktop Version(2017, 2)及以上
' ----------------------------------------------
Dim oAnsoftApp
Dim oDesktop
Dim oProject
Dim oDesign
Dim oEditor
Dim oModule
Set oAnsoftApp = CreateObject("Ansoft.ElectronicsDesktop")
Set oDesktop = oAnsoftApp.GetAppDesktop()
oDesktop.RestoreWindow
Set oProject = oDesktop.GetActiveProject()
Set oDesign = oProject.GetActiveDesign()
FileDir="C:\Users\Administrator\Desktop\VBS\test.txt"
local_var_array=oDesign.GetVariables()
Number=Ubound(local_var_array)
Set Object = CreateObject("Scripting.FileSystemObject")
Set fid=Object.CreateTextFile(FileDir,True)
for Count=0 To Number
str1=local_var_array(count) & "=" & Cstr(oDesign.GetVariableValue(local_var_array(count)))
oDesktop.AddMessage oProject.GetName(), oDesign.GetName(), 0, str1
fid.WriteLine(str1)
Next
oDesktop.AddMessage oProject.GetName(), oDesign.GetName(), 0, "----------------------------------------------------------"
oDesktop.AddMessage oProject.GetName(), oDesign.GetName(), 0, FileDir
oDesktop.AddMessage oProject.GetName(), oDesign.GetName(), 0, "Export variables complete!"