Yamamoto's Laboratory
 
パッケージ
  interface
 
 
プロジェクト
 
パラメーターリスト
 
モデリング
 
自動計算
 
計算結果処理
 
 
 
 
 
 
 
 

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

このクラスは加速器設計では使わないので,説明を省略します.

ページ作成情報

参考資料

  1. CST Online Help 2025

更新履歴

2025年06月26日 ページの新規作成


no counter