|
Modeling
手作業
High Frequency
Low Frequency
Multiphysics
Particles
加速空洞
|
CST StudioModeling: 手作業計算モデルの手作業 (マニュアル) による作成
マウスを使いポチポチと計算モデルを作成するテクニックをまとめます.筆者のメモです.
目次
手作業によるモデル作成のこつ
手作業でのモデル作成であっても,再利用とかを考える必要があります.そのためにも,モデルの修正が容易かつエラーの生じにくい入力ファイルを作成する必要があります.筆者は以下に気を付け,モデルを作成します.
- モデルのパラメーターは,Parameter List に記述します.
- 通常のプログラム作成でリテラル表現が推奨されないことに似ています.
- モデルの修正が容易です.
- Optimizer や Parameter Sweep 等で記述したパラメータを使うことができます.
- パラメーターをテキストファイルに書き出すことや,それを読み込むことも可能です.
- History List を修正しながらモデルを作成します.
- 不要なアクションは,History List から削除 (Delete) します.
- History が分かりやすいようにコメントを記載します.
- List をダブルクリックすると操作の内容をテキストで記述可能です.
- 似たような操作が続くときは,Copy/Paste を使います.
- ボタン: Update をクリックし,History List がエラー無く実行できることを確認します.
手作業をマウスでポチポチという感じですが,キーボード操作による入力も必要ということです.
テクニック
History List の Update で,最もエラーが生じる確率が高いのはマウスでの Pick 操作の部分です.この操作では,コンポーネント名と整数番号(ID),例えば「Pick.PickEndpointFromId "SCS:cpl_cube", "16"」,でポイントを指定します.モデルの形状が変わると整数の番号が変わることがあります.こうなると,History List の実行時にエラーが発生します.
これを避けるためには,整数の ID の代わりに座標 (x, y, z) を指定します.具体的な手順は以下の通りです.
- History List に適当なコマンドを加えます.私は「Clear Picks」をクリックします.このコマンドは無害なので,History List に加えるには都合が良いです.
- History List をクリックし,リストを表示させます.モデル作成時には,このリストを常に表示させると良いです.
- 先ほど加えたコマンド(先の例では clear pics) をダブルクリックします.タイトルを適当に変え,座標で pick するコマンドを記述します.具体的なコマンドの例を以下に示します.
Pick.PickEdgeFromPoint "SCS:AccCavity", "0", "acc_2b/2", "-acc_t/2"
Pick.PickEdgeFromPoint は座標からエッジを指定するコマンドです.コンポーネント名に引き続き (x, y, z) 座標を指定します.座標指定にはこの例に示すように, Parameter List を使うことを推奨します.指定する座標は,エッジ上であれば pick できます.pick コマンドを複数行記載することにより,一度に複数 pick できます. 座標で pick 可能な主なコマンドは,以下の通りです.
CST-Studio の pick コマンド
| コマンド | 引数 |
| PickEdgeFromPoint |
"shapeName", "xpoint", "ypoint", "zpoint" |
| PickFaceFromPoint |
"shapeName", "xpoint", "ypoint", "zpoint" |
| PickPointFromCoordinates |
"xpoint", "ypoint", "zpoint" |
| PickCurveCirclecenterFromPoint |
"curveName", "xpoint", "ypoint", "zpoint" |
| PickCurveMidpointFromPoint |
"curveName", "xpoint", "ypoint", "zpoint" |
| PickCenterpointFromPoint |
"shapeName", "xpoint", "ypoint", "zpoint" |
| PickCirclecenterFromPoint |
"shapeName", "xpoint", "ypoint", "zpoint" |
| PickCirclepointFromPoint |
"shapeName", "xpoint", "ypoint", "zpoint" |
| PickEndpointFromPoint |
"shapeName", "xpoint", "ypoint", "zpoint" |
| PickMidpointFromPoint |
"shapeName", "xpoint", "ypoint", "zpoint" |
| PickWireEndpointFromPoint |
"wirename", "xpoint", "ypoint", "zpoint" |
- OKをクリックし,コマンドのダイアログを閉じます.
- Update あるいは Run toをクリックしコマンドを実行します.
Parameter List
計算の再利用を考えると,計算モデルの寸法や計算パラメーターは,Parameter List に記載すると事が重要です.「コンピュータープログラム内では変更の可能性がある数値にはリテラルを使わない」と似ています.
Parameter List の Expression の書き方を示します.ここは主に定数を記載しますが,関数やコマンドを使うことができます.
コマンド
| コマンド | 引数 |
| ( ) |
演算順序を変えます.普通の括弧です. |
| +, -, *, / |
通常の四則演算です. |
| ^ |
べき乗です. |
| Sqr( ) |
1/2乗です. |
| Log( ) |
自然対数関数です. |
| Exp( ) |
指数関数です. |
| Sin( ), Cos( ), Tan( ) |
三角関数です. |
| Atn( ) |
arctan( )です. |
| IIf( ) |
三項演算子です.IIf(条件, True の場合の値,False の場合の値) |
History List のテキスト化
手作業でのモデルの作成や計算条件の設定は,History List に VBA コマンドで書かれます.この VBA コマンドは,History List の各マクロを示すタイトルをダブルクリックすることにより,見ることが可能です.この場合,実行マクロ毎 (History List のひとつの行) に内容は確認できますが,全て一括でテキストファイルにすることは出来ません.GUI作業で作成した VBA コマンド列を再利用する場合には不便です.ここでは,Histoy List の内容を全て一括でテキストファイルにする方法をしめします.
この VBA ファイルは,自動計算プログラムを作成するうえで,とても便利です.
CST Studio 2025 以前
CST Studio 2025 以前では,プロジェクトのディレクトリにファイルとして保存されています.そのパスは,プロジェクトのディレクトリ > Model > 3D > Model.mod です.
CST Studio 2026 以降
バージョン 2026 以降では,Model.mod が作成されなくなりました.そこで,VBA コマンドは以下の手順でファイルとして取得します.
- History List を開きます.
- ダイアログ: History List のボタン More >> をクリックします.すると,Expert mode が開かれます.
- リストに示されるマクロを全て選択するために,[Control]+[A] をタイプします.
- Expert mode にあるMacroをクリックします.
- すると,ダイアログ: Create VBA Structure Macro が現れます(図1).ここで,
■ Macro name: マクロ名とタイプする. ■ Make globally available: チェックしないことを強く推奨します. と設定し,OKをクリックします.
図1: Create VBA Structure Macro
- すると,Macro Editor が現れます(図2).History List は邪魔なので閉じます.
- Macro Editor の [Save As] をクリックし,適当な名前を付けて保存します.
以上の操作により,手動で作成したモデル・計算設定の VBA マクロが得られます.これを編集すると,容易に自動計算プログラムが出来上がります.
図2: CST Studio の Macro Editor
ページ作成情報
参考資料
- CST-Studio のマニュアル: Automation and Scripting > Visual Basic (VBA) > 3D Simulation VBA > Transformations and Picks > Pick.
更新履歴
|