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

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

3天内不再提示

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

iIeQ_mwrfnet 来源:微波射频网 作者:微波射频网 2021-05-10 11:14 次阅读

摘要:

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脚本录制:

63793654-b046-11eb-bf61-12bb97331649.png

6382eb90-b046-11eb-bf61-12bb97331649.png

Run Script后,HFSS软件提示报错,很多人第一次使用这个可能都会遇到这种问题。

其实只需要在录制脚本前,软件处于空文件状态(Project Manager下无Project和Design),这样从零开始录制的脚本执行起来就不会报错。

63b930f6-b046-11eb-bf61-12bb97331649.png

经过上述操作后录制的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脚本建模入门

文章出处:【微信公众号:微波射频网】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

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

    关注

    68

    文章

    3197

    浏览量

    140789
  • 仿真
    +关注

    关注

    50

    文章

    4073

    浏览量

    133556
  • hfss
    +关注

    关注

    32

    文章

    167

    浏览量

    50294

原文标题:学个Antenna:HFSS脚本建模入门

文章出处:【微信号:mwrfnet,微信公众号:微波射频网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    数字孪生三维可视化场景如何搭建?

    相关场景的物理数据,如建筑结构、设备信息、环境参数等。对数据进行清洗、整合和转换,以便后续的可视化处理。 场景建模:建立数字孪生场景的三维模型,使用专业建模
    的头像 发表于 11-06 14:40 204次阅读

    基于线框模式搭建的智慧楼宇 3D 可视化解决方案

    3D可视化
    阿梨是苹果
    发布于 :2024年08月01日 11:27:12

    数字孪生3D大屏可视化威廉希尔官方网站 应用优势

    数字孪生3D大屏可视化威廉希尔官方网站 是一种融合虚拟现实、增强现实和大数据等威廉希尔官方网站 的创新型可视化工具,为用户提供了沉浸式的交互体验,同时能够在大屏幕上展示高保真度的虚拟模型。这项威廉希尔官方网站 在多个领域有着广泛的应用,并且具有多重优势。
    的头像 发表于 07-31 15:05 502次阅读

    开关柜可视化操作是什么?

    开关柜的可视化是指通过图像、视频或3D模型等形式将开关柜内部结构和工作状态直观地展示出来,这种威廉希尔官方网站 在电力行业和工业自动领域越来越受到重视
    的头像 发表于 07-25 10:15 260次阅读
    开关柜<b class='flag-5'>可视化</b>操作是什么?

    三维可视化建筑建模特点

    三维可视化建筑建模是一种利用计算机威廉希尔官方网站 对建筑物进行立体表达和展示的过程,是建筑设计和规划中不可或缺的重要环节。在当今数字化时代,三维
    的头像 发表于 07-23 11:50 514次阅读

    3D可视化赋能智慧园区安防管理,开启园区管理新篇章!

           3D可视化,主要是研究大规模非数值型信息资源的视觉呈现,以及利用图形方面的威廉希尔官方网站 与方法,帮助人们理解和分析数据。        传统园区的信息往往数据不互通,业务难融合,
    的头像 发表于 07-17 10:57 322次阅读

    3d场景建模可视化,场景1:1还原

    3D场景建模可视化的威廉希尔官方网站 原理、方法和应用,旨在帮助读者深入了解这一领域的专业知识。 1.威廉希尔官方网站 原理 数学建模: 三维场景建模基于数学几何原理,
    的头像 发表于 07-12 14:49 280次阅读

    Jtti:使用DCIM软件实现数据中心可视化的主要优势

    如果一张图片值 1,000 个字,那么您的数据中心的丰富 3D 可视化的价值将是巨大的。借助可提供数据中心高保真视觉效果的 DCIM 软件,数据中心专业人员不必再浪费时间亲自前往数据中心。一目了然
    的头像 发表于 07-10 14:18 283次阅读

    3D建模的重要内容和应用

    和应用。 1. 建筑设计与规划 在建筑领域,3D建模被广泛应用于建筑设计和规划过程中。建筑师可以利用3D建模
    的头像 发表于 06-21 14:48 622次阅读

    如何实现园区大屏可视化

    孪生可视化 构建平台利用Web三维可视化威廉希尔官方网站 对现实场景进行仿真,实现园区级业务场景 的可视化呈现,助力企业快速完成项目的实施。实现园区场景立
    的头像 发表于 06-19 15:39 416次阅读
    如何实现园区大屏<b class='flag-5'>可视化</b>?

    3D建模的特点和优势都有哪些?

    的应用。 特点: 1.三维模型3D建模允许用户在虚拟空间内创建具有长度、宽度和高度的物体,从而形成真实感十足的三维模型。 2.精确性:通过3D
    的头像 发表于 05-13 16:41 2407次阅读

    FUXA基于Web的过程可视化软件案例

    FUXA——基于Web的过程可视化软件
    发表于 04-24 18:32 2次下载

    态势可视化系统软件

    ,也是指挥人员认识战场环境的最主要手段。而多维战场环境态势可视化就是利用战场环境态势信息,基于一致的空间基准, 以空间地理信息为可视化载体,叠加显示战场环境各要素,以计算机图形学、制图学和地理信息学等为手段,借助多种
    的头像 发表于 04-22 14:48 322次阅读

    包含具有多种类型信息的3D模型

    三维视图。事实上,AE可以在将3D BIM模型元素与时间因素联系起来后创建4D模型,从而更广泛地进行产品的可视化预览,更精确地分析建筑项目的实施进度。 以下五个BIM
    发表于 03-28 17:18