<address id="rjnbn"></address>

          <address id="rjnbn"></address>

            <address id="rjnbn"></address>

              巧用HFSS腳本錄制功能

              2022-01-12 來源:微波射頻網 作者:94巨蟹座少年 字號:

              學個Antenna是以天線仿真和調試為主,理論原理為輔的干貨天線技術專欄,包括天線入門知識以及各類天線的原理簡介、仿真軟件建模、設計、調試過程及思路。如有想看到的內容或技術問題,可以在文尾寫下留言。

              摘要:

              學個Antenna:HFSS腳本建模入門中,介紹了利用HFSS自帶的Record Script To File功能進行腳本錄制。但是大部分情況下,工程師們只是希望錄制簡單的后處理腳本。這期推文就來介紹下如何解放雙手,一鍵式處理。

              本文使用的軟件為AnsysEM 18.2

              HFSS腳本錄制

              在HFSS官方Help文檔(文末有PDF下載方式),詳細介紹了Scripting功能模塊。這節主要將有用的部分進行簡單的翻譯并進行相應的實操講解。

              1  --------------錄制腳本--------------

              2  一旦開始錄制腳本,在HFSS軟件中的所有后續操作都會添加到腳本中。腳本可以

              3  以.vbs (VBScript) 或者IronPython (*.py)的文件格式記錄到下來。

              4  -----------------------------------

              5  1. 在菜單上的Tool選項下找到Record Script To File,單擊即出現另存為對話框

              6  2. 使用文件瀏覽器找到要保存腳本的文件夾

              7  3.在文件名文本框中輸入腳本名稱,選擇腳本類型為Visual Basic Script (.vbs)

              8  或 IronPython (*.py),然后單擊保存腳本文件到你選擇的文件夾中

               

              1  --------------運行腳本--------------

              2  1. 單擊菜單上的Tool選項下Run Script,出現打開對話框。

              3  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.SetA

              ctiveDesign("veeDipole_idealFeed")
              Set oModule = oDesign.GetModule("ReportSetup")
              oModule.ExportToFile "S11""C:/Users/Administrator/Desktop/S11.csv"

              如果只是錄制好,不需要二次修改,不會出現異?,F象,但是?。?!

              如果右鍵編輯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")

              腳本錄制能干啥

              第一作用當然是數據后處理之類的啦,比如上面已經錄制過的常見數據的導出。錄制完后可以右鍵以寫字板或者筆記本打開,對其中的一些參量進行私人化的修改。

              不過相比較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個。有興趣的讀者可以親自試試!!!

              下載HFSS官方Help文檔

              下載鏈接:

              https://pan.baidu.com/s/11acZvC_LNFuaospXHF7Tzg

              提取碼:27db

              *本文的圖片部分來自AnsysEM 18.2軟件

              *歡迎左側一鍵轉發至朋友圈,同時右側在看與點贊

              以上便是要給大家分享的內容,希望對大家有所幫助~~大家持續關注“微波射頻網”,后續精彩不斷~
              本期原創工程師:94巨蟹座少年

              本文為MWRF.NET原創文章,未經允許不得轉載,如需轉載請聯系market#mwrf.net(#換成@)

              主題閱讀:HFSS腳本錄制    數據處理
              舌头在她双腿间搅动小说
              <address id="rjnbn"></address>

                      <address id="rjnbn"></address>

                        <address id="rjnbn"></address>