この記事では、STL、IGES、STEP、SATのファイル フォーマットを使用して CAD オブジェクトを OpticStudio にインポートする方法について説明します。
使用する CAD フォーマットは、使用している CAD プログラムに基づいて選択することが普通です。STL は、本質的にフェーセットであるオブジェクトを扱う場合や光造形法を使用して短時間で試作品を作成する場合に適しています。IGES と STEP は、CAD データを交換するための標準形式です。どちらを選択するかは、CAD プログラムのエクスポート ルーチンで実現できる品質に基づくことが普通です。SAT フォーマットは、CAD プログラムが ACIS エンジンに基づいている場合に使用します。
著者 Mark Nicholson
Introduction
OpticStudio に CAD オブジェクトをインポートする機能はきわめて重要ですが、複雑な光学機械で発生する迷光のシミュレーションでは取り付け構造による反射や散乱が大きく影響するので、この機能の重要性が際立ってきます。この点は、複雑な形状のライトパイプに光が導かれる照明光学系でも重要です。その例として、自動車のダッシュボードの設計があります。Zemax には高機能で柔軟な CAD インポート機能が用意され、広く使用されている CAD 交換フォーマットをサポートしています。
CAD オブジェクトのインポート
CAD オブジェクトはどのような複雑な形状にもすることができるので、光線は CAD オブジェクトと何度も交差する可能性があります。このことから、光線と CAD オブジェクトとの相互作用を記述するにはノンシーケンシャル光線追跡を使用します。ハイブリッド モードのノンシーケンシャル光線追跡を使用することにより、CAD オブジェクト以外はシーケンシャルである光学系に CAD オブジェクトを容易に組み込むことができます。
OpticStudioは STL、IGES、STEP、SAT の 4 つの CAD フォーマットをサポートしています(その他、SLDPRTやZPO等もありますが、本記事では取り上げません)。これらのうち、STL のみがフェーセットを使用してオブジェクトを表現します。他の 3 種類は、滑らかで連続した面の形状としてオブジェクトをモデル化します。フェーセットを使用するのは、これらのオブジェクトを画面上に描画する場合のみです。したがって、オブジェクトの描画にはフェーセットが使用されますが、滑らかで連続した CAD 面までの光線追跡は、少なくとも CAD モデルの精度の限界までは正確です。
OpticStudioは真のフェーセット オブジェクトはサポートしていますが、ほとんどの場合、フェーセットはレンダリングの目的で使用されるに過ぎず、光線追跡に使用される実際の面形状の方が正確であることは認識しておくことが重要です。
STLフォーマット
STL (Stereolithography Tesselation Language) フォーマットは、短時間で試作品を作成する作業に広く使用されており、ごく一般的な形状を容易に定義できます。このフォーマットは、オブジェクトの三角形メッシュ表現に基づいており、オブジェクトの面形状を三角形のフェーセット群で近似しています。
参照文献 1 には、STL フォーマットの概要に関する有用な解説があります。STL ファイルの各フェーセットは、その 3 つの角が占める {x,y,z} 座標および面の法線ベクトルで定義します。ここでは例として、AutoCAD で作成したサンプルの .stl ファイルから先頭の数行を示します。
solid AutoCAD facet normal 0.0000000e+000 0.0000000e+000 1.0000000e+000 outer loop vertex 6.0000000e+000 4.0000000e+000 6.0000000e+000 vertex 6.0000000e+000 6.0000000e+000 6.0000000e+000 vertex 4.0000000e+000 6.0000000e+000 6.0000000e+000 endloop endfacet facet normal 0.0000000e+000 0.0000000e+000 1.0000000e+000 outer loop vertex 6.0000000e+000 4.0000000e+000 6.0000000e+000 vertex 4.0000000e+000 6.0000000e+000 6.0000000e+000 vertex 4.0000000e+000 4.0000000e+000 6.0000000e+000 endloop endfacet |
(OpticStudio では、ASCII 形式とバイナリ形式双方の STL フォーマットをインポートできます。)フェーセットの性質を持つ STL は、フェーセット反射鏡やプリズムなどのオブジェクトのモデル化に理想的です。一方で、滑らかな曲面を持つオブジェクトのモデル化には不向きで、フェーセット化に伴う誤差が光線追跡の精度に影響する可能性があります。
STL オブジェクトは STL オブジェクト タイプを使用してインポートします。.stl ファイルは、\{Zemaxroot}\objects フォルダに保存する必要があります。
インポートしたオブジェクトは、他のあらゆるオブジェクトと同様に配置されます。
以下の例では、プリズムは平坦なフェーセットで正確にモデル化できますが、球は近似の形状になるに過ぎません。
球は三角形メッシュによる近似で形成されます。
この場合、画面に描画されるフェーセットは STL ファイルで生成されたフェーセットそのものであり、光線はこれらの平坦なフェーセットの集合と相互作用します。
IGESフォーマット
IGES (Initial Graphics Exchange Specification) は、複数の CAD プログラム間でのデータ転送の合理化を目的として米国国家標準 ANSI に規定されています。現在のところ、OpticStudio はバージョン 5.3 の IGES 規格に対応しています。IGES の詳細については、参照文献 2 を参照してください。
IGES オブジェクトは \{Zemaxroot}\objects フォルダに保存され、インポートしたオブジェクトを使用してインポートします。
以下のオブジェクトは SolidWorks からエクスポートしたものです。
このオブジェクトは、SolidWorks で最適と判断された形式でエクスポートされています。この形式は NURBS[参照文献 4] と考えられます。IGES オブジェクトはきわめて複雑であることが考えられるので、画面上ではフェーセットを使用してレンダリングされます。
OpticStudio では、オブジェクトを画面上に描画する目的でのみこれらのフェーセットが使用されることを認識しておくことが重要です。内部的には、IGES オブジェクトは滑らかなオブジェクトとして正確に表現されます。STL オブジェクトのようにフェーセット群による表現にはなっていません。
STEPフォーマット
STEP (Standard for the Exchange of Product Model Data) は、デジタル製品情報の表現方法とデータ交換方法を記述した包括的な ISO 標準 (ISO 10303) です。参照文献 4 には、STEP に関する多くの情報が掲載されています。
OpticStudioから見ると、IGES と STEP にはほとんど違いがありません。OpticStudio ではどちらのフォーマットも良好に機能するので、どちらを選択するかは、使用している CAD プログラムのエクスポート ルーチンの品質に基づいて判断することになります。IGES の方が古いフォーマットであり、それぞれの CAD ベンダーが独自のエクスポート変換機能を採用しているので、フォーマットにはベンダーどうしで多少の相違があります。STEP の方が新しく、ほとんどの CAD ベンダーが STEP ツールなどの市販ライブラリを使用しています。したがって、CAD パッケージ実装が異なっていても、STEP であればフォーマットの共通性は高いと考えられます。
OpticStudioでは、STEP オブジェクトへのアクセスやその動作は IGES オブジェクトの場合とまったく同じです。
SATフォーマット
SAT フォーマットは、Spatial Technologies[参考文献5] が開発した ACIS ジオメトリ モデリング エンジンで使用されています。ACIS モデラーの内部データ構造を直接表現したフォーマットです。つまり、SAT ファイルを ACIS ベースの CAD プログラムに読み込むときは何の変換も実行されないことが普通で、ファイルはそのまま読み込まれます。したがって、これは「CAD データ交換」フォーマットではなく、CAD フォーマットの 1 つと考えることができます。
多くの場合、.SAT ファイル フォーマットを使用するのは、ACIS ベースの CAD プログラムを使用している場合に限られます。このフォーマットも、滑らかで連続したオブジェクト表現です。使用方法は IGES ファイル フォーマットの場合とまったく同じです。
インポートされたCADオブジェクトのプロパティとパラメーター
各種のプロパティを使用して、インポートしたオブジェクトを制御できます。これらの制御は、ノンシーケンシャル コンポーネント エディターのパラメーター セルとオブジェクト プロパティ ウィンドウにあります。この説明は、前述の4つのCADインポートタイプすべてに適用されます。
各プロパティ以下の通りです。
[材料] (Material)。1 つのオブジェクトに適用できる材料は 1 つのみです。このコーヒー ポットは、ガラス製のジャー、プラスチック製の蓋、プラスチック製のハンドル、そのハンドルを水差しに保持するためのアルミニウム製のリング、そのリングにハンドルを保持するためのいくつかの金属ねじで構成されています。したがって、これらのオブジェクトを CAD パッケージから別々にエクスポートして、個々に OpticStudio にインポートする必要があります。インポート後、各サブオブジェクトに適切な光学プロパティを指定できます(合わせて「How to explode a CAD assembly」を参照ください)。相対的なオブジェクト参照を使用すると、マスター オブジェクトを基準にしてすべてのサブオブジェクトを配置できるので、コーヒー ポット全体を一単位として移動および回転できます。
[スケール] (Scale)。これは無次元の倍率であり、オブジェクトの大きさを変えることができます。
[モード] (Mode) フラグは、設定時間と光線追跡速度のトレードオフを制御します。設定時間を短縮して光線追跡のスピードを遅くする場合はモード 1、設定時間と光線追跡のスピードを中程度にする場合はモード 2、設定時間を長くして光線追跡のスピードを速くする場合はモード 3 を使用します。一般的に、OpticStudio で光学系を設定する際はモード 1、詳細な解析を目的として多数の光線を追跡する際はモード 3 を使用します。モード フラグが精度に影響することはありません。影響を受けるのは、光線追跡の速度と最初にオブジェクトを読み込むために要する時間のみです。
[X ボクセル数] (X-Voxels)、[Y ボクセル数] (Y-Voxels)、および [Z ボクセル数] (Z-Voxels) は、オブジェクトを定義する非表示の境界ボックスの定義に使用するボリューム エレメントの数を定義します。ボクセル テクノロジを利用すると、特定のボクセルにどのオブジェクトまたはオブジェクトの一部が存在するかが事前に計算され、光線追跡が高速になります。ボクセル化した領域に入射した光線は、事前計算された特定のボクセルとのみ交差するので、光線とオブジェクトとの交差を確認するボクセルをこれらのみに限定できます。ボクセルの数が多いほど、設定時間は長くなりますが、光線追跡は高速になります。一般的に、最適なボクセル数を決定するには、多少の試行錯誤が必要です。なお、ボクセル数が精度に影響することはありません。影響を受けるのは、光線追跡の速度とオブジェクトの表示に要するメモリ量のみです。
[分解] (Explode?) :このパラメータは、オブジェクトがその構成部品に分解されたかどうかを示します (アセンブリであるオブジェクトの場合)。適切なツールによって既に抽出され、エディタで参照されている分解済みの構成部品をいつ検索するかを OpticStudio が判断できるように、このパラメータは参照専用として用意されています。まだ分解されていないインポート済みオブジェクトを分解するには、「[CAD パートを分解 : STEP/IGES/SAT] (Explode CAD Part: STEP/IGES/SAT)」で説明されているツールを使用します。
[描画公差] (Chord Tolerance) は、レイアウト プロットでのソリッドのレンダリングのみに影響します。ソリッドのレンダリングでは、ソリッドの形状を近似する三角形の一覧にソリッドが変換されます。描画公差は、これら単一の三角形と実際のソリッド表面との距離の偏差に対して許容できる最大値をレンズ ユニットで表した値です。この公差を小さく設定すると三角形の数が増加し、より精密なレンダリングが実行される代わりに、描画速度が遅くなり、必要なメモリ量も増加します。デフォルト値の 0 では、オブジェクトの寸法に応じて、その形状の大まかな近似を生成できる程度の描画公差が適用されるので高速なレンダリングが可能です。この設定も光線追跡の精度に影響することはありません。
正確さと光線追跡速度に関するコメント
CAD パッケージからオブジェクトを容易にインポートするには、それがフェーセット オブジェクトであれば STL オブジェクトを使用し、IGES、STEP、または SAT のいずれかのフォーマットを使用した滑らかで連続したオブジェクトであればインポート オブジェクトを使用します。
IGES、SAT、STEP などの CAD ファイル フォーマットでサポートされている表現を使用しても、すべてのタイプの面形状を十分な精度で光線追跡できるとは限りません。平面、球、シリンダの場合は、CAD 表現が正確であれば、光学精度の光線追跡に適したきわめて高い精度が得られます。一方、これらより高次の形状には、ネイティブで表現できる CAD フォーマットが通常は存在しません。
たとえば、r16 の多項式項を持つ非球面の場合、選択できる CAD フォーマットには等価な表現がありません。一般的に、CAD プログラムではセグメント スプラインを使用してこの形状を近似表現しています。セグメント スプラインでは、複数の低次多項式を使用して、細分化した区分単位で面をフィッティングすることが普通です。多くの場合、複数の 3 次または 4 次の多項式を使用して面の近似計算が実行されます。多くの機械設計ではこの近似で十分な精度が得られますが、光の波長程度の微細構造で面を捉える必要がある光学精度の光線追跡では不十分です。
光学的な高精度の面を OpticStudio でモデル化して CAD ファイルとしてエクスポートし、それを CAD ファイルとしてインポートして光線追跡を継続する場合に問題となります。部品の光学的精度は、ネイティブの Zemax 非球面を CAD スプラインとしてエクスポートするときに失われます。
非結像光学の場合や迷光解析用に機械部品をインポートする場合であれば、通常は CAD 表現の精度で十分です。OpticStudioでは、約 1E-12 の相対的な内部光学精度が光線追跡に使用されています。オブジェクトのほとんどの CAD 表現では、これよりも数桁精度が低くなります。
球面レンズなどの簡潔なオブジェクトの場合、同じ形状のネイティブな OpticStudio オブジェクトに比べて、CAD 形式でインポートしたオブジェクトでは光線追跡が遅くなることが普通です。一般的に、適したオブジェクトが OpticStudio の組み込みオブジェクトにある場合は、必ずそれを使用します。インポートしたオブジェクトの光線追跡速度は、インポートしたファイルでソリッド形状がどれほど効率的に表現されているかによって大きく異なります。
OpticStudio にインポート可能な CAD フォーマットでサポートされているソリッドと面のさまざまなエンティティ タイプを使用すると、同じオブジェクトをほぼ無限のバリエーションで表現できます。たとえば、オブジェクトの効率的な表現では、少数のスプライン面のみが使用されるのに対し、非効率的な表現では、数百ものより小さなスプライン面が使用されることがあります。機械的にモデル化する観点では、この 2 つの表現はいずれも有効で、生成されるソリッドは同じですが、スプライン面の数が多い表現では光線追跡の実行が遅くなります。唯一の解決方法は、CAD ファイルの元となった表現に戻り、より効率的な表現を生成できるかどうかを確認することです。当社ではこれまでに、最も効率的な表現が得られるように CAD プログラムのエクスポート ルーチンを調整することで、エクスポートしたオブジェクトの大きさと光線追跡の速度に桁違いの差が発生することを確認した経験があります。
References
1. Beard, Tom. "Machining From STL Files." Modern Machine Shop. January 01, 1997. Accessed January 17, 2019. http://www.mmsonline.com/articles/019704.html.
2. CADEX Ltd. 2008. IGES. Accessed 2019. https://cadexchanger.com/iges.
3. Tiller, Wayne, and Les A. Piegl. 1996. The NURBS Book (Monographs in Visual Communication). Springer.
4. STEP Tools, Inc. 2019. What is STEP? http://www.steptools.com/stds/step/step_1.html.
5. Dassault Systemes. 2019. Spatial. https://www.spatial.com/.
ACIS および SAT は、Spatial Corporation の登録商標です。
KA-01667
コメント
サインインしてコメントを残してください。