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

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

    关注

    71

    文章

    3530

    浏览量

    146051
  • 仿真
    +关注

    关注

    55

    文章

    4719

    浏览量

    140773
  • hfss
    +关注

    关注

    33

    文章

    169

    浏览量

    52115

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【某易云课堂】Three.js可视化企业实战WEBGL课jzit

    凭借其对WebGL的强大封装能力,成为了前端开发者实现Web 3D开发的首选工具。为了帮助开发者系统掌握这一前沿技术,【某易云课堂】精心推出了“Three.js可视化企业实战WEBGL课”,为渴望在
    发表于 08-27 17:02

    Three.js可视化企业实战WEBGL课,2023年全新WEB 3D THREEJS技术

    视角自由操控:OrbitControls轨道控制器配置与参数调优 在3D可视化场景搭建过程中,OrbitControls轨道控制器是实现用户自由视角操控最常用的核心组件,很多开发者直接使用默认配置
    发表于 08-26 15:16

    VirtualLab Fusion中可视化的个性设置

    与结果的可视化和图形显示相关的全局选项参数的用法。 如何访问全局选项 转到主窗口左上角的文件菜单,然后转到全局选项。 加载&保存全局选项 在配置了所有设置之后,除了保存类别中的文件路径外
    发表于 07-29 08:30

    VirtualLab Fusion中的可视化设置

    选项可以通过以下控件进行重置、加载和保存: **主窗口设置 ** **字体配置 ** **数字显示 ** **文档窗口设置 ** **1D数据数组可视化设置 ** **颜色表 ** **谐波场视图 ** **文件信息 ** 延
    发表于 06-03 08:28

    基于 HT for Web 3D 可视化智慧供热系统技术实现解析

    。同时供热管网架构层级复杂,涵盖热源厂、加压站、隔压站、多级换热站等设备节点,传统二维数据报表无法实现全域拓扑可视化、设备内部工况仿真及全流程动态监测。 随着 HTML5、WebGL、大数据及物联网技术普及,数字孪生 + 3D 可视化
    的头像 发表于 05-29 16:15 393次阅读
    基于 HT for Web <b class='flag-5'>3D</b> <b class='flag-5'>可视化</b>智慧供热系统技术实现解析

    基于 HT 的新能源电力可视化管控平台技术实现方案

    数据,利用 JavaScript 调用 HT API 完成业务数据与三维场景的联动交互。平台整体遵循轻量化建模 + 前端渲染 + 数据驱动的技术路线,实现电力场景 2D3D
    的头像 发表于 05-14 11:20 602次阅读
    基于 HT 的新能源电力<b class='flag-5'>可视化</b>管控平台技术实现方案

    基于 HT 的 2.5D 组态可视化技术方案与场景实现

    本文所述 2.5D 组态可视化方案,基于图扑软件HT 引擎构建。HT 是依托 WebGL 与 Canvas 实现的纯前端可视化插件,具备 2D
    的头像 发表于 04-28 14:13 640次阅读
    基于 HT 的 2.5<b class='flag-5'>D</b> 组态<b class='flag-5'>可视化</b>技术方案与场景实现

    高质量可视化大屏应该这样设计

    在数据驱动决策的当下,可视化大屏已成为企业数据呈现、业务监控的核心载体,图扑软件基于自研 HT for Web 前端可视化引擎,打造无需依赖第三方插件、纯 Web 端部署的 2D3D
    的头像 发表于 04-23 14:22 435次阅读
    高质量<b class='flag-5'>可视化</b>大屏应该这样设计

    水墨国风智慧大坝 3D 可视化系统技术实现

    水利工程作为国家基础设施关键组成部分,智慧大坝建设依托物联网、大数据、5G 与数字孪生技术,实现工程全域感知、智能管控。本文基于图扑软件 HT 引擎,从技术实现层面解析水墨国风智慧大坝 3D 可视化
    的头像 发表于 04-16 14:51 394次阅读
    水墨国风智慧大坝 <b class='flag-5'>3D</b> <b class='flag-5'>可视化</b>系统技术实现

    3D系统可视化

    本身的深入描述和F-Theta透镜的应用示例。 光学系统的3D-可视化 VirtualLab Fusion提供的工具可以实现光学系统的3D可视化,因此可以用于检查元件的位置,以及快速了
    发表于 03-30 09:25

    森林消防智慧预警技术实现:火灾监测 Web GIS 可视化平台搭建

    HTML5 技术体系,融合 GIS、3D 可视化、数据对接与实时交互技术,实现森林火灾的全流程智慧预警与救援指挥,同时该技术架构也可适配天然气站消防、防汛救灾等多场景可视化需求。 本平台的核心技术支撑为图扑
    的头像 发表于 03-19 11:31 620次阅读
    森林消防智慧预警技术实现:火灾监测 Web GIS <b class='flag-5'>可视化</b>平台搭建

    基于图扑 HT 数字孪生 3D 风电场可视化系统实现解析

    了数字孪生 3D 风电场可视化系统,实现了风电场全场景的远程监测、智能巡检与数字管理。本文从技术角度出发,结合系统功能模块,深入解析各核心功能的实现逻辑与技术路径。 系统以 HT for Web 为核心技术支撑,该引擎基于 W
    的头像 发表于 01-09 15:35 954次阅读
    基于图扑 HT 数字孪生 <b class='flag-5'>3D</b> 风电场<b class='flag-5'>可视化</b>系统实现解析

    技术资讯 I 多板系统 3D 建模,提升设计精度和性能

    制造环节测试、优化设计,进行概念验证,提高成本效益和设计精度。工程师在CAD程序中设计新器件。3D建模3D建模指的是
    的头像 发表于 11-21 17:45 2935次阅读
    技术资讯 I 多板系统 <b class='flag-5'>3D</b> <b class='flag-5'>建模</b>,提升设计精度和性能

    【产品介绍】Altair HyperView用于仿真和CAE分析的后处理和数据可视化

    详细的交互式3D数据可视化以及FEA和多体系统仿真结果的探索。轻松管理大型结果文件,并将数据转换为综合动画。HyperView的多学科查看器增强了用户对复杂仿真的
    的头像 发表于 09-19 17:02 1596次阅读
    【产品介绍】Altair HyperView用于仿真和CAE分析的后处理和数据<b class='flag-5'>可视化</b>

    数字孪生可视化系统构建行业数字智能管理生态!

    数字孪生可视化系统具备丰富的模型组件,包括二维平面组件及3D模型组件,可根据用户需求进行定制。数字孪生可视化系统在行业数字升级、数字
    的头像 发表于 09-19 11:45 1173次阅读
    数字孪生<b class='flag-5'>可视化</b>系统构建行业数字<b class='flag-5'>化</b>智能管理生态!