利用HFSS软件进行3D可视化建模

摘要:
hfss作为高频结构设计的首选工具和行业标准,能从几何结构、材料特性到分析、控制及所有后处理进行全参量化设计。可对于仿真设计相关的工程师来说,利用hfss软件进行3d可视化建模容易,但是后期的模型维护和传阅却难以为继。
本文使用的电磁仿真软件为ansys electronics desktop version 2017.2.0
0 1hfss脚本录制
下图所示环形器的hfss建模不难,但是工程师们建模习惯不同,最后各自的仿真模型在进行传阅时,其可读性就难免参差不齐。有的喜欢预估好初始值后进行纯数字建模,有的喜欢variables和数字混用,即使是有些人采用全参量化建模,由于大家命名习惯大相径庭,最终拿到别人的仿真文件进行参数微调时,也会对模型的建立逻辑和某些结构对应的变量有所困惑。
特别是在别人已经建立好的模型上进行调试优化时,面对“一砖一瓦”构成的复杂结构时,想通过delete last operation操作来窥视开发者的模型确实比较麻烦。
这里提供一种最简单的方法:hfss自带的record script to file功能进行vbs脚本的录制。可能大家听说过这个功能,但是在实施过程中遇到一些困难。比如明明录制好了,再次run script进行重构模型为什么报错呢?
如下图所示,随便建立一个文件进行模型的绘制,对其进行vbs脚本录制:
run script后,hfss软件提示报错,很多人第一次使用这个可能都会遇到这种问题。
其实只需要在录制脚本前,软件处于空文件状态(project manager下无project和design),这样从零开始录制的脚本执行起来就不会报错。
经过上述操作后录制的vbs代码如下(可直接复制到txt文件里,将文件类型后缀改为.vbs,在hfss软件中的tool-》run script载入执行即可):
‘ ----------------------------------------------’ script recorded by ansys electronics desktop version 2017.2.0‘ ----------------------------------------------dim oansoftappdim odesktopdim oprojectdim odesigndim oeditordim omoduleset oansoftapp = createobject(“ansoft.electronicsdesktop”)set odesktop = oansoftapp.getappdesktop()odesktop.restorewindowset oproject = odesktop.newprojectoproject.insertdesign “hfss”, “hfssdesign1”, “drivenmodal”,
“”set odesign = oproject.setactivedesign(“hfssdesign1”)set oeditor = odesign.setactiveeditor(“3d modeler”)oeditor.createregularpolyhedron array(“name:polyhedronparameters”, “xcenter:=”, _ “-0.4mm”, “ycenter:=”, “-0.4mm”, “zcenter:=”, “0mm”, “xstart:=”, “0.2mm”, “ystart:=”, _ “0.2mm”, “zstart:=”, “0mm”, “height:=”, “1.2mm”,
“numsides:=”, “12”, “whichaxis:=”, _ “z”), array(“name:attributes”, “name:=”, “regularpolyhedron1”, “flags:=”, “”, “color:=”, _ “(143 175 143)”, “transparency:=”, 0, “partcoordinatesystem:=”, “global”, “udmid:=”, _ “”, “materialvalue:=”, “” & chr(34) & “vacuum” & chr(34) & “”, “surfacematerialvalue:=”, _ “” & chr(34) & “” & chr(34) & “”, “solveinside:=”, true, “ismaterialeditable:=”, _ true,
“usematerialappearance:=”, false)oeditor.createcylinder array(“name:cylinderparameters”,
“xcenter:=”, “0.8mm”, “ycenter:=”, _ “1.8mm”, “zcenter:=”, “0mm”, “radius:=”, “0.2mm”, “height:=”, “1mm”, “whichaxis:=”, _ “z”, “numsides:=”, “0”), array(“name:attributes”, “name:=”, “cylinder1”, “flags:=”, _ “”,
“color:=”, “(143 175 143)”, “transparency:=”, 0, “partcoordinatesystem:=”,
_ “global”, “udmid:=”, “”, “materialvalue:=”, “” & chr(34) & “vacuum” & chr(34) & “”, “surfacematerialvalue:=”, _ “” & chr(34) & “” & chr(34) & “”,
“solveinside:=”, true, “ismaterialeditable:=”, _ true, “usematerialappearance:=”, false)oeditor.createbox array(“name:boxparameters”, “xposition:=”,
“0.6mm”, “yposition:=”, _ “-2.6mm”, “zposition:=”, “0mm”, “xsize:=”, “0.8mm”, “ysize:=”, “0.4mm”, “zsize:=”, _ “0.8mm”), array(“name:attributes”, “name:=”, “box1”, “flags:=”, “”, “color:=”, _ “(143 175 143)”,
“transparency:=”, 0, “partcoordinatesystem:=”, “global”, “udmid:=”, _ “”, “materialvalue:=”, “” & chr(34) & “vacuum” & chr(34) & “”,
“surfacematerialvalue:=”, _ “” & chr(34) & “” & chr(34) & “”, “solveinside:=”, true, “ismaterialeditable:=”, _ true, “usematerialappearance:=”, false)oeditor.createcone array(“name:coneparameters”, “xcenter:=”, “2.2mm”, “ycenter:=”, _ “-0.2mm”,
“zcenter:=”, “0mm”, “whichaxis:=”, “z”, “height:=”, “0.6mm”, “bottomradius:=”, _ “0.447213595499958mm”, “topradius:=”, “0.4mm”), array(“name:attributes”, “name:=”, _ “cone1”,
“flags:=”, “”, “color:=”, “(143 175 143)”, “transparency:=”, 0, “partcoordinatesystem:=”, _ “global”, “udmid:=”, “”, “materialvalue:=”, “” & chr(34) & “vacuum” & chr(34) & “”,
“surfacematerialvalue:=”, _ “” & chr(34) & “” & chr(34) & “”, “solveinside:=”, true, “ismaterialeditable:=”, _ true, “usematerialappearance:=”, false)
除了录制建模的脚本,我们还可以进行繁琐的数据处理、导出步骤的录制,如下面代码就是为了实现s11和3d方向图数据的一键式导出。
’ ----------------------------------------------‘ script recorded by ansys electronics desktop version 2017.2.0’
----------------------------------------------dim oansoftappdim odesktopdim oprojectdim odesigndim oeditordim omoduleset oansoftapp = createobject(“ansoft.electronicsdesktop”)set odesktop = oansoftapp.getappdesktop()odesktop.restorewindow‘dipole_simu:项目名称 project nameset oproject = odesktop.setactiveproject(“dipole_simu”)’veedipole_idealfeed1:设计名称
design nameset odesign = oproject.setactivedesign(“veedipole_idealfeed1”)set omodule = odesign.getmodule(“reportsetup”)‘omodule.exporttofile “results下的报告名称”, “csv保存路径+csv文件名”omodule.exporttofile “s11”, “c:/users/administrator/desktop/s11.csv”omodule.exporttofile “gain plot 1”, _ “c:/users/administrator/desktop/gain plot 1.csv”
0 2hfss api脚本化建模
前文已经介绍了如何录制脚本,便于模型的重建和数据的导出。但是对方收到vbs文件后,要进行模型的修改,没有注释其实看起来也是一团糟的。虽然可以通过多次删除部分vbs代码一步步回构到自己想要的节点,不过这种方法也是有点麻烦。
幸运的是,matlab调用hfss的这项工程早已在github上模块化并开源了。
最后我们可以选择排的最靠前的yuip/hfss-api,对其zip文件进行下载。
因为都是英文注释,需要使用者有一点英文阅读水平,通过examples里面的示例进行各模块function的功能以及参量传入、调用方法的熟练使用。
有了matlab和hfssapi后,能做的事情就多了,比如下面这个就利用matlab读入图像并保存各像素点rgb数值,然后再利用hfssapi中的hfssrectangle和hfsssetcolor函数进行图像在hfss中的重绘。
想更深一步了解hfss脚本,可以在ansys electronics desktop version 2017.2.0及以上版本中的help中打开hfss scripting这个帮助文档,一千多页的内容特别详实。
想象一下,你给别人一个vbs脚本,就几kb,然后对方就能复构你的hfss模型,是不是特别酷炫,还节省占用空间?
原文标题:学个antenna:hfss脚本建模入门
文章出处:【微信公众号:微波射频网】欢迎添加关注!文章转载请注明出处。


安全问题再次响起警钟 LED显示屏的安全性需要加强
超级电容器与蓄电池相比,它的特点是什么
艾尼克斯亮相慕尼黑电子展
为什么有的LED灯关了以后还是会微亮?怎么解决?
喷火无人机清除导线异物,为输电线路的安全保驾护航
利用HFSS软件进行3D可视化建模
DYTRAN微型加速度计3049系列特点
传比特大陆终止IPO,究竟是何原因?
电脑卡慢惹人烦 这五个妙招可以让Linux飞起来
微软放弃win7试图逼迫用户升级win10
无线传感器网络技术,物联网的信息来源技术
半导体材料的特性参数和要求有哪些?
17888 元起!微软Surface Book 增强版上市
华为机器视觉品牌“好望”促进变革时代企业的数字化转型
ne5532 ne5534引脚功能
韩夏:打造布局合理绿色集约的云计算、数据中心体系
国产半导体芯片的芯病,是时候来一剂重药了
电容器是电子电路中不可缺少的一部分,它的作用是什么
SynQor军用四路输出非隔离式 DC-DC 转换器特性
关于门控开关的项目分析