如何巧用HFSS剧本录制功能
学天线是干货天线技术的一个栏目,以天线仿真调试为主,理论原理为辅,包括天线入门知识、各种天线原理简介、仿真软件建模、设计、调试过程及思路。如果想看内容或者技术问题,可以在文末写留言。
摘要:
在学习天线:HFSS脚本建模的介绍中,介绍了利用HFSS自带的Record Script To File功能进行脚本录制。但是在大多数情况下,工程师只想记录简单的后处理脚本。这条推文将介绍如何解放双手,一键处理。
本文使用的软件是AnsysEM 18.2
0 1HFSS脚本录制
HFSS官方帮助文档中详细介绍了脚本功能模块(文档末尾有PDF下载方法)。在这一节中,有用的部分将被简单地翻译并在实践中解释。
-可以在中记录脚本。vbs (VBScript)或IronPython (*)。py)文件格式。1.在菜单上的工具选项下找到记录脚本到文件,然后单击它打开另存为对话框2。使用文件浏览器找到保存脚本的文件夹3。在文件名文本框中输入脚本名称,并选择脚本类型为可视
1.单击菜单上工具选项下的运行脚本打开对话框。2.使用文件浏览器查找需要运行的脚本文件,然后单击将其打开,然后执行脚本命令
下面是记录一个vbs脚本,将模拟的S11数据导出到指定的路径并命名为S11.csv
Dim oAnsoftApp
Dim oDesktop
暗淡的项目
Dim oDesign
昏暗的oEditor
Dim oModule
设置oansofapp=CreateObject(" Ansoft。ElectronicsDesktop”)
设置oDesktop=oAnsoftApp。GetAppDesktop()
oDesktop。恢复道
Set oProject=oDesktop。setactivePROJECt(" vee dipol _ simu ")
设置oDesign=oProject。SetActiveDesign(“veedipol _ ideal feed”)
设置oModule=oDesign。获取模块(“报告设置”)
奥姆杜尔。导出文件“S11”、“c :/用户/管理员/桌面/S11.csv”
如果只是记录好,不需要修改两次,也不会有异常现象,但是!
如果右键编辑vbs,想修改路径保存,会发现Run Script会报错!
个人猜测应该是其编码方式修改后的问题。果然用txt打开vbs脚本,点击另存为后发现编码方式改为支持汉字的UTF-8。
话不多说,直接把编码方式改成ANSI保存。果然,一切正常。
当然每次录完手动改还是挺麻烦的。可以直接记录在。py文件格式,修改后保存后第一行仍然不会有无效字符的错误报告!
# -
# ANSYS电子桌面版2017.2.0记录的脚本
# -
导入脚本环境
ScriptEnv。初始化(“Ansoft。ElectronicsDesktop”)
oDesktop。RestoreWindow()
oProject=oDesktop。setactivePROJECt(" vee dipol _ simu ")
oDesign=oProject。SetActiveDesign(“veedipol _ ideal feed”)
oModule=oDesign。获取模块(“报告设置”)
奥姆杜尔。导出文件(“S11”、“c :/用户/管理员/桌面/S11_new.csv”)
0 2脚本录制可以做什么
第一个功能当然是数据后处理,比如导出上面记录的常用数据。录制完成后,可以在平板或笔记本上右键打开,私下修改一些参数。
但是相比于
较CST的History List,HFSS在建模这块没有记录给开发者对应的脚本文件确实是硬伤。不过解决了Record Script To File功能的报错问题后,我们还是可以拼接化来实现建模的部分繁琐功能的。比如HFSS的Duplicate Along Line的可视化操作中,不支持输入变量,移动复制的总数仅仅支持写死的数字。要是想构建一个金属化通孔随着SIW结构长度自适应变化的模型,HFSS是没法像CST那样丝滑。
不过通过录制脚本,在脚本里二次修改是可以设置平移距离为变量的。例如录制了下面的.py脚本,将Y向平移量设置为Design Properties里已存在的dist变量,这样修改其变量数值即可实现自适应不同的间距;对于不同项目和设计文件,需要修改下面两句代码中双引号中的名字,改为当前执行Run Script下的项目名和设计文件:
oProject=oDesktop.SetActiveProject(“Project3”)
oDesign=oProject.SetActiveDesign(“HFSSDesign1”)
在“Selections:=” , “Box1,Cone1,Cylinder1”中增加需要平移复制的Object;XComponent,YComponent,ZComponent,NumClones分别代表往x,y,z方向平移的距离和复制的总个数(包括本体)
# ----------------------------------------------
# Script Recorded by ANSYS Electronics Desktop Version 2017.2.0
# ----------------------------------------------
import ScriptEnv
ScriptEnv.Initialize(“Ansoft.ElectronicsDesktop”)
oDesktop.RestoreWindow()
oProject = oDesktop.SetActiveProject(“Project3”)
oDesign = oProject.SetActiveDesign(“HFSSDesign1”)
oEditor = oDesign.SetActiveEditor(“3D Modeler”)
oEditor.DuplicateAlongLine(
[
“NAME:Selections”,
“Selections:=” , “Box1,Cone1,Cylinder1”,
“NewPartsModelFlag:=” , “Model”
],
[
“NAME:DuplicateToAlongLineParameters”,
“CreateNewObjects:=” , True,
“XComponent:=” , “0mm”,
“YComponent:=” , “dist”,
“ZComponent:=” , “0mm”,
“NumClones:=” , “8”
],
[
“NAME:Options”,
“DuplicateAssignments:=”, False
],
[
“CreateGroupsForNewObjects:=”, False
])
当然,你可以通过脚本,将Total Number修改为变量,但是在Design Properties中修改num的值,其平移复制的个数并不会产生变化。
比如下面将num改为10,Modeler里显示的Num也变为了10个,但实际的模型里还是平移复制了20个。有兴趣的读者可以亲自试试!!!
编辑:jq
延伸 · 阅读
- 2021-07-29 14:43小冰今天毕业了:曾与上海音乐学院音乐工程系同学们互相
- 2021-07-29 14:43Linux中的软链接和硬链接用在哪里?
- 2021-07-29 14:43荣源智能2020年终活动清单
- 2021-07-29 14:43新公司将研发出具备竞争力且符合中国法规的燃料电池系统
- 2021-07-29 14:43华为内部设计芯片生产工作正逐步转移到中芯国际 资源将
- 2021-07-29 14:43感知视觉传感器提供商锐思智芯完成天使轮融资