没有合适的资源?快使用搜索试试~ 我知道了~
首页HFSS-MATLAB-API使用教程
HFSS-MATLAB-API使用教程

HFSS-MATLAB-API使用教程,较为详细的介绍了HFSS-MATLAB-API的使用,作者对原api做了较大改动,扩展一些功能。 本文除已说明和致谢外,均为原创,未经本人同意,严禁擅自发表,包括但不限于微信、微博公共号或网站和论坛。如有需求请与本人联系。个人网站:woodybuendia.site 相关资源已经上传至Github,地址为:https://github.com/WoodyBuendia/HFSS-MATLAB-API.git 吴 迪 woodybuendia@gmail.com tinywoody@126.com 20180226 于上海
资源详情
资源评论
资源推荐

HFSS-MATLAB-API 使用教程
WoodyBuendia
2018-2-26
WOODYBUENDIA@GMAIL.COM
tinywoody@126.com

HFSS-MATLAB-API 使用教程
目录
HFSS-MATLAB-API 使用教程 ............................................................................................................................................................... 1
1.关于 HFSS 脚本 ............................................................................................................................................................................. 1
Introduction to VBScript ......................................................................................................................................................................... 2
2.一个最简单的 HFSS 脚本 ........................................................................................................................................................... 2
3.使用 MATLAB 生成 HFSS 脚本:HFSS-MATLAB API ....................................................................................................... 4
3.1API 结构 ............................................................................................................................................................................... 4
3.2API 的使用 ........................................................................................................................................................................... 6
3.3 参数化 ................................................................................................................................................................................. 7
3.4 一个完整的脚本 ............................................................................................................................................................... 9
4.一些应用举例 .............................................................................................................................................................................. 14
4.1 波导缝隙天线及其阵列 ............................................................................................................................................... 14
4.2 不等齿深波纹喇叭的建模 .......................................................................................................................................... 19
4.3 在天线阵列中的应用 .................................................................................................................................................... 29
5.致谢 ................................................................................................................................................................................................. 31
本文除已说明和致谢外,均为原创,未经本人同意,严禁擅自发表,包括但不限于微信、微博公共号或网站和
论坛。如有需求请与本人联系。
相关资源已经上传至 Github,地址为:https://github.com/WoodyBuendia/HFSS-MATLAB-API.git
吴 迪
woodybuendia@gmail.com
tinywoody@126.com
20180226 于上海
1.关于 HFSS 脚本
根据 HFSS 15 版本帮助文件介绍,HFSS 软件使用 Microsoft® Visual Basic® Scripting Edition (VBScript)脚本语
言记录宏指令。
一方面,在打开 HFSS 软件进行一些造作时,如果选择 Tools——Record Script to file,新建一个.vbs 后缀的脚
本文件,可以将所有的操作记录在新建的脚本中;另一方面可以编写符合格式的脚本文件,通过 Tools——Run Script
来让 HFSS 软件运行编写好的脚本。

更多关于脚本的介绍可以参考: HFSS-Help-Contents-Scripting 一节,或者点击链接下载 chm 或 pdf 帮助文
件:https://pan.baidu.com/s/1ht4zhBI
2.一个最简单的 HFSS 脚本
使用 HFSS 记录造作到脚本的功能,生成一个最简单的 HFSS 脚本文件,具体操作是新建一个 Design project,
选择绘制圆形工具,在 HFSS 新建一个圆形 sheet,脚本如下:
Introduction to VBScript
HFSS uses the Microsoft® Visual Basic® Scripting Edition (VBScript) scripting
language to record macros. VBScript is based on the Microsoft Visual Basic
programming language.
Using scripts is a fast, effective way to accomplish tasks you want to repeat.
When you execute a script, the commands in the script are performed.
You can write a script using any text editor or you can record a script from
within the HFSS interface. After recording the script from within HFSS, you can
then modify it if necessary using a text editor.
Although HFSS records scripts in VBScript format, it can also execute scripts
in JavaScript
TM
format. If you are running a script from a command prompt, the
script can be written in any language that provides the Microsoft COM methods. The
HFSS scripting documentation refers to VBScript format only.
This chapter provides an overview of key VBScript components. For more details
about VBScript, please see the
Recommended VBScript References
section at the end
of this chapter.
——HFSS Scripting Guide

