学个Antenna是以天线仿真和调试为主,理论原理为辅的干货天线技术专栏,包括天线入门知识以及各类天线的原理简介、仿真软件建模、设计、调试过程及思路。如有想看到的内容或技术问题,可以在文尾写下留言。

摘要:
经过前面两期的教学HFSS-API入门第一弹,第二弹,已经可以完成部分常规的建模需求。本期整点好玩的,用HFSS来跑马灯。欢迎小伙伴们阅读、分享、再看,转发给更多有需要的人!喜欢的小伙伴可赞赏下作者哦。
本文使用的软件为MATLAB2019a和AnsysEM 18.2
简单介绍
常规的跑马灯,是指将多个发光二极管分别连接到单片机的某一并行端口处,通过编程控制这几个发光二极管依次点亮,如下面的动图所示:

在HFSS-API入门第一弹:画个Box中对hfssBox函数的使用进行了详细介绍,如果再加上修改Box的颜色的透明度,加上延时操作,就可以利用MATLAB编写vbs脚本,在HFSS中Run Script实现“跑马灯”效果。
修改颜色和透明度函数
接下来先介绍修改物体颜色和透明度的函数:hfssSetColor,hfssSetTransparency。
| 1 % hfssSetColor(fid, ObjectName, Color) |
| 1 % hfssSetTransparency(fid, ObjectName, Value) |
这两个函数的使用自然是很简单。压缩的GIF动图预览如下:

那么这个效果是如何实现的呢?
新建工程,新建设计文件,定义变量,画Box,这四个常规步骤是很容易做到的,hfssSetColor和hfssSetTransparency这两个函数也可以对物体的颜色和透明度进行二次修改。剩下需要做的就是在vbs中进行延时,以及控制鼠标左键在非模型区域点击一下,使得物体不处于高亮状态,便于观察变色效果。
首先需要解决的延时问题,网络上随手搜索关键词vbs延时函数,可以找到wscript.sleep这个函数用法:
| 1 用法:Times为延迟时间(单位:毫秒) |
新建一个txt文件,将后缀改为vbs,然后用记事本打开复制粘贴下面代码:
| 1 wscript.sleep 1000 |
单独运行时正常可用的,但是在HFSS中Run Script发现如下图所示报错现象:

说明HFSS的vbs脚本中不支持该函数方法,联想到单片机中的delay函数都是自己写的,于是也在MATLAB里手撸了一个大概的延时函数:
| 1 % 延时函数的编写 |
然后我们需要解决vbs脚本中控制鼠标左键点击的需求,这里也是一样百度关键词vbs模拟鼠标按键,找到下面的网站:
| https://www.cnblogs.com/jinjiangongzuoshi/p/3821375.html |
经过拆解分析后,转化为自己可使用的封装代码。
| 1 Class SetMouse |
由于这段代码过长,直接在MATLAB中用fprintf写入到vbs脚本得一行一行处理,于是将其单独复制到一个mouse_control.txt文件里,通过MATLAB的读写文件操作,将这段代码追加写入到vbs脚本文末,作为可调用的函数进程。
上面代码第8行之所以是双斜杠,是为了将单斜杠写入到vbs脚本中。
| reg_key = |
有了上面的代码后,鼠标点的移动和左键点击事件可以在MATLAB中写入:
| 1 clear;clc; |
按个人情况按图索骥地修改tmpPrjFile,tmpScriptFile ,hfssExePath这几个路径和Design_name,使用的时候记得将mouse_control.txt和该vbs_horse_race_lamp.m文件单独拎出来,与hfssapi-by-Jianhui Huang放在同一个总文件夹内。点击运行即可生成vbs脚本(在自行赋值的tmpScriptFile的这个路径下)。vbs脚本可以直接点击运行,或者在HFSS软件中Run Script。
基础性地写代码编注释还是挺费时间和精力的,希望大家多点赞分享。
代码分享区(在原文末尾)
原文链接:在HFSS中用vbs脚本跑马灯? - RFASK射频问问
代码已封装好打包为p文件不可修改,每次重新下载覆盖,按函数注释进行掉包即可!

注释事项:MATLAB生成vbs脚本的.m文件与hfssapi-by-Jianhui Huang放在同一个总文件夹内。不要在examples文件夹内运行.m文件!

END
原文链接:在HFSS中用vbs脚本跑马灯? - RFASK射频问问
作者:微波天线工程师
应读者朋友们对这个系列文章的喜爱,也为了能够让老师更系统更全面地介绍MATLAB-HFSS-API相关知识,现推出“MALTAB-HFSS-API入门教程”系列课程,共25课时,欢迎大家加入课程学习!https://www.rfask.net/kc/v/41.html
关于RFASK射频问问
射频问问 (http://RFASK.NET) 是在"微波射频网 (http://MWRF.NET)”系列原创技术专栏基础上升级打造的技术问答学习平台,主要围绕射频芯片、微波电路、天线、雷达、卫星等相关技术领域,致力于为无线通信、微波射频、天线、雷达等行业的工程师,提供优质、原创的技术问答、专栏文章、射频课程等学习内容。更多请访问:http://www.rfask.net