0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

HFSS-API常用的基本形状和布尔操作函数

ExMh_zhishexues 来源:微波射频网 作者:94巨蟹座少年 2021-08-27 15:38 次阅读

摘要:

上节HFSS-API入门第一弹:画个Box主要是分享了调用改良hfssapi新建工程和设计文件并插入变量画一个参数化的Box,本期推文将推送常用的基本形状和布尔操作函数。欢迎小伙伴们阅读、分享、再看,转发给更多有需要的人!喜欢的小伙伴可赞赏下作者哦。

本文使用的软件为MATLAB2019a和AnsysEM 18.2

0 1 简单介绍

常规模型大家只需要用到画方块、柱子、矩形片、圆形,并对其进行UniteSubtract之类的布尔操作即可。上次推文已经介绍了hfssBox的函数用法,下节将先对hfssCylinder,hfssRectangle,hfssCircle进行函数使用讲解,然后介绍hfssUnite和hfssSubtract的加减操作函数。

拉到文末有下载改良后的hfssapi,建议收藏链接,后续新出的函数会不定期在该文件夹内更新。文件也不大,几百kB,每次有更新重新下载覆盖即可。

先提醒下matlab打开有中文注释代码乱码问题,按下图所示将Editor的Font改为Monospaced即可。

对于设置Color,有的人想花里胡哨地配色的话,可以进行RGB三色的颜色查询:https://www.sojson.com/rgb.html。没有绝对颜感的人不要轻易尝试,否则配出来会是下图这种样子。可能你觉得很绚丽,但是真的很乡村风啊!!!本人还是习惯用上次推文的三种配色,极简最好。

0 2 函数使用教程

接下来先介绍三个建模常用的函数:hfssCylinder,hfssRectangle,hfssCircle。

% hfssCylinder(fid, CylinderName, Axis, Center, Radius, Height, Units, Color, Material, Transparency, flag)% CylinderName:圆柱的名字;Axis:圆柱建模的中心轴向(‘X’,‘Y’或‘Z’,大小写均可);Center:圆柱底面的圆心坐标;% Radius:圆柱底面的圆半径;Height:圆柱的高度;Units:单位% Color:圆柱的颜色(RGB);Material:材料名字(不要随便自己整个名字,必须是HFSS材料库里的名字);% Transparency:显示的透明度;flag:值为1时Center, Radius, Height只支持数字,值为2时value支持元胞数组表达式% 实例:% hfssCylinder(fid, ‘Cy1’, ‘Z’, {‘Cy_dx’, ‘Cy_dy’, ‘Cy_dz’}, ‘Cy_R’,‘Cy_H’, ‘mm’,...% “(132 132 193)”, “FR4_epoxy”, 0, 2);% hfssCylinder(fid, ‘Cy1’, ‘Z’, [0,0,0], 0.5,2, ‘mm’,...% “(132 132 193)”, “FR4_epoxy”, 0, 1);

% hfssRectangle(fid, RectangleName, Axis, Start, Width, Length, Units, Color, Transparency,flag)% RectangleName:矩形片的名字;Axis:矩形片的法向轴向(‘X’,‘Y’或‘Z’,大小写均可);% Start:矩形片的起始基点;% Width:矩形片的宽;Length:矩形片的长;Units:单位% Color:矩形片的颜色(RGB);% Transparency:显示的透明度;% flag:值为1时Start, Width, Length只支持数字,值为2时value支持元胞数组表达式% HFSS中的Rectangle只可设置边界条件,不可设置材料属性% 实例:% hfssRectangle(fid, ‘Rec1’, ‘Z’, {‘Rec_dx’, ‘Rec_dy’, ‘Rec_dz’}, ‘Rec_W’,‘Rec_L’, ‘mm’,...% “(132 132 193)”, 0, 2);% hfssRectangle(fid, ‘Rec1’, ‘Z’, [0,0,0], 1, 2, ‘mm’,...% “(132 132 193)”, 0, 1);

% hfssCircle(fid, CircleName, Axis, Center, Radius, Units, Color, Transparency,flag)% CircleName:圆形片的名字;Axis:圆形片的法向轴向(‘X’,‘Y’或‘Z’,大小写均可);Center:圆形片的圆心坐标;% Radius:圆形片的半径;Units:单位% Color:圆形片的颜色(RGB);% Transparency:显示的透明度;% flag:值为1时Center, Radius只支持数字,值为2时value支持元胞数组表达式% HFSS中的Circle只可设置边界条件,不可设置材料属性% 实例:% hfssCircle(fid, ‘Cir1’, ‘Z’,{‘Cir_dx’, ‘Cir_dy’, ‘Cir_dz’}, ‘Cir_R’, ‘mm’,...% “(128 128 128)”, 0, 2)% hfssCircle(fid, ‘Cir1’, ‘Z’,[0,0,0], 1, ‘mm’,...% “(128 128 128)”, 0, 1)

需要注意上面的hfssRectangle,当坐标轴分别选取‘X’,‘Y’或‘Z’时,按下面代码建立三个Rectangle模型。

