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

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

3天内不再提示

如何巧妙利用HFSS脚本录制功能

ExMh_zhishexues 来源:微波射频网 作者:94巨蟹座少年 2021-07-29 11:15 次阅读

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

摘要:

在学个Antenna:HFSS脚本建模入门中,介绍了利用HFSS自带的Record Script To File功能进行脚本录制。但是大部分情况下,工程师们只是希望录制简单的后处理脚本。这期推文就来介绍下如何解放双手,一键式处理。

本文使用的软件为AnsysEM 18.2

0 1HFSS脚本录制

在HFSS官方Help文档(文末有PDF下载方式),详细介绍了Scripting功能模块。这节主要将有用的部分进行简单的翻译并进行相应的实操讲解。

--------------录制脚本--------------一旦开始录制脚本,在HFSS软件中的所有后续操作都会添加到脚本中。脚本可以以.vbs (VBScript) 或者IronPython (*.py)的文件格式记录到下来。-----------------------------------1. 在菜单上的Tool选项下找到Record Script To File,单击即出现另存为对话框2. 使用文件浏览器找到要保存脚本的文件夹3.在文件名文本框中输入脚本名称,选择脚本类型为Visual Basic Script (.vbs)或 IronPython (*.py),然后单击保存脚本文件到你选择的文件夹中

--------------运行脚本--------------1. 单击菜单上的Tool选项下Run Script,出现打开对话框。2. 使用文件浏览器找到需要运行的脚本文件,然后单击选中打开,然后执行脚本命令

下面是录制一个vbs脚本,将仿真的S11的数据导出到指定路径,并命名为S11.csv

Dim oAnsoftApp

Dim oDesktop

Dim oProject

Dim oDesign

Dim oEditor

Dim oModule

Set oAnsoftApp = CreateObject(“Ansoft.ElectronicsDesktop”)

Set oDesktop = oAnsoftApp.GetAppDesktop()

oDesktop.RestoreWindow

Set oProject = oDesktop.SetActiveProject(“veedipole_simu”)

Set oDesign = oProject.SetActiveDesign(“veeDipole_idealFeed”)

Set oModule = oDesign.GetModule(“ReportSetup”)

oModule.ExportToFile “S11”, “C:/Users/Administrator/Desktop/S11.csv”

如果只是录制好,不需要二次修改,不会出现异常现象,但是!

如果右键编辑vbs,想将路径修改下并保存,你会发现Run Script就会报错啦!

个人猜测应该是修改后,其编码方式的问题。果然用txt打开该vbs脚本,点击另存为后发现,编码方式变为了支持中文字符的UTF-8。

话不多说,直接将编码方式改为ANSI后保存,果然一切都正常了。

当然,每次录制完都人为改一下也是挺麻烦的。这里可以直接录制为.py文件格式,修改后保存仍然不会出现第一行出现无效字符的报错现象!

# ----------------------------------------------

# Script Recorded by ANSYS Electronics Desktop Version 2017.2.0

# ----------------------------------------------

import ScriptEnv

ScriptEnv.Initialize(“Ansoft.ElectronicsDesktop”)

oDesktop.RestoreWindow()

oProject = oDesktop.SetActiveProject(“veedipole_simu”)

oDesign = oProject.SetActiveDesign(“veeDipole_idealFeed”)

oModule = oDesign.GetModule(“ReportSetup”)

oModule.ExportToFile(“S11”, “C:/Users/Administrator/Desktop/S11_new.csv”)

0 2脚本录制能干啥

第一作用当然是数据后处理之类的啦,比如上面已经录制过的常见数据的导出。录制完后可以右键以写字板或者笔记本打开,对其中的一些参量进行私人化的修改。

不过相比较CST的History List,HFSS在建模这块没有记录给开发者对应的脚本文件确实是硬伤。不过解决了Record Script To File功能的报错问题后,我们还是可以拼接化来实现建模的部分繁琐功能的。

比如HFSS的Duplicate Along Line的可视化操作中,不支持输入变量,移动复制的总数仅仅支持写死的数字。要是想构建一个金属化通孔随着SIW结构长度自适应变化的模型,HFSS是没法像CST那样丝滑。

不过通过录制脚本,在脚本里二次修改是可以设置平移距离为变量的。例如录制了下面的.py脚本,将Y向平移量设置为Design Properties里已存在的dist变量,这样修改其变量数值即可实现自适应不同的间距;对于不同项目和设计文件,需要修改下面两句代码中双引号中的名字,改为当前执行Run Script下的项目名和设计文件:

oProject=oDesktop.SetActiveProject(“Project3”)

oDesign=oProject.SetActiveDesign(“HFSSDesign1”)

在“Selections:=” , “Box1,Cone1,Cylinder1”中增加需要平移复制的Object;XComponent,YComponent,ZComponent,NumClones分别代表往x,y,z方向平移的距离和复制的总个数(包括本体)

# ----------------------------------------------

# Script Recorded by ANSYS Electronics Desktop Version 2017.2.0

# ----------------------------------------------

import ScriptEnv

ScriptEnv.Initialize(“Ansoft.ElectronicsDesktop”)

oDesktop.RestoreWindow()

oProject = oDesktop.SetActiveProject(“Project3”)

oDesign = oProject.SetActiveDesign(“HFSSDesign1”)

oEditor = oDesign.SetActiveEditor(“3D Modeler”)

