国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

CST的VBA語言&MATLAB調用CST

射頻學堂 ? 來源:微波射頻網 ? 作者:微波射頻網 ? 2022-12-19 14:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

摘要:

大家在科研和工作中,往往會遇到如何在CST中構建人工重復性高、建模步驟繁瑣的模型,以及多次導出仿真結果數據等問題。和HFSS的vbs腳本一樣,CST也自帶VBA腳本控制,并支持MATLAB調用。

0 1 CST的VBA語言

在CST主界面按F1即可打開官方自帶的Help文檔。

95a2c886-7f55-11ed-8abf-dac502259ad0.png

對于微波專業的學生和科研從業者,大部分情況下選用的是CST的MICROWAVE STUDIO (MWS)。因此,查看學習CST MWS VBA語法和對象即可滿足日常學習、工作需求。

963344f6-7f55-11ed-8abf-dac502259ad0.png

點擊Hom?e:Macros>Open VBA Macro Editor,即可打開CST自帶的VBA開發環境。

964a57f4-7f55-11ed-8abf-dac502259ad0.png 復制粘貼MsgBox行的代碼到VBA編輯器中,點擊967dc972-7f55-11ed-8abf-dac502259ad0.png即可彈出信息提示框。(全部復制可能會報錯!親測!)

'#Language "WWB-COM"


Option Explicit


Sub Main
  MsgBox("Hello World")
EndSub

96971ff8-7f55-11ed-8abf-dac502259ad0.png

對于初學者而言,若要熟練使用VBA開發環境對CST進行代碼式建模開發,還需要掌握兩方面知識:VBA語言的基本語法規則和CST的Objects調用規則。

前者可以在VBA開發環境下按F1鍵,調出Help文檔。

96c353d4-7f55-11ed-8abf-dac502259ad0.png

官方幫助文檔是學習VBA基本語法規則的一大利器,不需要從頭到尾都學一遍。可以秉承邊學邊用的方法,活學活用。不過學習常用的變量定義、數組、循環、判斷、字符等最基礎的知識是很有必要的。

96e99dbe-7f55-11ed-8abf-dac502259ad0.png

有了語法基礎后,就需要根據自己的學習工作需求,去VBA Objects下找自己需要對象的調用規則。例如下圖所示的Brick對象的一個構建。該對象有Reset、Name、Component、Material、Xrange、Yrange、Zrange、Create這么幾個方法。

9701d9f6-7f55-11ed-8abf-dac502259ad0.png 根據Help文檔的講解,我們在VBA開發環境中復制下面6-15行的代碼到Sub Main代碼塊內,點擊運行即可在CST中建立一個矩形實體。(全部復制可能會報錯!親測!)

'#Language "WWB-COM"


OptionExplicit


Sub Main
  With Brick
    .Reset
    .Name ("brick1")
    .Component ("component1")
    .Material ("PEC")
    .Xrange (0, 1)
    .Yrange (0, 3)
    .Zrange (0, 5)
    .Create
  End With
End Sub

不過這種建模方法有一個缺點:和HFSS的自動化建模只有vbs代碼一樣,建立的模型在CST的History List沒有記錄,喪失了CST建模的一大利器!

972e6566-7f55-11ed-8abf-dac502259ad0.png

好在可以打開CST官方Macro文件進行參考,比如自帶的Dipole Antenna這個mcs文件。經過對比,不難發現,只需要將前面的代碼變成字符串形式,通過AddToHistory即可將建模代碼添加至History List。

974afc30-7f55-11ed-8abf-dac502259ad0.png

依葫蘆畫瓢,Sub Main和End Sub之間的代碼替換如下,執行VBA命令后即可在History List下找到本次建模的詳細代碼:

Dim sCommand As String
  '@ define brick1
  sCommand = ""
  sCommand = sCommand + "With Brick " + vbLf
  sCommand = sCommand + "  .Reset" + vbLf
  sCommand = sCommand + "  .Name (""brick1"")" + vbLf
  sCommand = sCommand + "  .Component (""component1"")" + vbLf
  sCommand = sCommand + "  .Material (""PEC"")" + vbLf
  sCommand = sCommand + "  .Xrange (0, 1)" + vbLf
  sCommand = sCommand + "  .Yrange (0, 3)" + vbLf
  sCommand = sCommand + "  .Zrange (0, 5)" + vbLf
  sCommand = sCommand + "  .Create" + vbLf
  sCommand = sCommand + "End With" + vbLf
  MsgBox(sCommand)
  AddToHistory "define brick1", sCommand

976dcf1c-7f55-11ed-8abf-dac502259ad0.png

95830f50-7f55-11ed-8abf-dac502259ad0.png

0 2 MATLAB調用CST

MATLAB調用CST有兩種方法,一種是通過Shell語言的轉移字符!。

例如已經編寫好了待執行的vba腳本,文件類型命名為.bas(其他類型文件,比如.mcr,可能不會被識別)。然后按下面的語法結構,修改CST安裝路徑和bas文件路徑即可調用成功。這種方法和通過hfssapi包編寫好相應的vbs腳本文件,再用MATLAB調用HFSS執行vbs腳本命令類似。不過這種方法在嘗試調用高版本CST2022時,會因為采用了批處理(Batch)腳本調用而需要手動確認license的現象。

! "D:softwareCST2018CST DESIGN ENVIRONMENT.exe" -m E:test.bas

另一種方法則是通過matlab actxserver創建一個COM服務器,通過invoke調用COM對象或接口上的方法。

