1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ZOS-APIで特定のバージョンのZemaxを起動する方法

1
Last updated at Posted at 2026-07-30

はじめに

Ansys Zemax OpticStudio (以下、Zemax)を長く使っていると、1台のPCに複数バージョンをインストールしているケースがありますが、最近お客様から、

.zos ファイルを最新のZemaxで開くと正しく再現されない

という相談をいただきました。

この現象の改善を検討する調査の過程で、

ZOS-APIから特定バージョンのZemaxを起動したい

という要件が発生し、調べて色々試してみたため、備忘録としてまとめます。

今回は、ZOS-APIで特定バージョンのZemaxへ接続する方法と、その活用事例を紹介します。

通常のZOS-API初期化

Zemax付属のサンプルコードでは、次のような初期化処理を行うことが多いと思います。

is_initialized = ZOSAPI_NetHelper.ZOSAPI_Initializer.Initialize()

この方法でも動作しますが、複数バージョンのZemaxがインストールされている場合、
「基本的には最新版へ接続される」ことになります。

特定バージョンを指定して起動する

実は Initialize() にはインストールフォルダを指定できます。

例えばZemax 2024R1.03 を使用したい場合は以下のように記述します。

opticstudio_path = (
    r"C:\Program Files\Ansys Zemax OpticStudio 2024 R1.03"
)

is_initialized = (
    ZOSAPI_NetHelper.ZOSAPI_Initializer.Initialize(
        opticstudio_path
    )
)

これにより、

  • 2024系
  • 2025系
  • 2026系

など複数バージョンが共存していても、指定したZemaxに接続できます。

DLLも対象バージョンから読み込む

さらに確実に対象バージョンへ接続したい場合は、DLLも対象バージョンのインストール先から直接読み込みます。

nethelper_path = (
    r"C:\Program Files\Ansys Zemax OpticStudio 2024 R1.03"
    r"\ZOSAPI_NetHelper.dll"
)

clr.AddReference(nethelper_path)

import ZOSAPI_NetHelper

続いて、

is_initialized = (
    ZOSAPI_NetHelper.ZOSAPI_Initializer.Initialize(
        r"C:\Program Files\Ansys Zemax OpticStudio 2024 R1.03"
    )
)

を実行します。

複数バージョン環境では、こちらの方が安定して動作する印象があります。

接続先の確認

接続後は、どのバージョンに接続したか確認しておくと安心です。

zemax_dir = (
    ZOSAPI_NetHelper.ZOSAPI_Initializer.GetZemaxDirectory()
)

print(zemax_dir)

実行結果の例です。

C:\Program Files\Ansys Zemax OpticStudio 2024 R1.03

期待したバージョンへ接続できていることを確認できます。

活用事例

今回この仕組みを利用して、

.zos
 ↓
過去バージョンで開く
 ↓
.zmx形式で保存

を自動化するツールを作成しました。

主な機能は次の通りです。

  • フォルダ単位で一括変換
  • GUIで実行可能
  • 複数ファイル一括処理
  • 複数バージョン対応
  • 過去バージョンのZemax指定起動

古い設計資産を最新版へ移行する際の手作業を大幅に削減できます。

.zosファイルで困ったときは

Zemax 2024R2以降では .zos 形式が廃止されています。

そのため、古い設計資産を最新版で開いた際に、レンズデータが正しく再現されないケースがあります。

サイバネットシステムのサポートサイトでは、

ZOSファイルを過去バージョンのZemaxで一括保存し直すツール

を公開しています。

主な特徴は以下の通りです。

  • GUIで簡単に実行可能
  • フォルダ単位で一括変換
  • 対象バージョン選択可能
  • 複数ファイルを自動変換

サイバネットよりZemaxを契約いただいているユーザー様はぜひご活用ください。
サイバネットのFAQ記事はこちら

まとめ

ZOS-APIでは、

ZOSAPI_Initializer.Initialize(path)

を使用することで、特定バージョンのZemaxを指定して起動できます。

複数バージョン環境での検証や、古い設計資産の移行作業を行う際には便利なテクニックです。
同じような課題に直面している方の参考になれば幸いです。


本記事は筆者個人の見解であり、
所属組織の公式見解を示すものではありません。
また、コメントへの個別の返信はいたしかねます。

問い合わせ

ZemaxマクロもしくはZOS-APIの利用による業務効率改善をお考えの方、
👇下記予約フォームより無料技術相談会をご予約ください!

【Zemax】マクロ・ZOS-API技術相談会

  • ZOS-APIの使い方、開発委託
  • マクロ・DLL開発委託
    など、お気軽にご相談ください!

また、本件に関わらず光学シミュレーションソフトの導入や技術相談、
設計解析委託をお考えの方もぜひサイバネットまで。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?