oEditor.DuplicateAlongLine(

“NAME:Selections”,

“Selections:=” , “Box1,Cone1,Cylinder1”,

“NewPartsModelFlag:=” , “Model”

],

“NAME:DuplicateToAlongLineParameters”,

“CreateNewObjects:=” , True,

“XComponent:=” , “0mm”,

“YComponent:=” , “dist”,

“ZComponent:=” , “0mm”,

“NumClones:=” , “8”

],

“NAME:Options”,

“DuplicateAssignments:=”, False

],

“CreateGroupsForNewObjects:=”, False

])

当然,你可以通过脚本,将Total Number修改为变量,但是在Design Properties中修改num的值,其平移复制的个数并不会产生变化。

比如下面将num改为10,Modeler里显示的Num也变为了10个,但实际的模型里还是平移复制了20个。有兴趣的读者可以亲自试试!!!

编辑:jq

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

    关注

    31

    文章

    167

    浏览量

    49850

原文标题:巧用HFSS脚本录制功能

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

收藏 人收藏

    评论

    相关推荐

    一个简单的Shiro RCE检测和利用脚本

    一个简单的Shiro RCE检测和利用脚本
    的头像 发表于 01-09 09:46 193次阅读

    shell脚本调试技巧

    0、专业脚本的规范格式 函数1函数2main函数main$* 1、使用dos2unix命令转换来自windows下开发的脚本 dos2unix默认是没有安装的,可以yum 安装
    发表于 12-28 16:57

    hfss怎么让天线发生弯曲

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

    脚本错误scripterror怎么解决

    分析和排查。以下是一些常见的解决脚本错误的方法: 检查语法错误: 仔细检查脚本中的代码,看是否有拼写错误、缺少分号、括号不匹配等语法错误。 在一些集成开发环境(IDE)或代码编辑器中,可以借助自动完成、语法高亮等功能来辅助检查语
    的头像 发表于 11-26 14:46 2780次阅读

    shell实例三(编写批量修改扩展名脚本)

    实现功能: 编写批量修改扩展名脚本,如批量将 txt 文件修改为 doc 文件 执行脚本时,需要给脚本添加位置参数
    的头像 发表于 11-09 09:35 247次阅读
    shell实例三(编写批量修改扩展名<b class='flag-5'>脚本</b>)

    如何利用shell进行脚本程序的设计?

    利用Shell进行脚本程序的设计可以按照以下步骤进行: 选择Shell解释器:在Unix和Linux系统中,通常会默认安装一个或多个Shell解释器,其中最常见且功能强大的是Bash(Bourne
    的头像 发表于 11-08 10:17 279次阅读

    编写一个点名器脚本

    目的:编写一个脚本,可以将准别好的名字合集的.txt传入脚本,然后每次随机显示一个人的姓名
    的头像 发表于 11-06 12:41 333次阅读
    编写一个点名器<b class='flag-5'>脚本</b>

    基于ADS与HFSS的带状线功分器的设计与实现

    电子发烧友网站提供《基于ADS与HFSS的带状线功分器的设计与实现.pdf》资料免费下载
    发表于 10-25 11:25 7次下载
    基于ADS与<b class='flag-5'>HFSS</b>的带状线功分器的设计与实现

    STM32Cube LL库的巧妙之处

    STM32Cube LL库的巧妙之处
    的头像 发表于 09-27 16:26 927次阅读
    STM32Cube LL库的<b class='flag-5'>巧妙</b>之处

    HFSS电磁仿真设计应用详解

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

    使用Shell脚本掩盖Linux上的操作痕迹

    使用 Shell 脚本在 Linux 服务器上能够控制、毁坏或者获取任何东西,通过一些巧妙的攻击方法黑客可能会获取巨大的价值,但大多数攻击也留下踪迹。
    的头像 发表于 05-23 09:15 432次阅读
    使用Shell<b class='flag-5'>脚本</b>掩盖Linux上的操作痕迹

    千视NDI系列重磅产品——NDI多通道录制设备CUBE R1

    对于真人秀节目、重要会议、以及各类重大视频演示项目,您一定需要一套独立且安全的视频录制设备:它可以专注录制功能,支持多通道同步录制,方便安装部署、
    的头像 发表于 05-15 09:56 502次阅读
    千视NDI系列重磅产品——NDI多通道<b class='flag-5'>录制</b>设备CUBE R1

    Bash脚本中特殊变量$0是什么?

    在 Bash 脚本中,`$0` 是一个特殊变量,它代表当前脚本的路径和名称。这个变量用于表示脚本自身,它是 Bash 环境中的一个重要组成部分。`$0` 变量是一个只读变量,无法更改。
    的头像 发表于 05-12 14:41 1499次阅读

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

      仿真步骤如下:   步骤 1:使用 HFSS 天线工具包查找天线单元模板   为 5G 应用创建天线阵列的第一步是使用 HFSS天线工具包提出天线单元模板。这个天线单元将定义一个单一的部分,最终
    发表于 05-05 09:58

    微课录制系统的教学应用功能与优势

    随着数字化、网络化和智能化的发展,虚拟现实技术、微课录制、在线教学平台层出不穷,对教育教学也产生了重要的影响作用,让教育也逐渐迈向了在线化和虚拟化。英途信息微课录制系统的研发可以用于高校教师课程录播
    的头像 发表于 04-23 10:48 308次阅读