學個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
+關注
關注
32文章
167瀏覽量
50343
原文標題:巧用HFSS腳本錄制功能
文章出處:【微信號:zhishexueshuquan,微信公眾號:知社學術圈】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論