この記事では、SolidWorks®、Autodesk Inventor®、PTC Creo Parametric® のアセンブリ ファイルを OpticStudio 内で動的に開き、分解する方法について解説します。
著者 Dr. Sanjay Gangadhara, Updated by Thomas Pickering
Downloads
Introduction
OpticStudio Premium は、様々なCADソフトウェアより CAD パートおよび CAD アセンブリに動的にリンクする機能を用意しています。OpticStudio でアセンブリを単独のオブジェクトとしてモデル化すると、アセンブリ全体に対して一組の体積プロパティ (体積材質、バルク散乱分布など) が割り当てられます。さらに、アセンブリに割り当て可能な面のプロパティ (薄膜コーティング、面散乱分布) も制限される場合があります。この原因は、面のプロパティはオブジェクトのフェイスに対して定義されるものであり、オブジェクトに定義できる一意のフェイスの最大数が 51 に制限されていることにあります。
これらの制約を解決するために、アセンブリをその構成部品に分解する機能があります。分解したうえで、各部品に一意のプロパティを割り当てます。この記事では、アセンブリ ファイルを CAD アセンブリ オブジェクトとして OpticStudio に読み込み、その構成部品に分解する方法を確認します。
アセンブリ ファイルの読み込み
OpticStudio のダイナミック CAD リンク機能を使用するには、適切な CAD ソフトウェア パッケージをインストールしておく必要があります。
- CAD アセンブリ : Autodesk Inventor® オブジェクトを使用するには、Autodesk Inventor® (2013 以降) をインストール*しておく必要があります。このオブジェクトは、Autodesk Inventor のアセンブリ ファイル (*.IAM) に動的にリンクします。
- CAD アセンブリ : Creo Parametric® オブジェクトを使用するには、PTC Creo Parametric® (2.0 以降) をインストール*しておく必要があります。このオブジェクトは、PTC Creo Parametric のアセンブリ ファイル (*.ASM) に動的にリンクします。
- CAD アセンブリ : SolidWorks® オブジェクトを使用するには、SolidWorks® (2009 以降) をインストール*しておく必要があります。このオブジェクトは、SolidWorks のアセンブリ ファイル (*.SLDASM) に動的にリンクします。
* OpticStudio のテクニカル サポートでは、SolidWorks、Autodesk Inventor、PTC Creo Parametric のインストールに関するサポートは提供できません。
ネイティブな CAD アセンブリ ファイルは、ノンシーケンシャル コンポーネント (NSC) エディタを介して OpticStudio に読み込まれます。CAD プログラムごとに異なるオブジェクト タイプがあります。
図 1: SolidWorks®、Autodesk Inventor®、PTC Creo Parametric® の各アセンブリ ファイルの専用オブジェクト
CAD アセンブリ : Creo Parametric® または CAD アセンブリ : SolidWorks® のいずれかのオブジェクトを使用する場合は、OpticStudio にパートを読み込む前に該当のアプリケーションを開いておきます。OpticStudio の実行中はそのアプリケーションを開いたままにして、アセンブリの作成元プログラムと OpticStudio が通信できるようにしておく必要があります。
一方、CAD アセンブリ : Autodesk Inventor® オブジェクトの場合は、OpticStudio に Inventor 部品を読み込む前に、Autodesk Inventor を起動しておく必要はありません。OpticStudio から Inventor がサイレント モードで自動的に起動します。つまり、使用しているコンピュータのどこにも Inventor アプリケーションは表示されませんが、タスク マネージャにはそのプロセスが表示されています。OpticStudio が Autodesk Inventor と通信できるように、OpticStudio の実行中はこのプロセスも実行状態にしておく必要があります。
Autodesk Inventor の例
この例では、Autodesk Inventor で作成したアセンブリ ファイルを開きます。このファイルとその構成パート ファイルは、この記事の末尾に添付ファイルとして用意されています。このファイルは Inventor 3d (http://inventor3d.blogspot.it/) のエンジニアによって作成されたもので、CAD の無償配信ウェブサイトである GrabCad (www.grabcad.com) から入手しています。
OpticStudio にアセンブリを正しく読み込むには、そのアセンブリ ファイルおよびそのすべての構成要素のパート ファイルの両方に OpticStudio からアクセスできる必要があります。これらのファイルは、すべて同じフォルダ (詳細は下記) に保存しておく必要があります。パート ファイルのいずれかが見つからない場合でも、アセンブリは残りのパートで構築されます (アセンブリのパート ファイルのうち、OpticStudio が検出できないものがあった場合は、エラー メッセージが表示されます)。したがって、アセンブリの正確性はユーザー側で確保する必要があります。
この例で取り上げるアセンブリ ファイルでは、構造を持つハウジングに収めたフィラメント型の光源を記述しています。下図は、このアセンブリを Autodesk Inventor で表示したものです。
図 2: フィラメントとハウジングを収めたアセンブリ ファイルを表示した Autodesk Inventor
このアセンブリを OpticStudio に読み込むには、まずアセンブリ ファイル (*.IAM) と構成部品ファイル (.IPT) を適切なフォルダに保存する必要があります。Autodesk Inventor ファイルのデフォルト フォルダは <… \Documents\Zemax\OBJECTS\Inventor Files> ですが、この保存場所は [プロジェクトの環境設定] (Project Preferences) の [フォルダの設定] (Folders) でユーザーが定義できます。
図 3: [プロジェクトの環境設定] (Project Preferences) での Autodesk Inventor ファイル保存場所の設定
SolidWorks および Creo Parametric ファイルにもそれぞれ専用のフォルダがあります。
アセンブリ ファイルを適切なフォルダに保存した後、OpticStudio を起動し、ノンシーケンシャル モードに切り換えます。ノンシーケンシャル コンポーネント (NSC) エディタの [オブジェクト プロパティ] (Object Properties) を展開し、[タイプ] (Type) ドロップダウン メニューから [CAD アセンブリ : Autodesk Inventor®] (CAD Assembly: Autodesk Inventor) を選択します。
図 4: NSC エディタでの CAD アセンブリ : Autodesk Inventor® の選択
次に、目的の *.IAM アセンブリ ファイルを選択して [OK] (OK) をクリックします。
図 5: *.IAM アセンブリ ファイルの選択
*.IAM 拡張子を持つアセンブリ ファイルは、適切なフォルダに保存されていれば、すべて入力ファイルとして選択できます。[OK] (OK) をクリックすると、Autodesk Inventor が起動していて、アセンブリを OpticStudio に読み込んでいることを示す以下のメッセージが表示されます。
図 6: OpticStudio が CAD ファイルを読み込んでいることを示すメッセージ
アセンブリの分解
アセンブリ ファイルの読み込みが完了すると、アセンブリを構成部品に分解するかどうかの確認が自動的に求められます。
図 7: アセンブリを分解するかどうかを選択するオプションの自動表示
上記の確認で [いいえ] (No) を選択すると、アセンブリは分解されず、単独のファイルとして読み込まれます。最初の読み込み時にアセンブリを分解するように選択しなかった場合でも、NSC エディタ ツールバーの CAD ツールを展開して [Autodesk Inventor アセンブリを分解] (Explode Autodesk Inventor Assembly) を選択すれば、いつでもアセンブリを分解できます。
図 8: NSC エディタ ツールバーの CAD ツール
適切な CAD ツールを有効にするには、エディタで目的の CAD アセンブリ オブジェクトの行を選択しておく必要があります。たとえば、CAD アセンブリ : SolidWorks® オブジェクトの行を選択していると、[SolidWorks アセンブリを分解] (Explode SolidWorks Assembly) ツールが有効になります。
[Autodesk Inventor アセンブリを分解] (Explode Autodesk Inventor Assembly) を選択すると、次のダイアログが表示されます。
図 9: [Autodesk Inventor アセンブリを分解] (Explode Autodesk Inventor Assembly) の設定ダイアログ
[パート数の取得] (Get Part Count) ボタンをクリックすると、アセンブリにある構成パートの数が返されます。
図 10: アセンブリ ファイルにあるパートの数の取得
[分解] (Explode) ボタンをクリックするとアセンブリが構成パートに分解されます。[分解] (Explode) をクリックすると、一時的にダイアログ上の他のすべてのボタンが無効になり、ステータスを示す [お待ちください。] (Please Wait...) というメッセージが表示されます。
図 11: アセンブリ分解中に表示されるステータス
アセンブリの分解が完了すると、上記のダイアログの各ボタンが再び有効になります。[終了] (Exit) をクリックして NSC エディタを表示します。
図 12: NSC エディタに表示されたアセンブリとその構成パート
構成パートがそれぞれ Zemax オブジェクト フォーマット (.ZOF) でファイルに書き込まれ、CAD パート : STEP/IGES/STL オブジェクトとして OpticStudio に読み込まれます。このため、OpticStudio では構成パートの形状が固定されます。これは、アセンブリにある各パートはこれ以上変更する必要がないという前述の前提に沿った扱いです。
各構成パートを動的に変更できるアセンブリを OpticStudio でモデル化するには、各パートをアセンブリとしてではなく、ネイティブ ファイル フォーマットで別々に読み込む必要があります。この例では、CAD パート : Autodesk Inventor® オブジェクトを使用します。詳細は、記事「OpticStudio のダイナミック CAD リンクの使用」を参照してください。
分解後の各構成パートの位置と方位は、NSC エディタの [基準オブジェクト] (Ref Object) で指定した親アセンブリを基準とします。基準オブジェクトの詳細については、ヘルプ ファイルの「基準オブジェクト」を参照してください。
親アセンブリの [オブジェクト プロパティ] (Object Properties) を展開します。このオブジェクトをエディタに記述していても、光線とは相互作用しません。
図 13: 親アセンブリ オブジェクトを無視する設定
この [光線はこのオブジェクトを無視] (Rays Ignore Object) 設定は、構成パートへの分解の際に自動的に [常時] (Always) に変更されます。さらに [オブジェクト プロパティ] (Object Properties) の [描画] (Draw) を確認すると、親アセンブリ オブジェクトが 3D レイアウトやシェーデッド モデル ビューアに描画されないことがわかります。
図 14: 親アセンブリ オブジェクトを描画しない設定
親アセンブリは基準オブジェクトとして使用され、その構成パーツのみが光学系で意味を持つオブジェクトとして扱われます。
エディタでアセンブリが不要な場合は手動で削除できますが、アセンブリ分解の設定ダイアログにも、次のようにアセンブリを削除するオプションがあります。
図 15: 分解時に CAD アセンブリを削除するオプション
このオプションをチェックすると、分解後の NSC エディタは次のようになります。
図 16: 親アセンブリを削除した場合の NSC エディタ
各構成部品の位置と方位は引き続き親アセンブリの位置と方位を基準としますが、親アセンブリ自体は空オブジェクトに置き換えられています。分解後にアセンブリ オブジェクトを削除すると、以下の 2 つの利点が得られます。
(1) ファイルに必要なメモリ量を削減できます。読み込み当初のアセンブリが大きく、メモリを大量に消費すると、メモリ不足の問題が発生することがあります。
(2) ファイルから Autodesk Inventor (または該当の CAD プログラム) へのダイナミック リンクが不要になります。その結果、最適化などでのファイル更新の速度が速くなります。
なお、分解後に親アセンブリを削除すると、その作成元プログラム (この例では Autodesk Inventor) で親アセンブリが変更されても、そのプログラムとのリンクが失われている OpticStudio にはその変更が通知されません。
したがって、OpticStudio で光線に無視される親アセンブリであっても、NSC エディタに残しておけば、分解済みアセンブリを保存した OpticStudio ファイルを次回開くときに、作成元プログラムで発生したあらゆる変更が必ず読み込まれます。
光学特性の定義
アセンブリを分解したので、フィラメント光源とハウジングにそれぞれ異なるプロパティを割り当てることができます。たとえば、ハウジングをポリカーボネート製とする設定が可能です。そのような設定にするには、NSC エディタでオブジェクト #2 の [材質] (Material) セルに「POLYCARB」と入力します。この結果、現在の材料カタログのリストに MISC カタログが自動的に追加されます。
図 17: フィラメントのハウジングに対する材質の指定
次に、フィラメント (NSC エディタのオブジェクト #3) を金属製の反射鏡に設定します。そのために以下の 2 つの手順を実行します。
(1) まず、フィラメント形状のすべての面を単一のフェイスにグループ化する必要があります。そのためには、オブジェクト 3 のプロパティを拡張して [CAD] (CAD) 設定に移動します。[全てを選択] (Select All) をクリックし、[以下へ変更 ->] (Change To ->) の入力値を [フェイス 0] (Face 0) に設定したうえで、[以下へ変更 ->] (Change To ->) ボタンをクリックします。
図 18: フィラメントのすべての面をフェイス 0 に変更
(2) 次に、フェイス 0 に反射性の金属コーティングを適用します。オブジェクト 3 のプロパティの [コーティング/散乱] (Coat/Scatter) に移動します。[フェイス特性] (Face Is) を [反射性] (Reflective) に設定し、[コーティング] (Coating) として [METAL] (METAL) を選択します。
図 19: フィラメントへの反射性金属コーティングの適用
この METAL コーティングはアルミ薄膜であり、ビームスプリッタに広く使用されています。さらに、[フェイス特性] (Face Is) を [反射性] (Reflective) に設定しているので、反射光線のみが考慮されます。この設定を [オブジェクト デフォルト] (Object Default) のままにしておくと、材質タイプに応じて、このフェイスは屈折性、反射性、または吸収性になります。
実際には、フィラメントとハウジングの物理特性がこれらの設定よりもはるかに複雑になることがあります。たとえば、これらのオブジェクトのそれぞれで、複雑な面散乱分布に従って光が散乱することが考えられます。各オブジェクトの散乱分布を測定できる場合 (たとえば IS-SA Imaging Sphere による測定)、そのデータを BSDF 散乱モデルとして OpticStudio に直接取り入れることができます。このモデルの詳細については、記事「表形式の BSDF データを使用して面の散乱分布を定義する方法」を参照してください。
光線追跡
続いて、光学系に光源 (フィラメント) オブジェクトを配置して、CAD 定義のフィラメントで発生する光線をシミュレートします。[内部配置] (Inside Of) パラメータを指定して、光源オブジェクトがハウジングの内部に置かれるように定義する必要があります。
図 20: ハウジング (オブジェクト 2) 内部への光源 (フィラメント) の配置
CAD で定義されているフィラメントとプロパティが一致するように、以下の設定が必要です。
(1) 光源の Z 位置を 13.5 mm、描画光線数を 100、解析光線数を 100 万に設定します。
Parameter | Value |
Z Position | 13.500 mm |
Layout Rays | 100 |
Analysis Rays | 1,000,000 |
Length | 4.500 |
Radius | 1.150 |
Turns | 15.000 |
図 21: 光源 (フィラメント) の設定 : Z 位置 = 13.5 mm、描画光線数 = 100、解析光線数 = 1,000,000
(2) フィラメントの長さを 4.5 mm、半径を 1.15 mm、巻数を 15 に設定します。
図 22: NSC 3D レイアウトで橙色に強調表示した光源 (フィラメント)
上のスクリーンショットは、光源 (フィラメント) を橙色に強調表示した NSC 3D レイアウト画面です。光源の形状が、CAD オブジェクトのフィラメントの曲面形状と一致していることがわかります。これを NSC 3D レイアウトで表示するには、NSC エディタ ツールバーで [NSC 追跡エラーを無視する] (Ignore Trace Errors) の設定を選択します。この設定により、光線追跡のエラーがレイアウト ビューアに表示されなくなります。有効な光学系であっても、コンピュータの精度が有限であることなどの軽微な問題によってエラー光線が発生することがありますが、インポートした CAD パートではその頻度が高くなります。詳しくは、「形状エラーの特定方法 (第 1 部)」を参照ください。
(3) 最後に、フィラメントのスペクトル分布を定義します。オブジェクト 4 のプロパティの [光源] (Source) で等価な色温度を設定します。[色/スペクトル] (Color/Spectrum) の [光源の色] (Source Color) で [色温度] (Color Temperature) を選択し、「6500」を入力します。光源設定に関して、これらの光源設定に関する詳細については、記事「有色光源と三刺激値光源をモデル化する方法」を参照してください。
図 23: 光源 (フィラメント) のスペクトル分布の設定 (色温度 6500 K)
続いて、光源から放射される光線の光を検出する遠視野ディテクタを追加します。NSC エディタで新しいオブジェクトを挿入し、そのタイプをディテクタ (色) に変更します。Z 位置を 500 mm、材質を ABSORB、X 半幅と Y 半幅を 2000 mm、X ピクセル数と Y ピクセル数を 100 に設定します。
Parameter | Value |
Z Position | 500 mm |
Material | ABSORB |
X Half Width | 2000 mm |
Y Half Width | 2000 mm |
# X Pixels | 100 |
# Y Pixels | 100 |
図 24: ディテクタ (色) の設定 : Z 位置 = 500 mm、材質 = ABSORB、X 半幅と Y 半幅 = 2000 mm、X ピクセル数と Y ピクセル数 = 100
このディテクタ上の放射照度分布を表示するには、光線追跡を実行する必要があります。[解析] (Analyze) タブに移動して、[光線追跡コントロール] (Ray Trace Control) を開きます。次のように設定してから [クリアして追跡] (Clear & Trace) をクリックし、100 万本の解析光線を追跡します。
図 25: 光線追跡コントロールの設定 : [偏光を使用] (Use Polarization)、[NSC 光線の分割] (Split NSC Rays)、[エラーを無視] (Ignore Errors) を選択
光線追跡が完了したら [終了] (Exit) をクリックして、ディテクタ ビューアを開きます。この CAD モデル内部のフィラメント光源が遠視野で示す特性が表示されます。
図 26: 遠視野ディテクタ上のトゥルー カラー放射照度
このモデルは、フィラメントとハウジングの両方に定義した材質プロパティの影響を強く受けます。この例では、光源 (つまり、CAD 定義のフィラメント) の物理モデルによって、光と実際の放射源との相互作用を正確に特性評価できます。これは、反射してフィラメントの方向に戻った光が CAD オブジェクトと正確に相互作用することを意味します。このような現象を光源モデルのみで考慮することは不可能です。
KA-01444
コメント
サインインしてコメントを残してください。