學(xué)個(gè)Antenna是以天線仿真和調(diào)試為主,理論原理為輔的干貨天線技術(shù)專欄,包括天線入門知識以及各類天線的原理簡介、仿真軟件建模、設(shè)計(jì)、調(diào)試過程及思路。如有想看到的內(nèi)容或技術(shù)問題,可以在文尾寫下留言。
摘要:
在學(xué)個(gè)Antenna:HFSS腳本建模入門中,介紹了利用HFSS自帶的Record Script To File功能進(jìn)行腳本錄制。但是大部分情況下,工程師們只是希望錄制簡單的后處理腳本。這期推文就來介紹下如何解放雙手,一鍵式處理。
本文使用的軟件為AnsysEM 18.2
0 1HFSS腳本錄制
在HFSS官方Help文檔(文末有PDF下載方式),詳細(xì)介紹了Scripting功能模塊。這節(jié)主要將有用的部分進(jìn)行簡單的翻譯并進(jìn)行相應(yīng)的實(shí)操講解。
--------------錄制腳本--------------一旦開始錄制腳本,在HFSS軟件中的所有后續(xù)操作都會(huì)添加到腳本中。腳本可以以.vbs (VBScript) 或者IronPython (*.py)的文件格式記錄到下來。-----------------------------------1. 在菜單上的Tool選項(xiàng)下找到Record Script To File,單擊即出現(xiàn)另存為對話框2. 使用文件瀏覽器找到要保存腳本的文件夾3.在文件名文本框中輸入腳本名稱,選擇腳本類型為Visual Basic Script (.vbs)或 IronPython (*.py),然后單擊保存腳本文件到你選擇的文件夾中
--------------運(yùn)行腳本--------------1. 單擊菜單上的Tool選項(xiàng)下Run Script,出現(xiàn)打開對話框。2. 使用文件瀏覽器找到需要運(yùn)行的腳本文件,然后單擊選中打開,然后執(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è)人猜測應(yīng)該是修改后,其編碼方式的問題。果然用txt打開該vbs腳本,點(diǎn)擊另存為后發(fā)現(xiàn),編碼方式變?yōu)榱酥С种形淖址腢TF-8。
話不多說,直接將編碼方式改為ANSI后保存,果然一切都正常了。
當(dāng)然,每次錄制完都人為改一下也是挺麻煩的。這里可以直接錄制為.py文件格式,修改后保存仍然不會(huì)出現(xiàn)第一行出現(xiàn)無效字符的報(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ù)后處理之類的啦,比如上面已經(jīng)錄制過的常見數(shù)據(jù)的導(dǎo)出。錄制完后可以右鍵以寫字板或者筆記本打開,對其中的一些參量進(jìn)行私人化的修改。
不過相比較CST的History List,HFSS在建模這塊沒有記錄給開發(fā)者對應(yīng)的腳本文件確實(shí)是硬傷。不過解決了Record Script To File功能的報(bào)錯(cuò)問題后,我們還是可以拼接化來實(shí)現(xiàn)建模的部分繁瑣功能的。
比如HFSS的Duplicate Along Line的可視化操作中,不支持輸入變量,移動(dòng)復(fù)制的總數(shù)僅僅支持寫死的數(shù)字。要是想構(gòu)建一個(gè)金屬化通孔隨著SIW結(jié)構(gòu)長度自適應(yīng)變化的模型,HFSS是沒法像CST那樣絲滑。
不過通過錄制腳本,在腳本里二次修改是可以設(shè)置平移距離為變量的。例如錄制了下面的.py腳本,將Y向平移量設(shè)置為Design Properties里已存在的dist變量,這樣修改其變量數(shù)值即可實(shí)現(xiàn)自適應(yīng)不同的間距;對于不同項(xiàng)目和設(shè)計(jì)文件,需要修改下面兩句代碼中雙引號中的名字,改為當(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)然,你可以通過腳本,將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文章
167瀏覽量
50407
原文標(biāo)題:巧用HFSS腳本錄制功能
文章出處:【微信號:zhishexueshuquan,微信公眾號:知社學(xué)術(shù)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
EE-235:VisualDSP腳本簡介
![EE-235:VisualDSP<b class='flag-5'>腳本</b>簡介](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
Linux從零到精通:最簡單的Shell腳本入門教程
![Linux從零到精通:最簡單的Shell<b class='flag-5'>腳本</b>入門教程](https://file1.elecfans.com/web3/M00/01/1E/wKgZPGdRCS2ACku7AAAiM7-x7u0394.png)
DM6446+TLV320AIC33錄音功能不好,表現(xiàn)為能聽到錄制的聲音,但聲音小,是哪里出了問題?
《DNK210使用指南 -CanMV版 V1.0》第二十九章 音頻錄制實(shí)驗(yàn)
Linux計(jì)劃任務(wù)crontab運(yùn)行腳本不正確的問題
TLV320AIC3254具有6路的語音錄制功能,可否生成6路完全獨(dú)立的音頻文件?
shell腳本執(zhí)行的三種方式及區(qū)別
執(zhí)行shell腳本的方式包括什么
shell腳本編寫之本地腳本的編寫和執(zhí)行
利用Python腳本登錄到交換機(jī)并創(chuàng)建VLAN
IP 地址在XSS中的利用與防范
Splashtop 的屏幕錄制功能如何提高 IT 合規(guī)性
![Splashtop 的屏幕<b class='flag-5'>錄制</b><b class='flag-5'>功能</b>如何提高 IT 合規(guī)性](https://file1.elecfans.com/web2/M00/F3/46/wKgaomZ5JEWAeKCFAAASLgv3TyA883.png)
評論