學(xué)個(gè)Antenna是以天線仿真和調(diào)試為主,理論原理為輔的干貨天線技術(shù)專(zhuān)欄,包括天線入門(mén)知識(shí)以及各類(lèi)天線的原理簡(jiǎn)介、仿真軟件建模、設(shè)計(jì)、調(diào)試過(guò)程及思路。如有想看到的內(nèi)容或技術(shù)問(wèn)題,可以在文尾寫(xiě)下留言。
摘要:
在學(xué)個(gè)Antenna:HFSS腳本建模入門(mén)中,介紹了利用HFSS自帶的Record Script To File功能進(jìn)行腳本錄制。但是大部分情況下,工程師們只是希望錄制簡(jiǎn)單的后處理腳本。這期推文就來(lái)介紹下如何解放雙手,一鍵式處理。
本文使用的軟件為AnsysEM 18.2
0 1HFSS腳本錄制
在HFSS官方Help文檔(文末有PDF下載方式),詳細(xì)介紹了Scripting功能模塊。這節(jié)主要將有用的部分進(jìn)行簡(jiǎn)單的翻譯并進(jìn)行相應(yīng)的實(shí)操講解。
--------------錄制腳本--------------一旦開(kāi)始錄制腳本,在HFSS軟件中的所有后續(xù)操作都會(huì)添加到腳本中。腳本可以以.vbs (VBScript) 或者IronPython (*.py)的文件格式記錄到下來(lái)。-----------------------------------1. 在菜單上的Tool選項(xiàng)下找到Record Script To File,單擊即出現(xiàn)另存為對(duì)話框2. 使用文件瀏覽器找到要保存腳本的文件夾3.在文件名文本框中輸入腳本名稱(chēng),選擇腳本類(lèi)型為Visual Basic Script (.vbs)或 IronPython (*.py),然后單擊保存腳本文件到你選擇的文件夾中
--------------運(yùn)行腳本--------------1. 單擊菜單上的Tool選項(xiàng)下Run Script,出現(xiàn)打開(kāi)對(duì)話框。2. 使用文件瀏覽器找到需要運(yùn)行的腳本文件,然后單擊選中打開(kāi),然后執(zhí)行腳本命令
下面是錄制一個(gè)vbs腳本,將仿真的S11的數(shù)據(jù)導(dǎo)出到指定路徑,并命名為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”
如果只是錄制好,不需要二次修改,不會(huì)出現(xiàn)異?,F(xiàn)象,但是!
如果右鍵編輯vbs,想將路徑修改下并保存,你會(huì)發(fā)現(xiàn)Run Script就會(huì)報(bào)錯(cuò)啦!
個(gè)人猜測(cè)應(yīng)該是修改后,其編碼方式的問(wèn)題。果然用txt打開(kāi)該vbs腳本,點(diǎn)擊另存為后發(fā)現(xiàn),編碼方式變?yōu)榱酥С种形淖址腢TF-8。
話不多說(shuō),直接將編碼方式改為ANSI后保存,果然一切都正常了。
當(dāng)然,每次錄制完都人為改一下也是挺麻煩的。這里可以直接錄制為.py文件格式,修改后保存仍然不會(huì)出現(xiàn)第一行出現(xiàn)無(wú)效字符的報(bào)錯(cuò)現(xiàn)象!
# ----------------------------------------------
# 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腳本錄制能干啥
第一作用當(dāng)然是數(shù)據(jù)后處理之類(lèi)的啦,比如上面已經(jīng)錄制過(guò)的常見(jiàn)數(shù)據(jù)的導(dǎo)出。錄制完后可以右鍵以寫(xiě)字板或者筆記本打開(kāi),對(duì)其中的一些參量進(jìn)行私人化的修改。
不過(guò)相比較CST的History List,HFSS在建模這塊沒(méi)有記錄給開(kāi)發(fā)者對(duì)應(yīng)的腳本文件確實(shí)是硬傷。不過(guò)解決了Record Script To File功能的報(bào)錯(cuò)問(wèn)題后,我們還是可以拼接化來(lái)實(shí)現(xiàn)建模的部分繁瑣功能的。
比如HFSS的Duplicate Along Line的可視化操作中,不支持輸入變量,移動(dòng)復(fù)制的總數(shù)僅僅支持寫(xiě)死的數(shù)字。要是想構(gòu)建一個(gè)金屬化通孔隨著SIW結(jié)構(gòu)長(zhǎng)度自適應(yīng)變化的模型,HFSS是沒(méi)法像CST那樣絲滑。
不過(guò)通過(guò)錄制腳本,在腳本里二次修改是可以設(shè)置平移距離為變量的。例如錄制了下面的.py腳本,將Y向平移量設(shè)置為Design Properties里已存在的dist變量,這樣修改其變量數(shù)值即可實(shí)現(xiàn)自適應(yīng)不同的間距;對(duì)于不同項(xiàng)目和設(shè)計(jì)文件,需要修改下面兩句代碼中雙引號(hào)中的名字,改為當(dāng)前執(zhí)行Run Script下的項(xiàng)目名和設(shè)計(jì)文件:
oProject=oDesktop.SetActiveProject(“Project3”)
oDesign=oProject.SetActiveDesign(“HFSSDesign1”)
在“Selections:=” , “Box1,Cone1,Cylinder1”中增加需要平移復(fù)制的Object;XComponent,YComponent,ZComponent,NumClones分別代表往x,y,z方向平移的距離和復(fù)制的總個(gè)數(shù)(包括本體)
# ----------------------------------------------
# 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
])
當(dāng)然,你可以通過(guò)腳本,將Total Number修改為變量,但是在Design Properties中修改num的值,其平移復(fù)制的個(gè)數(shù)并不會(huì)產(chǎn)生變化。
比如下面將num改為10,Modeler里顯示的Num也變?yōu)榱?0個(gè),但實(shí)際的模型里還是平移復(fù)制了20個(gè)。有興趣的讀者可以親自試試?。?!
編輯:jq
-
hfss
+關(guān)注
關(guān)注
32文章
168瀏覽量
51486
原文標(biāo)題:巧用HFSS腳本錄制功能
文章出處:【微信號(hào):zhishexueshuquan,微信公眾號(hào):知社學(xué)術(shù)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
如何巧妙甚至避免單片機(jī)的干擾問(wèn)題
泰克MP5000系列的TSP Toolkit I-V腳本生成功能
SSH與Xshell的本質(zhì)區(qū)別及功能對(duì)比
【書(shū)籍評(píng)測(cè)活動(dòng)NO.66】玩轉(zhuǎn)高速電路:基于ANSYS HFSS的無(wú)源仿真實(shí)例
LuatOS腳本開(kāi)發(fā)入門(mén):嵌入式運(yùn)行框架全解析!
嵌入式開(kāi)發(fā)新選擇:LuatOS腳本框架入門(mén)教程
為什么UAC設(shè)備錄制和播放時(shí)會(huì)定期產(chǎn)生噪音?
請(qǐng)問(wèn)為什么UAC設(shè)備錄制和播放時(shí)會(huì)定期產(chǎn)生噪音?
STM32CubeIDE編譯設(shè)置是否有像keil一樣有編譯后執(zhí)行Bat腳本的功能和設(shè)置?
HFSS 自動(dòng)化建模工具
HarmonyOS NEXT 原生應(yīng)用/元服務(wù)-DevEco Profiler性能問(wèn)題定位深度錄制
支持多臺(tái)機(jī)統(tǒng)一管控可同時(shí)錄制6間會(huì)議室的錄播主機(jī)
EE-235:VisualDSP腳本簡(jiǎn)介
Linux從零到精通:最簡(jiǎn)單的Shell腳本入門(mén)教程

如何巧妙利用HFSS腳本錄制功能
評(píng)論