%如果裝了2個CST,不管怎么切換license,其只會創建最新安裝的cst對象!
cst = actxserver('CSTStudio.application');%創建CST應用對象
mws = invoke(cst, 'NewMWS');%調用MWS應用對象
app = invoke(mws, 'GetApplicationName');%獲取當前應用名稱
ver = invoke(mws, 'GetApplicationVersion');%獲取當前應用版本號
invoke(mws, 'FileNew');%新建一個CST文件
filename='D:CSTFileDipole_model.cst';
invoke(mws, 'SaveAs', filename,'True');
invoke(mws, 'Quit');
release(mws);
release(cst);

就通用性而言,第二種方法較優。網上也有很多關于這方面的代碼可供參考,個人可以根據需求將代碼進行封裝,便于后續的傳參調用。

實例展示

97a04424-7f55-11ed-8abf-dac502259ad0.jpg

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • matlab
    +關注

    關注

    189

    文章

    3025

    瀏覽量

    238729
  • CST
    CST
    +關注

    關注

    7

    文章

    82

    瀏覽量

    18687

原文標題:CST的VBA語言 & MATLAB調用CST

文章出處:【微信號:射頻學堂,微信公眾號:射頻學堂】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    需求 CST92F42的SDK包

    開發CST92P15A3M6NU-N藍牙模塊,需要CST92F42的SDK包: 麻煩論壇大神發一個 ,感謝:413463864@qq.com,或者方便加微信:Benjamin413463
    發表于 01-05 09:51

    CST軟件的廣泛應用

    在21世紀的科技浪潮中,電磁仿真技術已成為推動眾多行業發展的關鍵力量。作為電磁仿真領域的佼佼者,CST軟件憑借其強大的功能、高精度的仿真結果以及廣泛的應用領域,在全球范圍內贏得了廣泛的認可和贊譽。本文將深入探討CST軟件的廣泛應用,揭示其在不同行業中的重要價值和深遠影響。
    的頭像 發表于 12-17 10:22 ?403次閱讀
    <b class='flag-5'>CST</b>軟件的廣泛應用

    需要cst92f42系列資料

    求一份cst92f42系列的開發資料,包括開發環境,pack包,數據用戶手冊,一份demo。請發到3061174935@qq.com
    發表于 12-10 13:54

    需要cst92f42系列開發資料

    求一份cst92f42系列的開發資料,包括開發環境,pack寶,數據用戶手冊,一份demo。請發到3061174935@qq.com
    發表于 12-10 08:28

    CST92F30的定時器怎么做到微秒級別

    請問大家CST92F30的定時器怎么做到微秒級別。當前SDK中沒有關于定時器的配置說明
    發表于 12-03 11:10

    求一份CST92F25資料

    想用CST92F25開發項目,找不到資料,可以把 CST92F25的開發資料(數據手冊、用戶手冊、Pack包和例程等)發送到郵箱1436490767@qq.com嗎?謝謝!
    發表于 08-06 10:33

    電磁遇上熱與應力-CST多物理場仿真解決復雜工程挑戰

    當電磁遇上熱與應力,CST MPhysics Studio提供真正的全耦合多物理場仿真能力。電磁-熱耦合、熱失諧分析、熱-機械耦合、電磁-機械耦合,解決復雜工程挑戰。
    的頭像 發表于 07-29 16:21 ?911次閱讀
    電磁遇上熱與應力-<b class='flag-5'>CST</b>多物理場仿真解決復雜工程挑戰

    新手入門:使用CST電磁軟件進行貼片天線設計的5個基本步驟

    新手入門教程:使用CST進行貼片天線設計的5個基本步驟。從創建模型到結果分析,詳細指導您完成2.45GHz微帶貼片天線的完整設計流程。
    的頭像 發表于 07-28 16:17 ?1125次閱讀
    新手入門:使用<b class='flag-5'>CST</b>電磁軟件進行貼片天線設計的5個基本步驟

    CST求解器選擇指南:瞬態(T)、頻域(F)還是積分方程(I)

    CST求解器選擇指南:瞬態、頻域還是積分方程?詳解CST MWS三種核心求解器的特點和最佳應用場景,幫助您選擇合適的求解器提升仿真效率
    的頭像 發表于 07-25 14:24 ?975次閱讀
    <b class='flag-5'>CST</b>求解器選擇指南:瞬態(T)、頻域(F)還是積分方程(I)

    CST Studio Suite電磁仿真如何驅動下一代產品創新?

    探索CST在多物理場仿真中的強大能力,從設計驗證到仿真驅動創新的完整解決方案
    的頭像 發表于 07-24 17:38 ?604次閱讀
    <b class='flag-5'>CST</b> Studio Suite電磁仿真如何驅動下一代產品創新?

    CST92F25的文檔

    CST92F25的開發文檔說明還是比較全的,就是表達不夠清晰,需要自己揣摩。
    發表于 07-20 14:01

    CST92F定時喚醒功能

    CST92F25有寄存器操作說明書嗎?RTC怎配置定時喚醒功能?
    發表于 07-15 16:07

    關于芯海科技CST92F25的AT固件

    請問有沒有芯海科技CST92F25的AT固件,在官網上沒有看到,只看到了對應的AT指令集
    發表于 07-02 18:49

    關于cst92f25的AT固件

    請問一下,有關于cst92f25的AT固件嗎,在官網上沒有看到
    發表于 07-02 18:48

    需求CST92F25開發資料

    您好,可以把 CST92F25的開發資料(數據手冊、用戶手冊、Pack包和例程等)發送到郵箱shrimphong@qq.com嗎?謝謝!
    發表于 05-16 14:47