Microsoft Visual C++ Version 6によるユーザー定義面のコンパイル方法まずMicrosoft Visual C++ version 6を起動します。File > NewをクリックしてWin32 Dynamic Link Libraryを選択します。プロジェクトに名前をつけ、オブジェクト ファイルを保存するディレクトリを選択します:
添付ファイル:
user1.gif [ 13.53 KiB | 表示回数: 744 回 ]
今回はプロジェクト名をMy_asphereとして、OKをクリックし、空のプロジェクト作成を選択します:
添付ファイル:
user2.gif [ 11.17 KiB | 表示回数: 744 回 ]
これはこのプロジェクトがファイルの追加を待つ空の状態であることを意味します。左のエクスプローラツリーで“File View”を選択し、“Source Files”で右クリックし、“Add Files from Folder”を選択します:
添付ファイル:
user3.gif [ 11.14 KiB | 表示回数: 744 回 ]
開いたダイアログで{zemaxroot}/dllを探し、myarray.cを選択します。このトピックの1ページ目の下部のインストラクションに従って作成したus_arrayeven.cのコピーであることに注意してください。
次に、上図プロジェクト ウィンドウ枠中で“Header Files”を右クリックし、“Add Files From Folder”を選択し、{zemaxroot}/dllフォルダにあるファイルusersurf.hを追加します。プロジェクト ウィンドウ枠は次のようになります:
添付ファイル:
user4.gif [ 14.44 KiB | 表示回数: 745 回 ]
最後のステップとして、実際にファイルに変更を加える前にしなくてはならないことは、Microsoft Visual C++ 6のコード生成オプションを選択することです。Project>Settingsをクリックします:
添付ファイル:
user5.gif [ 14.66 KiB | 表示回数: 745 回 ]
左にあるプロジェクトツリーでこのプロジェクト自身を選択し、C/C++タブでCategory > Code Generationを選択し、そしてUse Run-Time Library > Multithreadedを選択します。次にBuild > Set Active Configurationを選択し、“Release”を選択します:
添付ファイル:
user6.gif [ 6.85 KiB | 表示回数: 743 回 ]
これが必要なコンフィギュレーションの全てです。コンパイラが動作することを試験するため、簡単な変更を加えます。プロジェクトエクスプローラでmyarray.cをダブルクリックして開きます:
添付ファイル:
user7.gif [ 24.96 KiB | 表示回数: 47 回 ]
“strcpy(UD->string,"Even Array");”と書いてあるCase 0の行を探し、面の名前を“My Even Array”に変更します。この行は次のようになります:
strcpy(UD->string,"My Even Array");
そしてBuild > Rebuild Allを選択します。このDLLがエラー無しにコンパイルされるはずです:
添付ファイル:
user8.gif [ 4.73 KiB | 表示回数: 742 回 ]
このDLLをproject's /releaseフォルダから{zemaxroot}/dllフォルダに移動します。
ZEMAXを起動し、面タイプからuser definedを選択し、Surface DLLのプルダウンメニューからMy_Asphere.DLLを選択します:
添付ファイル:
user9.gif [ 11.25 KiB | 表示回数: 740 回 ]
レンズデータエディタでは事前に与えられた名前が表示されます:
添付ファイル:
user10.gif [ 8.2 KiB | 表示回数: 741 回 ]
これでユーザー定義面のコンパイルに成功しました。