例えば、ZPLMで解析ウィンドウで生成した歪曲収差データを取得して最適化を行うことが可能ですか?(ここは単に一例です。歪曲収差関連のオペランドDIMX,DISG,DISTをOPERで使用することができます)。
基本的にはNoですか、Yesになる代替案があります。
①なぜNoなのか
ユーザーインターフェースから得られるデータは、常にプライマリシステム(primary system)のデータです。
この部分の説明につきましては下記のヘルプファイルの通りです。
最適化] (Optimize) タブ (シーケンシャル UI モード) > 最適化の概要 > ユーザー定義オペランド (最適化の概要) > ZPLM マクロからレンズに指定した変更
評価関数は、必ずレンズの一時コピーを使用して評価されます。評価関数の評価後、レンズのコピーおよびレンズに対する変更はすべて破棄されます。このため、ZPLM オペランドで呼び出したマクロではレンズ データを変更しないようにします。これらの変更は維持されないので、同じ評価関数の評価で ZPLM オペランドに続くオペランドの計算に影響することがあります。OpticStudio では、評価中のレンズが、ZPLM で指定したマクロで評価する前の状態に復元されません。なお、マクロを意図的に使用して以降のオペランドでの評価前にレンズ データを変更する場合は、2 つのマクロを実行する必要があります。そのひとつは必要に応じてデータを変更するマクロで、もうひとつはデータを元の状態に復元するマクロです。どちらのマクロも、変更したレンズ データに対して実行するオペランドを指定してメリット ファンクション エディタに記述できます。
CLOSEWINDOW、WINL()、GETT() など、ユーザー インターフェイスを操作するマクロ コマンドは有効ではありません。この制約の理由は、これらのコマンドはユーザー インターフェイスに反映された光学系のコピーから情報を取得するからです。また、ZPLM マクロで光学系のコピーを更新しても、ユーザー インターフェイスに表示される光学系の主要コピーは更新されません。
②Yesになる代替案
ユーザーインターフェイスを操作することはできませんでしたが、GETTEXTFILEを使用して一時コピーの正しいデータを生成することはできます。
歪曲収差を最適化するためのサンプルマクロZPL08(添付ファイル)をご参照ください。
Reply
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.