CST-Studio: Pythoncst.interfacePython での操作
パッケージ cst.interface について説明します.
目次
はじめに
パッケージ: cst.interface は,CST Studio を制御するための Python インターフェースを提供します.既に起動している DesignEnvironment (CST のメイン画面) に接続することも,新しく起動することも可能です.一度接続されると,このパッケージを通じて CST プロジェクト (*.cst ファイル) にアクセスでき,プロジェクトを開いたり閉じたり,保存したりすることができます.また,関連するアプリケーション (prj.model3d など) にもアクセスできます.
モジュールレベルの関数
モジュールレベルの関数は,running_design_environments() のみです.これは起動中の CST Studio のインスタンス一覧を取得し,それぞれの接続情報 (プロセスIDやアドレス) を確認します.戻り値はプロセスIDのリストです.
クラス
DesignEnvironment
このクラスは,CST Studio メイン・フロントエンドへのインタフェースを提供します.新しいCST Studio インスタンスに接続したり,開いたりできます.さらに,cst プロジェクトを開いたり作成したりできます.これは,
DesignEnvironment(mode=>StartMode.New:0<, pid=None, options=None, gui_linux=None, process_info=None, env=None)
でインスタンスを作ります.このインスタンスが作られると表2のメンバーを使うことができます.このクラスの引数はマニュアルを読んでもよくわからないです.通常は,「de = DesignEnvironment()」として,新規に CST Studio を起動します.「de = DesignEnvironment.new()」でも同じ.
クラス: cst.interface.DesignEnvironment のメンバー
種類 |
メンバー名 |
内容 |
内部クラス |
StartMode |
列挙型.DesignEnvironment(mode=StartMode.New) などで使用する.値は New / ExistingOrNew / Existing の 3 種類. |
静的メソッド |
new(…) |
新規に DE を起動し,それと接続する.コマンドラインオプション(リスト型)を渡せる.Linux では gui_linux で GUI/非 GUI を制御可能.戻り値: DesignEnvironment インスタンス. |
静的メソッド |
connect(*args, **kwargs) |
既存の DE に接続する.引数に pid (整数)または tcp_address (文字列)を指定.戻り値: DesignEnvironment インスタンス. |
静的メソッド |
connect_to_any() |
起動中の DE があればその 1 つに(複数あればランダムに 1 つ)接続する.戻り値: DesignEnvironment インスタンス. |
静的メソッド |
connect_to_any_or_new() |
起動中の DE に接続し,存在しなければ新規に起動して接続する.戻り値: DesignEnvironment インスタンス. |
メソッド |
quiet_mode_enabled() |
メッセージボックスを抑制する「quiet モード」を with 文で一時的に有効にするコンテキストマネージャー. |
メソッド |
quiet_mode_disabled() |
quiet モードを一時的に無効にし,メッセージボックスを表示させるコンテキストマネージャー(with 文用). |
メソッド |
active_project() |
現在アクティブ(操作中)な CST プロジェクトを取得する.戻り値: Project オブジェクト. |
メソッド |
close() |
DesignEnvironment を閉じる(DE プロセスは終了しないが,Python からの接続を切る). |
メソッド |
get_open_project(path) |
すでに開かれている .cst プロジェクトの中から,指定したファイルパスに一致するものを取得する.戻り値: Project オブジェクト. |
メソッド |
get_open_projects(re_filter='.*') |
複数の .cst プロジェクトが開かれている場合,正規表現 re_filter にマッチするプロジェクトの Project オブジェクトのリストを返す.戻り値:list[Project] . |
メソッド |
has_active_project() |
現在アクティブな CST プロジェクトがあるかどうかを判定する.戻り値: bool . |
メソッド |
in_quiet_mode() |
現在の DE が quiet モード(メッセージボックス抑制状態)かどうかを確認する.戻り値: bool . |
メソッド |
is_connected() |
この DesignEnvironment オブジェクトがライブの DE プロセスとまだ接続されているかどうかを返す.戻り値: bool . |
メソッド |
list_open_projects() |
現在開かれているプロジェクトのフルパス(str )のリストを返す.戻り値: list[str] . |
メソッド |
new_cs() |
CST Cable Studio プロジェクトを新規作成し,その Project インスタンスを返す. |
メソッド |
new_ds() |
CST Design Studio プロジェクトを新規作成し,Project インスタンスを返す. |
メソッド |
new_ems() |
CST EM Studio プロジェクトを新規作成し,Project インスタンスを返す. |
メソッド |
new_fd3d() |
Filter Designer 3D プロジェクトを新規作成し,Project インスタンスを返す. |
メソッド |
new_mps() |
CST Mphysics Studio プロジェクトを新規作成し,Project インスタンスを返す. |
メソッド |
new_mws() |
CST Microwave Studio プロジェクトを新規作成し,Project インスタンスを返す. |
メソッド |
new_pcbs() |
CST PCB Studio プロジェクトを新規作成し,Project インスタンスを返す. |
メソッド |
new_project(project_type) |
列挙型 ProjectType で指定した種類のプロジェクトを新規作成し,Project インスタンスを返す. |
メソッド |
new_ps() |
CST Particle Studio プロジェクトを新規作成し,Project インスタンスを返す. |
メソッド |
open_project(path) |
指定した .cst ファイルを新しいタブで開き,Project インスタンスを返す.既に開かれている場合は例外を送出. |
メソッド |
pid() |
この DE に接続しているプロセス ID(PID)を整数で返す. |
静的メソッド |
print_command_line_options() |
new() に渡せるコマンドラインオプションの一覧を標準出力に表示する.戻り値なし. |
静的メソッド |
print_version() |
接続している DE のバージョン文字列を標準出力に表示する.戻り値なし. |
メソッド |
set_quiet_mode(flag) |
flag=True でメッセージボックスを抑制(quiet モード),False で解除する.戻り値なし. |
静的メソッド |
version() |
DE のバージョン文字列を返す(str 型). |
Project
クラス: cst.interface.Project のメンバー
種類 |
メンバー名 |
内容 |
静的メソッド |
connect(cst_file) |
既存の DE 内で開かれている cst_file (.cst ファイル)へ接続する.未オープンの場合やファイルが存在しない場合は UserWarning を送出.戻り値: Project インスタンス. |
静的メソッド |
connect_or_open(cst_file) |
cst_file が既に開かれていれば接続し,未オープンなら同じ DE 内で開く.ファイルが存在しない場合は UserWarning を送出.戻り値: Project インスタンス. |
静的メソッド |
open(path) |
指定した .cst ファイルを新しいタブで開く(既存 DE が無ければ自動で DE を起動する).すでに同パスが開かれている場合は RuntimeError を送出.戻り値: Project インスタンス. |
メソッド |
activate() |
このプロジェクトを DE の「アクティブタブ」に切り替える.戻り値なし. |
メソッド |
close() |
プロジェクトを保存せずに閉じる(タブを閉じる). |
メソッド |
filename() |
現在のファイル名(フルパスを含む場合あり)を str で返す. |
メソッド |
folder() |
プロジェクトが保存されているフォルダーのパスを str で返す. |
メソッド |
get_messages() |
CST Messages ウィンドウの内容を取得する.戻り値: メッセージ群(型は CST バージョンによって異なる). |
メソッド |
project_type() |
このプロジェクトの種類を ProjectType 列挙値で返す. |
メソッド |
save(path='', include_results=True, allow_overwrite=False) |
path を指定しなければ現在のファイル名で上書き保存.include_results =True で解析結果を含めて保存,allow_overwrite =True で既存ファイルを上書き可能.戻り値なし. |
プロパティ |
design_environment |
このプロジェクトが属する DesignEnvironment インスタンスへの参照.読み取り専用. |
プロパティ |
model3d |
3D モデル編集用の Model3D インターフェースを返す(存在しない場合は None ). |
プロパティ |
modeler |
model3d と同じく 3D モデラーへの別名プロパティ(存在しない場合は None ). |
プロパティ |
pcbs |
PCB Studio 用インターフェース cst.interface.pcbs.InterfacePCBS を返す(無ければ None ). |
プロパティ |
schematic |
回路図用インターフェース Schematic を返す(無ければ None ). |
Model3D
クラス: cst.interface.Model3D のメンバー
種類 |
メンバー名 |
内容 |
メソッド |
abort_solver(timeout=None) |
現在実行中(または一時停止中)のソルバーを強制停止する.timeout まで待機し,停止できなければ RuntimeError を送出.戻り値なし. |
メソッド |
add_to_history(header, vba_code, timeout=None) |
モデル履歴に header タイトルのブロックを追加し,指定した vba_code を実行する.VBA マクロを Python から挿入したいときに使用.戻り値なし. |
メソッド |
full_history_rebuild(timeout=None) |
履歴全体を再構築(Rebuild)する.形状パラメータを変更後,モデルを再生成したい場合に使用.戻り値なし. |
メソッド |
get_active_solver_name(timeout=None) |
現在選択されているソルバー名(例: "FDTD" など)を str で返す. |
メソッド |
get_solver_run_info(timeout=None) |
直近のソルバー実行/実行中ジョブの情報(収束状況・残差・経過時間など)を dict で取得する. |
メソッド |
get_tree_items(timeout=None) |
モデルツリー内の全エントリ(フルパス文字列)のフラットリストを返す.戻り値: list[str] . |
メソッド |
is_solver_running(timeout=None) |
ソルバーが現在実行中かどうかを真偽値で返す.停止・完了・未起動時は False . |
メソッド |
pause_solver(timeout=None) |
実行中のソルバーを一時停止する.GUI の「Pause」と同等.戻り値なし. |
メソッド |
resume_solver(timeout=None) |
pause_solver で停止したソルバーを再開する.戻り値なし. |
メソッド |
run_solver(timeout=None) |
現在選択されているソルバーを同期実行し,完了まで待機する.エラー発生時は RuntimeError を送出.戻り値なし. |
メソッド |
start_solver(timeout=None) |
ソルバーを非同期で起動して直ちに制御を返す(バックグラウンド実行).進捗監視には is_solver_running() を併用.戻り値なし. |
Schematic
クラス: cst.interface.Schematic のメンバー
種類 |
メンバー名 |
内容 |
メソッド |
execute_vba_code(vba_code, timeout=None) |
スキーマティック(回路図)ドメインで VBA スクリプト vba_code (文字列)を実行する.timeout に整数(秒)を渡すとその時間だけ完了待ちし,超過で RuntimeError を送出.戻り値なし. |
InterfacePCBS
このクラスは加速器設計では使わないので,説明を省略します.
ページ作成情報
参考資料
更新履歴
|