HFSS-API入门第二弹:基本形状和操作
学个Antenna是以天线仿真和调试为主,理论原理为辅的干货天线技术专栏,包括天线入门知识以及各类天线的原理简介、仿真软件建模、设计、调试过程及思路。如有想看到的内容或技术问题,可以在文尾写下留言。
摘要:
上节HFSS-API入门第一弹:画个Box主要是分享了调用改良hfssapi新建工程和设计文件并插入变量画一个参数化的Box,本期推文将推送常用的基本形状和布尔操作函数。欢迎小伙伴们阅读、分享、再看,转发给更多有需要的人!喜欢的小伙伴可赞赏下作者哦。
本文使用的软件为MATLAB2019a和AnsysEM 18.2
简单介绍
常规模型大家只需要用到画方块、柱子、矩形片、圆形,并对其进行Unite和Subtract之类的布尔操作即可。上次推文已经介绍了hfssBox的函数用法,下节将先对hfssCylinder,hfssRectangle,hfssCircle进行函数使用讲解,然后介绍hfssUnite和hfssSubtract的加减操作函数。
拉到文末有下载改良后的hfssapi,建议收藏链接,后续新出的函数会不定期在该文件夹内更新。文件也不大,几百kB,每次有更新重新下载覆盖即可。
- 先提醒下matlab打开有中文注释代码乱码问题,按下图所示将Editor的Font改为Monospaced即可。
- 对于设置Color,有的人想花里胡哨地配色的话,可以进行RGB三色的颜色查询:https://www.sojson.com/rgb.html。没有绝对颜感的人不要轻易尝试,否则配出来会是下图这种样子。可能你觉得很绚丽,但是真的很乡村风啊!!!本人还是习惯用上次推文的三种配色,极简最好。
函数使用教程
接下来先介绍三个建模常用的函数:hfssCylinder,hfssRectangle,hfssCircle。
1 % hfssCylinder(fid, CylinderName, Axis, Center, Radius, Height, Units, Color, Material, Transparency, flag) 2 % CylinderName:圆柱的名字;Axis:圆柱建模的中心轴向('X','Y'或'Z',大小写均可);Center:圆柱底面的圆心坐标; 3 % Radius:圆柱底面的圆半径;Height:圆柱的高度;Units:单位 4 % Color:圆柱的颜色(RGB);Material:材料名字(不要随便自己整个名字,必须是HFSS材料库里的名字); 5 % Transparency:显示的透明度;flag:值为1时Center, Radius, Height只支持数字,值为2时value支持元胞数组表达式 6 % 实例: 7 % hfssCylinder(fid, 'Cy1', 'Z', {'Cy_dx', 'Cy_dy', 'Cy_dz'}, 'Cy_R','Cy_H', 'mm',... 8 % "(132 132 193)", "FR4_epoxy", 0, 2); 9 % hfssCylinder(fid, 'Cy1', 'Z', [0,0,0], 0.5,2, 'mm',... 10 % "(132 132 193)", "FR4_epoxy", 0, 1); |
1 % hfssRectangle(fid, RectangleName, Axis, Start, Width, Length, Units, Color, Transparency,flag) 2 % RectangleName:矩形片的名字;Axis:矩形片的法向轴向('X','Y'或'Z',大小写均可); 3 % Start:矩形片的起始基点;% Width:矩形片的宽;Length:矩形片的长;Units:单位 4 % Color:矩形片的颜色(RGB);% Transparency:显示的透明度; 5 % flag:值为1时Start, Width, Length只支持数字,值为2时value支持元胞数组表达式 6 % HFSS中的Rectangle只可设置边界条件,不可设置材料属性 7 % 实例: 8 % hfssRectangle(fid, 'Rec1', 'Z', {'Rec_dx', 'Rec_dy', 'Rec_dz'}, 'Rec_W','Rec_L', 'mm',... 9 % "(132 132 193)", 0, 2); 10 % hfssRectangle(fid, 'Rec1', 'Z', [0,0,0], 1, 2, 'mm',... 11% "(132 132 193)", 0, 1) |
1 % hfssCircle(fid, CircleName, Axis, Center, Radius, Units, Color, Transparency,flag) 2 % CircleName:圆形片的名字;Axis:圆形片的法向轴向('X','Y'或'Z',大小写均可);Center:圆形片的圆心坐标; 3 % Radius:圆形片的半径;Units:单位 4 % Color:圆形片的颜色(RGB);% Transparency:显示的透明度; 5 % flag:值为1时Center, Radius只支持数字,值为2时value支持元胞数组表达式 6 % HFSS中的Circle只可设置边界条件,不可设置材料属性 7 % 实例: 8 % hfssCircle(fid, 'Cir1', 'Z',{'Cir_dx', 'Cir_dy', 'Cir_dz'}, 'Cir_R', 'mm',... 9 % "(128 128 128)", 0, 2) 10 % hfssCircle(fid, 'Cir1', 'Z',[0,0,0], 1, 'mm',... 11 % "(128 128 128)", 0, 1) |
需要注意上面的hfssRectangle,当坐标轴分别选取'X','Y'或'Z'时,按下面代码建立三个Rectangle模型。
1 hfssRectangle(fid, 'Rec1', 'X', {'Rec_dx', 'Rec_dy', 'Rec_dz'}, 'Rec_W','Rec_L', 'mm',... 2 "(255 128 0)", 0, 2); 3 hfssRectangle(fid, 'Rec2', 'Y', {'Rec_dx', 'Rec_dy', 'Rec_dz'}, 'Rec_W','Rec_L', 'mm',... 4 "(255 128 0)", 0, 2); 5 hfssRectangle(fid, 'Rec3', 'Z', {'Rec_dx', 'Rec_dy', 'Rec_dz'}, 'Rec_W','Rec_L', 'mm',... 6 "(255 128 0)", 0, 2) |
逐个点击这三个Rectangle,查看其属性会发现:若坐标轴选'X',则'Rec_W','Rec_L'分别赋值给Ysize和Zsize;若坐标轴选'Y',则'Rec_W','Rec_L'分别赋值给Zsize和Xsize;若坐标轴选'Z',则'Rec_W','Rec_L'分别赋值给Xsize和Ysize;即按着'X','Y','Z'顺序进行轮换式赋值。
在建模过程中,往往需要Unite和Subtract这两种加减型的布尔操作,这时候hfssUnite和hfssSubtract函数就派上用场了。
1 % hfssUnite(fid, ObjectList) 2 % ObjectList:待Unite的物体名字 3 % 实例: 4 % hfssUnite(fid, {'Object1Name', 'Object2Name', 'Object3Name'}); |
1 % hfssSubtract(fid, BigParts, SmallParts, KeepOriginals) 2 % BigParts:待减物品名字;SmallParts:被减的物体名字 3 % KeepOriginals:为false时不保留被减物,为true时则保留被减物 4 % 实例: 5 % hfssSubtract(fid, {'Object1Name'}, {'Object2Name'}, false); |
通过下面的视频可以直观感受下以上五个函数的建模作用,以及hfssSubtract的KeepOriginals为false和true时的差异:
上面视频的两段代码文件在文末的链接内,按个人情况按图索骥地修改tmpPrjFile,tmpScriptFile ,hfssExePath这几个路径和Design_name,将编写的MATLAB生成vbs脚本的.m文件与下载的hfssapi-by-Jianhui Huang放在同一个总文件夹内,点击运行即可生成vbs脚本(在自行赋值的tmpScriptFile的这个路径下)。vbs脚本可以直接点击运行,或者在HFSS软件中Run Script。
基础性地写代码编注释还是挺费时间和精力的,希望大家多点赞分享。
代码分享区
hfssapi-by-Jianhui Huang
下载地址(后续代码持续在下面链接更新):射频问问原文末尾自取
代码已封装好打包为p文件不可修改,每次重新下载覆盖,按函数注释进行掉包即可!
来源:HFSS-API入门第二弹:基本形状和操作 - RFASK射频问问
注释事项:MATLAB生成vbs脚本的.m文件与hfssapi-by-Jianhui Huang放在同一个总文件夹内。不要再examples文件夹内运行.m文件!
END
*本文的图片部分来自AnsysEM 18.2软件
作者:微波天线工程师
应读者朋友们对这个系列文章的喜爱,也为了能够让老师更系统更全面地介绍MATLAB-HFSS-API相关知识,现推出该系列课程,共25课时,欢迎大家加入课程学习!https://www.rfask.net/kc/v/41.html
关于RFASK射频问问
射频问问 (http://RFASK.NET) 是在"微波射频网 (http://MWRF.NET)”系列原创技术专栏基础上升级打造的技术问答学习平台,主要围绕射频芯片、微波电路、天线、雷达、卫星等相关技术领域,致力于为无线通信、微波射频、天线、雷达等行业的工程师,提供优质、原创的技术问答、专栏文章、射频课程等学习内容。更多请访问:http://www.rfask.net
HFSS-API入门第二弹:基本形状和操作相关推荐
- Linux入门第二弹!Xshell、Xftp、tomcat的Linux版本、双X的教学资源!
Linux入门第二弹!Xshell.Xftp.tomcat的Linux版本.双X的教学资源! 我们可以通过Xshell和Xftp进行简单的,远程连接Linux系统.并且可以使用图形化界面快捷的进行文件 ...
- Vue leaning(入门)第二弹
个人博客:https://blog.fmujie.cn/ 设定计算属性 setter 设置计算属性,同步更新元数据的值 =>(反推数据) <div id="myApp" ...
- java api教程_Java api 入门教程 之 JAVA的文件操作
I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程的一个基本 ...
- XSSFWorkbook 设置单元格样式_CVA高校精英计划第二弹:执行最佳操作,做好设置准备...
一. 什么是财务建模的12项最佳操作? 1.要有清晰的思路,明确创建模型的目的:建立清晰的建模思路,绘制模型的基本蓝图. 2.保持简单:遵守KISS(Keep It Simple,Stupid)原则, ...
- OpenProcess | Process32First | GetExitCodeProcess - WINDOWS API 第二弹 非通信方式的子进程获取父进程信息
OpenProcess | Process32First | GetExitCodeProcess - WINDOWS API 第二弹 进程相关 目录 一.得到父进程ID(Process32First ...
- IOS开发百度地图API入门到精通-用点生成路线,导航,气泡响应
(转)IOS开发百度地图API入门到精通-用点生成路线,导航,气泡响应 IOS百度地图API开发自定义气泡,点击气泡自动生成路线,以及拖拽 IOS百度地图开发POISearch搜索附近停车场,附近加油 ...
- SVG图形绘制入门第一弹
IT入门的路超级漫长--任何时候都发现有完全没听过的东西,比如说下方--原来认为svg就是图片,想着也是跟Ps一样画出来的,现在知道了竟然是用代码写的--,这条路我不知道啥时候才能进步到幼儿园的级别! ...
- 开源 | 蚂蚁金服分布式中间件开源第二弹:丰富微服务架构体系
小蚂蚁说: 数据.消息.微服务是蚂蚁金服自主研发的金融级分布式中间件 SOFA (Scalable Open Financial Architecture)的三大方向. 一个多月前,蚂蚁金服开源了 S ...
- 微信小程序开发第二弹
1.关于工具 微信官方提供了开发者工具,集成了开发调试.代码编辑及程序发布等功能.具体的文档在这里:微信官方文档,文档里面包含了该工具的基本操作,接下来就是下载工具了. 2.下载完工具之后,我们就可以 ...
最新文章
- 项目案例:Java多线程批量拆分List导入数据库
- 过程中存根的作用有_模温机的作用 模压过程中模温机的作用有哪些?
- 09-2.部署 dashboard 插件
- HTML5程序开发范例宝典 完整版 (韩旭等著) 中文pdf扫描版
- python实现数字时钟_Python 写的全屏数字时钟软件,看看还有什么改进的地方
- b700a怎么连蓝牙_233621蓝牙2.1无线音箱B700A小测
- java语言sql接口_Java语言SQL接口
- UCI机器学习数据集
- 菜鸟谈算法和数学对写程序的影响
- 算法 python实现(一) 基本常识
- splice方法_JavaScript数组_数组方法【一】(二十六)
- 数控dda法直线插补程序c语言,DDA法直线插补
- 谈到电影,我们收获了什么
- lisp块改色_关于CAD制图的技巧:篇九,快速修改颜色。
- 个人搭建独立博客,哪个程序比较好用
- jQuery实现广告图片轮播切换
- Nginx配置中的if判断
- 以全局产业观领航智慧城市建设
- iOS开发:获取系统WiFi名称,WiFi列表,WiFi强度,WiFi设置密码,WiFi副标题标签
- ie9兼容css正常吗,针对IE9的CSS兼容