教你使用CST VBA宏實現半自動參數化建模
CST 中創(chuàng)建多個結構一致的模型,但同時又需要對每個模型某些尺寸使用不同的參數化控制的情況下,可以用CST VBA 宏半自動建模來達到簡化操作目的,單個模塊越復雜,此方法越有其優(yōu)勢。
VBA 實現半自動建模的主要思路是
1、使用重新創(chuàng)建模型辦法代替平移復制操作
2、使用VBA 宏創(chuàng)建模型代替從頭手動創(chuàng)建模型。
VBA 半自動建模的主要步驟:
1、首先,您需要參數化建立一個模型,建議您完全參數化建立此模型。
2、將此模塊創(chuàng)建歷史列表轉化為VBA 宏。
3、移動局部坐標系到需要再次創(chuàng)建相似模型的地方
4、對此VBA 宏稍作修改,使用此宏創(chuàng)建新的模型
5、重復3.和4.,創(chuàng)建其余模型。
6、依次類推。
下面我們將通過一個簡單方塊創(chuàng)建的例子來說明如何使用 VBA 半自動建模的方法。假使您對CST VBA 宏語言已非常熟悉,那么您將很容易融會貫通。如果您從未使用過CST VBA,也不必擔心,通過下面簡單的例子,相信您能很快入門這種方法。
首先我們參數化建立一個方塊,各參數設置如下圖中給出。
打開歷史樹列表(History List),你可以看到,所有的操作都記錄在此列表中,包括一些誤操作。為此,我們建議您在建立模型時,盡量使操作能一步到位,不要在歷史列表中留下太多無用的操作記錄,當出現誤操作時,請打開歷史列表,選擇相應的錯誤操作,按Delete 按鈕將其刪除,并按Update 更新列表。這樣建立的模型才是“干
凈”的,便于我們用來生成VBA 宏。
要生成 VBA 宏,你需要先選中歷史列表創(chuàng)建此模型的所有操作(按Shift 可多行選擇,操作同Word)。本例中,只有1 行。然后點擊Macro…按鈕,在彈出的對話框中為此宏取一個名字,本例中為Brickmacro1:
點擊 OK 按鈕后,CST 會自動將VBA 宏用自帶的宏編輯器打開,如下圖中所示。
轉到 CST 微波工作室界面下,打開Macros 菜單,您可以看到在此菜單最后,多出一項局部宏Brickmacro1:
使用 CST 平移操作(Transform-Copy)可實現復制原模塊到指定位置的目的。這里換一種思路,我們移動坐標系到指定位置,然后重新創(chuàng)建一個模塊,同樣可實現上述目的。為此,我們激活局部坐標系,并移動到相應位置。
本例中為u 方向平移3:
下面來說明如何用剛才創(chuàng)建的宏來完成方塊的創(chuàng)建。首先轉到 VBA 編輯器界面,如下圖。將solid1 修改為solid2,這樣做是為了使宏創(chuàng)建的宏與已經創(chuàng)建solid1 不重名(只要保證VBA 宏最終創(chuàng)建的模塊與已有模塊沒有重名即可,中間步驟的命名無所謂),此外可對指定參數進行修改,本例中將原先的參數a 改為參數a1。點擊保存。
注意,不要使用 VBA 編輯器中RUN 來運行此宏,這樣創(chuàng)建操作不會被紀錄到歷史列表中!
回到 CST 微波工作室界面,從Macros 菜單運行宏Brickmacro1,彈出對話框要求輸入新參數a1 的值,本例中輸入1.5,點擊OK。可以看到,新的方塊模型創(chuàng)建完畢了。新參數a1 也存在了變量列表內。
現在你可以根據不同參數 a 和a1 來控制模塊solid1 和模塊solid2 了。在參數列表中將a 改為0.5,將a1 改為2.5,更新后,您可以看到,它們只隨著自己的參數變化,互不影響:
用同樣的方法,可以繼續(xù)創(chuàng)建其他位置方塊模型。
這種使用 VBA 宏半自動創(chuàng)建模型的方法是處理相同結構模型的連續(xù)創(chuàng)建,并有要求模型具有不同的參數控制時的一種選擇,尤其對于模型結構復雜問題,更為高效。
最后,總結一下使用此方法的幾點注意事項:
1、參數創(chuàng)建第一個模型(塊)時,盡量一步到位。保證歷史列表“干凈”。
2、VBA 宏最終創(chuàng)建的模型名不能和已有的模型名重復。
3、不要直接從 VBA 編輯器中直接運行宏,而總是從Macros 菜單運行宏。
效率真高……
挺不錯的,嘿嘿。
我頂?。?
學習了,謝謝樓主
此貼是精華,頂