hfssRectangle(fid, ‘Rec1’, ‘X’, {‘Rec_dx’, ‘Rec_dy’, ‘Rec_dz’}, ‘Rec_W’,‘Rec_L’, ‘mm’,...“(255 128 0)”, 0, 2);hfssRectangle(fid, ‘Rec2’, ‘Y’, {‘Rec_dx’, ‘Rec_dy’, ‘Rec_dz’}, ‘Rec_W’,‘Rec_L’, ‘mm’,...“(255 128 0)”, 0, 2);hfssRectangle(fid, ‘Rec3’, ‘Z’, {‘Rec_dx’, ‘Rec_dy’, ‘Rec_dz’}, ‘Rec_W’,‘Rec_L’, ‘mm’,...“(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函数就派上用场了。

% hfssUnite(fid, ObjectList)% ObjectList:待Unite的物体名字% 实例:% hfssUnite(fid, {‘Object1Name’, ‘Object2Name’, ‘Object3Name’});

% hfssSubtract(fid, BigParts, SmallParts, KeepOriginals)% BigParts:待减物品名字;SmallParts:被减的物体名字% KeepOriginals:为false时不保留被减物,为true时则保留被减物% 实例:% 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

下载链接(后续代码持续在下面链接更新):

https://pan.baidu.com/s/1N0EE3Uv7krkypfzi9vxCvg

提取码:o5p5

代码已封装好打包为p文件不可修改,每次重新下载覆盖,按函数注释进行掉包即可!

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

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 文件
    +关注

    关注

    1

    文章

    540

    浏览量

    24392
  • 函数
    +关注

    关注

    3

    文章

    3859

    浏览量

    61297
  • hfss
    +关注

    关注

    31

    文章

    167

    浏览量

    49851

原文标题:HFSS-API入门第二弹:基本形状和操作

文章出处:【微信号:zhishexueshuquan,微信公众号:知社学术圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    回调函数(callback)是什么?回调函数的实现方法

    回调函数是一种特殊的函数,它作为参数传递给另一个函数,并在被调用函数执行完毕后被调用。回调函数常用
    发表于 03-12 11:46 262次阅读

    hfss怎么让天线发生弯曲

    HFSS是一种电磁仿真软件,用于设计和分析微波和无线电频段的天线。在HFSS中,让天线发生弯曲需要按照以下步骤进行操作: 步骤1:打开HFSS软件并新建一个项目。选择“File”菜单中
    的头像 发表于 12-15 09:21 890次阅读

    创造多样信号的万能工具:函数/任意波形发生器

    函数/任意波形发生器是现代电子测试和实验中常用的仪器之一,用于产生各种形状和频率的信号。
    的头像 发表于 11-02 12:40 467次阅读

    HFSS电磁仿真设计应用详解

    HFSS电磁仿真设计应用详解》随书hfss仿真模型
    发表于 09-26 07:36

    什么是HOOK函数?HOOK函数的用途和用法

    市面上绝大多数操作系统,都存在这样一类API函数接口:HOOK函数(也叫钩子函数)。
    发表于 09-13 09:31 724次阅读
    什么是HOOK<b class='flag-5'>函数</b>?HOOK<b class='flag-5'>函数</b>的用途和用法

    布尔类型及常用内置函数(2)#Python

    编程函数代码python
    未来加油dz
    发布于 :2023年08月24日 11:56:44

    布尔类型及常用内置函数(1)#Python

    编程函数代码python
    未来加油dz
    发布于 :2023年08月24日 11:55:36

    MATLAB常用基本函数 MATLAB使用技巧

      MATLAB常用的基本数学函数  abs(x):纯量的绝对值或向量的长度  angle(z):复 数z的相角(Phase angle)  sqrt(x):开平方  real(z):复数
    发表于 07-19 09:52 0次下载

    Linux Regmap 操作函数

    Regmap 操作函数 1、Regmap 申请与初始化 regmap 支持多种物理总线,比如 I2C 和 SPI,我们需要根据所使用的接口来选择合适的 regmap 初始化函数。Linux 内核提供
    的头像 发表于 07-06 17:31 1646次阅读

    求解布尔SAT的方法

    。换句话说,它询问给定布尔公式的变量是否可以被一致地替换为真值或假值,使公式求值为真。如果是这样,那么这个公式就是可满足的。另一方面,如果不存在这样的赋值,那么该公式所表示的函数对于所有可能的变量赋值都为假,该公式不可满足1。 追根溯源,SAT是第一个已知的N
    的头像 发表于 06-27 09:56 568次阅读
    求解<b class='flag-5'>布尔</b>SAT的方法

    API技巧集(二)

    (一)不规则窗口 Windows提供的只是标准的矩形窗口,要想建立一个不规则的窗口就需要调用API函数来实现。建立一个不规则的窗口,一般是先用创建区域的API函数建立一个不规则的区域,
    的头像 发表于 05-22 16:49 688次阅读

    STM32电机控制--API函数应用

    基于ST MC SDK 5.2版本的应用 一般的电机操作调用API就足够控制基本的电机运行 下图是API函数的列表:1. 应用一 :API
    发表于 05-06 14:26 1次下载
    STM32电机控制--<b class='flag-5'>API</b><b class='flag-5'>函数</b>应用

    如何使用HFSS设计5G天线阵列?

    的属性。   几分钟后,该工具包将为工程师提供天线单元的起始几何形状HFSS 还将计算天线单元的增益和回波损耗。   步骤 2:将天线单元放入天线阵列   一旦工程师有了天线单元,下一步就是将其放入
    发表于 05-05 09:58