Also available in English, 简体中文
この記事では、Pythonを使用してインタラクティブ拡張機能でZOS-APIに接続する方法を示します。OpticStudioに接続すると、インタラクティブ拡張機能はユーザー拡張機能が可能なタスクを実行でき、OpticStudioインターフェイスはそのタスクの結果をインタラクティブに表示します。
著者 Sandrine Auriol
Introduction
序論
インタラクティブ拡張機能モードは、スタンドアロンの実行可能なファイルである必要がないことを除いて、ユーザー拡張機能とほぼ同じです。この機能により、Matlab や Python など、OpticStudioで起動できるコンパイル済み実行可能ファイルがないスクリプト環境からの接続が可能になります。
インタラクティブ拡張機能は、外部スクリプト環境からOpticStudioインターフェイスをインタラクティブに制御します。この記事では、OpticStudioをインタラクティブ拡張機能に接続する方法について説明します。
インタラクティブ拡張スクリプトの作成
プログラミング ... Python ... インタラクティブ拡張機能をクリックし、インタラクティブ拡張機能に接続する定形テンプレートを開きます。

スクリプトは、ZOS-APIプロジェクトフォルダーに配置されます。.. \ Documents \ Zemax \ ZOS-API Projects \ PythonZOSConnection
複数のインタラクティブ拡張機能が作成された場合、ファイル名には順番に番号が付けられます。
ソフトウェアは、ファイルの場所でファイルエクスプローラーを開きます。

インタラクティブ拡張機能への接続
プログラミング ... インタラクティブ拡張機能をクリックし、インタラクティブ拡張機能を開始します。

ダイアログウィンドウが開き、OpticStudioは外部アプリケーション(この場合はPython)が接続するのを待ちます。

ダイアログボックスには、OpticStudioの実行中のインスタンスのインスタンスIDが表示されます。これにより、複数のインスタンスが実行されている場合、PythonはOpticStudioの特定のインスタンスに接続できます。
次のステップは、使用されている統合開発環境(IDE)によって異なります。
IDLE(Pythonに付属するネイティブIDE)
- スクリプトファイルを右クリックします。
- 「IDLEで編集」、「IDLEで編集」Pythonバージョンを選択します。

- コードを実行します。

- インタラクティブ拡張機能のステータスは、拡張機能が現在接続されていることを示しています。

- Pythonコマンドウィンドウで個々のコマンドを実行できるようになりました。
例えば、サンプルファイルをロードできます。

- OpticStudioの開いているインスタンスには、ロードされたファイルが表示され、ファイルが正常にロードされると、Pythonコマンドウィンドウはブール値Trueを返します。


- コマンドが実行されると、「>>>」が表示され、新しいコマンドの準備ができたことを意味します。
PyCharm IDE :
- PyCharmでPythonZOSConnectionX.pyのコードを開きます。
- 右クリックして、「コンソールでファイルを実行」を選択します。

- コンソールウィンドウに接続のステータスが表示されます。その後、個々のコマンドをコンソールで実行できます。

右の画面には、プロジェクトで使用可能な変数が表示されます。
これは、インタラクティブ拡張機能を使用するときに「インテリセンス(Intellisense)」があることを意味します。

コードのブロックも実行できます。たとえば、添付ファイルを開きます。このスクリプトは、サンプルファイル「\ Zemax \ ZOS-APIサンプルコード\ Python \ PythonStandalone_01_new_file_and_quickfocus.py」からの抜粋です。ZOS-APIへの接続に関連するコード行は削除されました。
スクリプトを選択します。右クリックして、「Execute Selection in Console」を選択します。

OpticStudioは新しく作成されたファイルを表示します。

また、コンソールには新しい変数が表示されます。

接続を終了する
接続は、ダイアログボックスで [Terminate] をクリックして終了できます。

または、PythonコマンドウィンドウでCloseApplicationを実行します。

KA-01774