起始片段的结构:
在一些特定的场景,事先编写脚本让 HFSS 执行相关操作,是非常高效和准确的,可以节省大量的重复性造作;
不仅如此,在有些情况下,由于建模过于复杂或者模型变量需要通过第三方优化算法相互调用,那么只能使用编写
脚本的方法才能完成。
在这个最简单的脚本中,可以看到即使是新建一个圆面的操作,需要的脚本也是比较多和复杂的,如果手动一
行行敲入这些脚本代码,一方面过于冗长难免出现各种错误,另一方面也无法实现提高效率的初衷。
好在前辈们给出了一些简便的方法,可以将重复性的操作变成可以调用的函数,将需要指定的相关参数作为输
入,通过相关编程语言自动完成 vbs 脚本文件。这些操作可以通过 MATLAB 或者 Python 完成,本文介绍的 HFSS-
MATLAB API 就是通过 MATLAB 编写一套可调用的程序库,通过编写 MATLAB 代码来生成所需的 vbs 脚本。
' ----------------------------------------------
' Script Recorded by Ansoft HFSS Version 15.0.0
' 3:06:58 下午 2 月 24, 2018
' ----------------------------------------------
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("Project4")
oProject.InsertDesign "HFSS", "HFSSDesign2", "DrivenModal", ""
Set oDesign = oProject.SetActiveDesign("HFSSDesign2")
Set oEditor = oDesign.SetActiveEditor("3D Modeler")
oEditor.CreateCircle Array("NAME:CircleParameters", "IsCovered:=", true, "XCenter:=", _
"0mm", "YCenter:=", "0mm", "ZCenter:=", "0mm", "Radius:=", "1.06301458127347mm", "WhichAxis:=", _
"Z", "NumSegments:=", "0"), Array("NAME:Attributes", "Name:=", "Circle1", "Flags:=", _
"", "Color:=", "(132 132 193)", "Transparency:=", 0, "PartCoordinateSystem:=", _
"Global", "UDMId:=", "", "MaterialValue:=", "" & Chr(34) & "vacuum" & Chr(34) & "", "SolveInside:=", _
true)
注释段
一个 HFSS 脚本总是这样开始,这段代
表的含义是可以参见下图;
创建一个圆形,Array()是相关参数;
符号“_”表示未结束换至下一行

3.使用 MATLAB 生成 HFSS 脚本:HFSS-MATLAB API
如前所述,使用 MATLAB 编写程序是生成脚本的一个可行的方法,早在 2004 年,名为 Vijay Ramasami
(rvc@ku.edu)的前辈发布了(据我所知)一套基于 MATLAB 的 HFSS-MATLAB API,已经实现了通过编写 MATLAB 程
序来生成 vbs 脚本,之后再通过 HFSS 菜单栏中 tool-run script,选择所生成的 vbs 脚本文件执行。
根据我所下载到的版本,Yueliang (yue_liang423@163.com)对该 API 也有贡献(2008 年)。然而,上述 API 实
现功能还不够,并且不支持参数化。毕竟时过境迁,HFSS 的版本也迭代到了 2018,HFSS 本身的功能也十分复杂,
个人难以开发一个完整脚本接口。但是,HFSS 每一步的操作均可以记录到脚本中,你可以将你的操作记录下来然后
程序化。
在笔者的工作学习过程中,从发现这个 API 之后,就一直在使用这套 API,因为工作的原因需要建模或者联合
仿真一些诸如阵列、波导缝隙以及一些特殊类型天线。我在使用中对下载得到的 API 做了较大的改动,主要有以下
几个方面:
1. 添加定义参数、修改参数;
2. 修改 3dModeler 中常见模型建模的函数,使其支持参数化建模;
3. 添加了一些功能。
3.1API 结构
3dmodeler 中是关于建模的函数,例如建立矩形、圆柱体,以及复制、旋转、布尔加减等等有关 HFSS 模型的
操作函数。
剩余31页未读,继续阅读















安全验证
文档复制为VIP权益,开通VIP直接复制

评论1