設計者コラム
#029 ZEMAXの拡張機能
前回に引き続き、ZEMAXのプログラムネタです。
ZEMAXで標準で用意されていない機能を実現する場合、マクロと拡張機能があります(ありました)。
マクロは現在でもサポートされていますが、拡張機能についてはZemax OpticStudio15以降のバージョンで正式なサポートから外れています。
一応、最新バージョンのZEMAXでも動作するのですが、現在はZOS-APIというAPIを使った新しいやり方が推奨されています。
そのようなわけで、いつ動作環境まで打ち切られるか分からない拡張機能です。
拡張機能はスタンドアロン型のアプリケーションで、GUIを持つものと単に計算だけ行ってグラフィックもしくはテキスト出力だけするもの、最適化に使われるものの三種類があります。
前者二つはZEMAX標準で用意されているMTF解析画面などを自力で実現するもので、最後の拡張機能はメリットファンクションでUDOPオペランドを使って呼び出す機能です。マクロのZPLMと似ています。
インタプリタ言語であるマクロでは時間が掛かってしまうような場合、コンパイルされたバイナリである拡張機能を使用すれば大幅に高速化出来る可能性がありますね。
私の場合、大量のソートやメッシュ状の光線束を一括処理させる目的で拡張機能を使いましたがマクロと比較して桁違いに高速化出来て驚いたことがあります。
マニュアルにソースコードや関数の詳細が記載されています。
興味のある方は是非トライしてみてください。