ホーム > 技術支援サービス > ありがちな、自動設計の進め方の例
光学には、多くの優れた教科書があって、レンズ設計の原理が明確に解き明かされています。 どの教科書も、光学理論をベースに展開した筋道の通った記述がなされていますが、光学CAD による設計実務との関連を把握するのに適しているとは思えない状況です。
そこで、ここでは光学CAD を使ったレンズ設計の実務が、どのように展開していくのかを具体的な流れとして紹介します。 便宜上、設計のためのCAD操作を説明する際には、 米国ORA社の開発製品である 光学設計CAD、CodeV を前提とします。 もし、あなたが CodeV を使える環境にあるなら、同じ操作を試してみてください。しかし、そうでない場合でも、全体の流れを捕らえるのに障害はありません。
ぜひ、最後まで読んでみてください。あなたがもしもレンズ設計を "取っつきづらい" と感じていたとしても、この資料なら手順や雰囲気を間違いなく感じられます。
あなたは、こんな仕様のレンズの設計を依頼されました。
焦点距離 | 100mm |
口径比 | F4.5 |
視 野 | 10°(半角:光軸と最外周視野がなす角) |
波長範囲 | 640nm - 430nm |
全 長 | 105mm以下 (レンズ先端から像面まで) |
ではさっそく、設計の実務をフォロウしていきましょう。ステップごとに分割して説明します。全部で 14ステップあります。
■ Step 1 ■
最初にすることは、凸凹のレンズを何枚、どのように組み合わせるかの予想を建てることです。
すぐにそれを思いつくなら、わざわざ、この文章を読みませんよね。
心配は、いりません。それは誰でも同じことですから。
レンズの組み合わせを予想するのに、光学の理論を駆使する必要はありません。光学設計データ集 を使って、調べれば良いのです。たとえば、下記のうち
Modern Lens Design Warren J. Smith 著 McGraw-Hill 出版 1992年 7月 amazonで約1万円弱 |
Modern Lens Design Warren J. Smith 著 McGraw-Hill 出版 2004年 9月 amazonで約1万円弱 |
Lens Design Milton Laikin 著 Marcel Dekker 出版 2001年 3月 amazonで2万円弱 |
旧版の "Modern_Lens_Design" は、望遠鏡、顕微鏡の対物レンズから始まって、複数枚構成の結像レンズ、ズームレンズ、赤外用光学系、スキャナレンズまで、17の分野に分けて、レンズデータと断面図、収差図が多数収録されています。 一方、"Lens Design" には、簡単な評価用のプログラムとともに本書に掲載された125種類のデータが ディスクで添付されています。
さらに最近、日本語の一般書としては恐らく初めてとなる解説付きのデータ集が出版されました。
レンズ設計のすべて 辻 定 彦 著 電波新聞社 2006年 9月 一般書店で3520円(税別) |
一方でこのような書籍によらず、特許電子図書館 にキーワードを入力して検索する方法もあります。 また、すでに市販のレンズ設計CADを所有している方は、ソフトウェアにサンプルデータが付属しているかもしれません。
レンズ系の構成枚数やタイプ(凸凹レンズの組み合わせ方)は ごく大ざっぱにいえば、口径比と視野によって決定されますから、それをよりどころとして、 これらの資料を元に仕様の似たデータを探し出すのが最初の仕事です。
このようにして調査をすると、この記事における仕様であれば、凸・凹・凸の順序で合計3枚のレンズを組み合わせる例が 一般的であると分かります。
■ Step 2 ■
書籍や特許で検索したデータをそのままCADに入力しても良いのですが、ここではあえてそれをせず、"凸・凹・凸" という情報だけを使って、初期データを作成してみます。
あまり、細かなことにこだわらず、あてずっぽうに適当な値を入力するという訳です。
材料は、もっとも一般的な光学ガラスである、BK7 を前提としましょう。 このガラスは、オリジナルにはドイツのSchott(ショット)社の製品ですが、あまりに広く普及したために、 今では国産を含む、多くの光学ガラスメーカが同等品を製造しています。 そこで、ここでは入手の容易なオハラ社の同等材 S-BSL7 を採用します。 この材料の屈折率は、おおむね、1.52 程度ですが、屈折率が概ね1.5前後の単レンズの場合には、電卓計算をするまでもなく焦点距離の概算値を見込めます。
例えば、両面の曲率半径を同じ値とする凸レンズの焦点距離は、ほぼ、曲率半径の値程度になります。 両面の曲率半径が50mmの両凸レンズなら、その焦点距離はほぼ 50mm になるという具合です。 同じことが、両凹レンズにもいえます。ただし、凹レンズの場合には焦点距離の符号が反転して、-50mm になることには注意が必要です。 平凸レンズや平凹レンズの場合には、それらの焦点距離は曲率半径のほぼ倍の値をとります。
レンズデータをあてずっぽうで作成する場合に有益な、もうひとつの知識は、単レンズがさほど厚くなく、レンズ相互の間隔が十分に狭い場合には、 複数のレンズの合成焦点距離は各レンズの焦点距離の単純和に ほぼ一致するということです。
以上のことから、材料がS-BSL7なら、焦点距離が それぞれ +50mm(両凸レンズ) / -50mm(両凹レンズ) / +100mm (平凸レンズ) という組み合わせであれば、 全体の焦点距離は 100mm 程度になるだろうと期待できます。
曲率半径(形状) | 肉厚/間隔 | 材 料 | |
第1レンズ | +50mm (凸面) -50mm (凸面) |
6.0mm 2.5mm |
SBSL7 |
第2レンズ | -50mm (凹面) +50mm (凹面) |
3.0mm 3.0mm |
SBSL7 |
開口絞り | ∞ (平面) | 2.0mm | |
第3レンズ | +50mm (凸面) ∞ (平面) |
4.5mm ----- |
SBSL7 |
このレンズデータは GUIから設定することもできますが、下記のようにコマンドで設定することもできます。
コマンド凡例) 面番号 | 曲率半径(mm) | 面間隔(mm) | ガラス材料名 |
S1 | 50 | 6 | SBSL7 |
S2 | -50 | 2.5 | |
S3 | -50 | 3 | SBSL7 |
S4 | 50 | 3 | |
S5 | 0 | 2 | |
S6 | 50 | 4.5 | SBSL7 |
S7 | 0 | 0 |
多くのガラス材料の正式名称にはハイフン(-) が含まれています。しかしそれを省略して設定するのが CODEV流です。 例えば、 S-BSL7 は SBSL7となるわけです。 平面(曲率半径∞)は、ゼロと入力すれば ソフトウェアの内部で 無限大に読みかえられます。 絞り(英語では STOP) は STOコマンドで第5面(S5:Surface 5) に設定します。具体的には
STO S5
のようにします。第3レンズの後方の面間隔は、とりあえず任意の値を入力すればよく上記例では ゼロをいれてあります。 ここでさらに
PIM
と入力することで、レンズ最終面から近軸像面までの距離(Paraxial IMage, 上記例では第7面の面間隔) が正しい値に置き換えられます。
単レンズの肉厚 や レンズ間隔は、断面図を描画(DRAコマンド, Drawという意味) しながら、必要に応じてありがちな形となるように調整します。 ここもやはり あてずっぽうということですね。 ここで "ありがちな形" とは、凸レンズの中心厚が厚すぎず、端厚が薄すぎない形状のことです。 凹レンズであれば逆に、中心厚が薄すぎず端厚が厚すぎないというものです。 形状の基準としては、上述の光学設計データ集 に掲載されている断面図や、既成の単レンズを販売しているメーカさんのカタログ本のデータが参考になります。
上記断面図は、口径比と視野角を 本来の仕様の半分として描画させたものです。描画条件としては;
= レンズ断面図の描画条件 = | |
口径比(Fno, Fナンバ) | :F9.0 |
視 野 | :5°(半角:光軸と最外周視野がなす角) |
波長設定 | :500nm 単色 |
これらを設定するためのコマンドは次のとおりです。
FNO | 9 |
YAN | 0 2.5 5 |
WL | 500 |
視野角の設定(YAN)の単位は度です。 この例では 0°, 2.5°, 5°の方向から光学系に入射する光線を想定しています。 追跡光線の波長設定(WL) の単位は nm です。 この段階では 最終仕様をそのまま設定する必要はありません。むしろ視野は狭いめに、口径比は暗め(大きな数値)に設定すれば良いと思います。 ここでは大きな入力ミスや勘違いのないことを確認したいだけだからです。
さて、焦点距離は 期待どおりに設定されているでしょうか? 確認してみましょう。
CodeV コマンド | FIR |
出力結果 → | NFINITE | CONJUGATES |
EFL | 92.0721 | |
BFL | 77.8524 | |
FFL | -89.0376 | |
FNO | 9.0000 | |
: | ||
(以下、略) |
上記 出力リストの EFL の値から、入力したレンズの焦点距離は、92mm であることが分かりました。 ほぼ目論見どおりです。 このまま先に進んでもよいのですが、せっかくなので、仕様である 100mm に一致させる(近づける) 手法も紹介しておきます。
方法-1) | スケーリングコマンドによる方法 |
曲率半径も面間隔も、すべてがスケーリングされて、全系の焦点距離が 100mm に調整されます。 | |
CodeV コマンド sca efy 100 | |
この方法を採ると、レンズ厚が極端に薄くなったり、あるいは不必要に厚くなったりするかもしれません。 そのような場合には、レンズデータを手入力で設定しなおして、再びスケーリングを実行します。 |
方法-2) | 曲率半径の設定値を変更する方法 |
いずれかの面の曲率半径を手入力で修正し、ほぼ100mm近くになる様に調整を図ります。 その際、目標にたいして ±3%程度 (97mm~103mm程度)に追い込めれば、後に紹介する自動設計の機能で十分に修正可能です。 |
ここでは、2番目の方法を取ります。具体的には第3レンズの凸面の曲率半径を 50mm から 55.3mm に修正しました。このとき、組レンズとしての全体系の焦点距離は 100.15mm です。
以上で 今後の作業の出発点が得られました。
■ Step 3 ■
では次に、本来の仕様にあわせて 口径比と視野を設定しましょう。
ただし、いきなり本来のデータを設定するようなことはしません。断面図を見ながら、徐々に変更していきます。 もしも途中で光線追跡エラー等が発生したら、その一段階前の設定値を仮の仕様と考えて、そのまま先に進みます。 仮仕様を使ってこの先に紹介する設計プロセスを経たのち、 再びこのステップに戻れば、その時には、本来の仕様が設定できる状態に改善されています。
幸いにも今回の仕様はデータは、特に問題なく光線追跡のできることを確認できました。
視野設定に関するコマンド | yan 0 5 10 |
口径比の設定に関するコマンド | fno 4.5 |
波長の設定は まだ単色 (500nm) のままです。
断面図 | |
スポットダイアグラム | 横収差図 |
■ Step 4 ■
さて、自動設計のための準備をしましょう。
自動設計とは、収差の小さなレンズデータに変形させるための計算処理のことです。
もう少し詳しく述べると、スポットダイアグラムのRMS直径がゼロに最も近づく様に (つまり光線の収束度が最大化されるように)レンズの設計者が選定したレンズパラメータの値を使ってパラメータフィッティングが実行されるプロセスとして理解できます。
ですので、自動設計の準備とは、フィッティング変数として使用すべきレンズパラメータを選択・設定する作業であると考えれば良いでしょう。
ここでは、絞り面以外の全ての面の曲率半径を設計変数することにして・・・
CodeV コマンド | ccy s1..4 0 ; ccy s6..7 0 |
と入力します。
ではここで、データをいったん保存しておきましょう。
CodeV コマンド | rl model.seq |
■ Step 5 ■
さっそく、自動設計コマンド を実行してみると・・・
CodeV コマンド | aut ; dra ; go |
何か変です。レンズが随分、小さくなってしまいました。
念のために 焦点距離を確認してみましょう。
CodeV コマンド | FIR |
出力結果 → | NFINITE | CONJUGATES |
EFL | 6.5473 | |
BFL | 0.1618 | |
FFL | 5.2044 | |
FNO | 4.5000 | |
: | ||
(以下、略) |
焦点距離(EFL)が 極端に短くなってしまっています。 CODEVの設定によってはこの例と完全に同じ結果にはならないかもしれませんが、 それでも焦点距離が 100mm よりも大幅に短くなっていることを確認できるでしょう。
一般に自動設計の機能は 収差を小さくできる事なら、何でもします。 この例では、レンズ全体をスケールダウンすることで、収差の大きさもスケールダウンされたというわけです。これを意図どおりの結果だとはいえません。
■ Step 6 ■
自動設計を起動する前に戻して やりなおしです。
ショートカットキーを押しながら Z キー ([CTRL]+Z) を押して UNDO とするか、
または
CodeV コマンド | n model | ! オリジナルデータの再読込 |
そして、任意のテキストエディタ(notepad や 秀丸など) を起動し、次のシーケンス (コマンドを羅列したテキスト)を入力したら、astap_2.seq という名前で保存しましょう。 (!マーク以降は、注釈ですから実際には入力しなくても大丈夫です)
aut | |
efy = 100 | ! 制約条件として 焦点距離を 100mm に維持 |
wtx 1 1 1 | ! 像ボケの X方向成分に対する重み、3つの画角について等設定 |
wty 1 1 1 | ! 像ボケの Y方向成分に対する重み、3つの画角について等設定 |
dra | ! 自動設計の進行状況を、レンズ断面図にも反映 |
go |
■ Step 7 ■
たった今保存した 自動設計のシーケンス を読み込むことで、自動設計を実行します。
CodeV コマンド | in astep_2 |
焦点距離を確認してみましょう。
CodeV コマンド | FIR |
出力結果 → | NFINITE | CONJUGATES |
EFL | 100.0002 | |
BFL | 88.7690 | |
FFL | -92.3200 | |
FNO | 4.0000 | |
: | ||
(以下、略) |
今度は、焦点距離が 100mm に保たれました。
■ Step 8 ■
レンズの厚さを手動で調整します。
第1レンズ → 厚くする | CodeV コマンド | thi s1 6.5 |
第3レンズ → 厚くする | CodeV コマンド | thi s6 5.5 |
こうすると性能が劣化するので、もういちど自動設計を実行
CodeV コマンド | n astep_2 |
これで単色収差は、ほぼ改善できました。
断面図 | |
スポットダイアグラム | 横収差図 |
スポットダイアグアム も 横収差図も、設計前と比較して 10倍に拡大したスケールで描画してあります。
■ Step 9 ■
実際の仕様は、 620nm - 440nm を対象波長範囲としていますから、それに対応した設計に発展させなくてはなりません。
そのためには、すべてのガラスが、S-BSL7 のままという訳にはいきません。
異なるガラスの組み合わせなければ、広い波長域に対する色収差(色ニジミ)を抑制できないからです。
設計パラメータとして、ガラス材料を選択することにします。
CodeV コマンド | glc s1 0 | ! 第1ガラスを設計パラメータとして設定 |
glc s3 0 | ! 第2ガラスを設計パラメータとして設定 | |
glc s6 0 | ! 第3ガラスを設計パラメータとして設定 |
それから、ごく狭い波長範囲だけを設定します。たとえば、520nmから490nmまでの帯域から 3つの波長を選択。
CodeV コマンド | wl 520 500 490 | ! 設定波長の変更 |
spc | ! 変更の確認 |
出力結果 → | SPECIFICATION DATA | |
FNO | 4.50000 | |
DIM | MM | |
WL | 520.00 500.00 490.00 |
その後、自動設計
CodeV コマンド | in astep_2 |
さらに徐々に波長範囲を広げながら、設計操作を繰り返します。
CodeV コマンド | wl 540 500 480 | ! 波長変更の設定 |
spc | ! 波長設定の内容を確認 | |
in astep_2 | ! 自動設計を起動 |
もうひとつの方法は、
CodeV コマンド | wl (wl w1)+20 500 (wl w3)-10 |
n astep_2 | |
spc |
この場合は、現状の第1設定波長 (wl w1) に 20nm が加えられた値と500nm、それに 現状の第3設定波長 (wl w3)から10nmが引かれた値が設定されます。 このシーケンスをいったんテキストエディタに記述し、全体をカットすれば、その後は、ペーストを繰り返すことで、簡便に同じ処理を繰り返せます。
最終的に 640nm 500nm 430nm に到達した段階で、この操作を終了します。
断面図 | |
スポットダイアグラム | 横収差図 |
参考) | 波長範囲を 640nm - 430nm とするとき、中間の波長として (640+430)/2 = 535nm としないことを不自然に感じていませんか? この疑問を解決するために、S-BSL7 の各波長の屈折率を調べてみましょう。 |
640nm - 1.51438 535nm - 1.51884 500nm - 1.52094 430nm - 1.52682 |
|
640nmと430nmにおける屈折率の中間値は、1.52060 です。これは、535nmというよりも、むしろ 500nm の屈折率に近い値です。 光学ガラスの屈折率の波長に対する変化率は、長波長側で緩やかで短波長側では、相対的に急峻です。このため、このようなことが生じます。 レンズ設計にあたっては、波長を基準に等分配するよりも、屈折率を基準に分配するのがましいのです。 |
■ Step 10 ■
さて、ここでレンズの全長(第1面から像面までの距離 を確認してみましょう。
CodeV コマンド | eva (oal s1..i) |
出力結果 → | (OAL S1..I) = 109.848031925 |
仕様では、105mm 以下でなくてはならないレンズの第1面から像面までの距離は、現状では、109.8mmになっています。
このステップでは、この問題に対処します。
まず、第1レンズ後ろの間隔と、像距離(最終レンズと像面の間の距離)を設計パラメータとして設定します。
CodeV コマンド | thc s2 0 | ! 第1レンズの後方(第2面の後方)を設計パラメータ指定 |
thc si 0 | ! 像距離 (i面:image面の間隔)を設計パラメータ指定 |
thc とは thi(面間隔) を設計変数として設定するためのコントロールコード、 つまり THi Cotorol という意味です。 またsi は 像面(Suface of Image) ということですから、 それを変数とするという意味は、デフォーカス量を設計変数に設定したということです。
[参考] | デフォーカス量とは、『近軸像面を基準とする収差評価像面までのオフセット量』のことです。 光学系に収差があるときには、近軸理論から決定される像位置から光軸に沿って いくらかシフトした位置に最良像面が存在します |
さて、自動設計を起動する直前の状態に対して レンズ全長が 1mm 短くなるように制約したシーケンスは、 次のようなものです。
aut efy = 100 oal s1..i < (oal s1..i)-1 wtx 1 1 1 wty 1 1 1 dra go eva (oal s1..i) |
このテキストを任意のテキストエディタ(notepad や 秀丸など) に入力したら、astep_3.seq という名前で保存してください。
全長を短くする制約は、シーケンス中で次のように設定されています。
oal s1..i < (oal s1..i)-1 |
左辺は、制約の対象が 第1面から像面(i面)までを光軸に沿って図った距離 (oal : Optical Axis Length) であることを示しています。 そして、右辺は、制約の閾値が。自動設計開始時の全長から 1mm を差し引いた値であることを示しています。 また、不等号 " < " は、 全長が閾値よりも小さくなるように制約されることを意味しています。
シーケンスの最後の行に eva コマンドも記述されている点にも注目してください。このようにすれば、自動設計が終了した瞬間に、レンズの全長が出力されます。 下記リストは、上記シーケンスを1回完了した時点の自動設計の出力リストですが、リスト中、太字表示をした (OAL S1..I) = 108.84785076 が全長です。
(前略) : CYCLE NUMBER 4: ERR. F. = 109.21151281 (change = -0.65908999) X 30.99244028 22.27805954 147.13541906 Y 30.99244028 35.62145138 60.61472788 Normal AUTO Completion - System improvement less than IMP CODE V> eva (oal s1..i) (OAL S1..I) = 108.84785076 CODE V> sa? RDY THI RMD GLA OBJ: INFINITY INFINITY 1: 30.57797 6.500000 670415.522311 2: 120.75881 4.887704 3: -97.66075 3.000000 672890.319020 4: 33.40857 3.000000 STO: INFINITY 2.000000 6: 144.75657 5.500000 743972.448504 7: -57.31955 84.135358 IMG: INFINITY -0.175211 -------------------- 出力 ここまで----------------------------
上記シーケンスを数回繰り返せば、全長はすぐに 105mm を切ります。
断面図 | |
スポットダイアグラム | 横収差図 |
■ Step 11 ■
ところで、レンズの断面図より、第3レンズの形状に着目すると両面の曲率半径が非常に似ていることに気がつきます。 レンズデータを数値で確認すると、次のとおりでした。
CodeV コマンド | sa? | |||
出力結果 → | --------------------------------------------------------------- | |||
RDY | THI | GLA | ||
OBJ: | INFINITY | INFINITY | ||
1: | 26.93668 | 6.500000 | 678311.512384 | |
2: | 98.16713 | 4.583340 | ||
3: | -182.35301 | 3.000000 | 709881.296782 | |
4: | 26.93151 | 3.000000 | ||
STO: | INFINITY | 2.000000 | ||
6: | 81.61266 | 5.500000 | 747161.380174 | |
7: | -79.82010 | 80.488770 | ||
IMG: | INFINITY | -0.227179 | ||
--------------------------------------------------------------- |
第3レンズの 曲率半径は それぞれ 81.6mm(凸) と、79.8mm(凸)です。このようなレンズは組み立て時に表裏の区別を付けづらく、 組み立てミス(レンズを逆に組み立ててしまう)の原因になりがちです。 そこで、思い切って、曲率半径が同値になるように工夫することにします。 これがうまくいけば、組み立て時に、表裏を意識する必要がなくなります。
具体的な操作としては、まず、自動設計値にパラメータの変化量を同値に保つための関連付けを行います。
CodeV コマンド | ccy s6 6 |
ccy s7 -6 |
この指定は、自動設計の過程を通して、第6面と第7面の曲率半径の変化量が常に同値のまま維持するように設定されることを意味しています。 ですから、設計開始時点の曲率半径が一致していなければ、その後も同じ値となることはありません。 そこで第5面と第6面の曲率半径を、マニュアル操作で 一致させておきます。
CodeV コマンド | ccy s6 6 |
ccy s7 -6 |
このような操作は、自動設計の自由度(独立変数を数)が減るということなので、それを補うために、絞りの前後の面間隔を設計パラメータとして追加することにします。
CodeV コマンド | thc s4 0 |
thc s5 0 |
その上で、自動設計を実行します。シーケンスは次のとおりです。
aut efy = 100 oal s1..i   < 105 wtx 1 1 1 wty 1 1 1 dra go eva (oal s1..i) sa? |
上記シーケンスを atep_4.seq という名前でファイルに保存したら、
CodeV コマンド | n astep_4 |
それを読み込んで自動設計を行います。
断面図 | |
スポットダイアグラム | 横収差図 |
シーケンスの最後の行には、"sa?" というコマンドがあります。これは、すべての面 (Surface All) のパラメータを表示させるものです。
------------------------------------------------------------------------------------------------ | |||
RDY | THI | GLA | |
OBJ: | INFINITY | INFINITY | |
1: | 27.16611 | 6.500000 | 693911.494446 |
2: | 132.62095 | 4.716597 | |
3: | -179.93694 | 3.000000 | 716888.293148 |
4: | 26.00048 | 1.600544 | |
STO: | INFINITY | 5.126322 | |
6: | 86.60885 | 5.500000 | 746931.384387 |
7: | -86.60885 | 78.731004 | |
IMG: | INFINITY | -0.190373 | |
----------------------------------------------------------------------------------------------- |
確かに、第3レンズの曲率が一致していることが確認できました。
参考) | 設計前に第6面と第7面の曲率半径を手入力で揃えましたが、より慎重には |
rdy s7 (rdy s7)*1.05 n astep_4 |
|
の要領で、徐々に一致させていくという方法が無難です。(このようなテクニックの数々は、 CodeVを使うとレンズ設計はこうなる のページに多数掲載しておきました) |
■ Step 12 ■
ここで一度、横収差図をみてみましょう。
詳しい説明は省略しますが、理想的な横収差とは、収差図が横軸に一致した状態を言います。 ですので 赤丸部のように横軸から外れた収差成分の補正を考えなくてはなりません。
参考) | 赤丸部は、最大画角における下側光線が、フレア成分を発生させている状態を示しています。 |
この状態を軽減するには、絞り位置を第2-3レンズの間から、第1-2レンズの間に移動するのが効果的です。 絞りを光軸に沿って前後させる操作は、横収差図に示された収差特性を図中で 左右にシフトさせる効果があるからです。
旧の絞り位置断面 | 新しい絞り位置 |
これを実現する CodeV コマンドの例 : | in s4 (thi s5) |
ns s3 | |
thi s2 4.0 | |
thi s3 0.585 | |
sto s3 | |
del s6 |
そして、新たに設定した絞りの後ろ側の面間隔を自動設計のパラメータとして設定し、
CodeV コマンド | thc ss 0 |
再び自動設計
CodeV コマンド | in astep_4 |
断面図 | |
スポットダイアグラム | 横収差図 |
■ Step 13 ■
これでほぼ 全体がまとまってきました。 パラメータ化したガラスは、実存しない屈折率とアッベ数の組み合わせ(仮想ガラス) として表現されたままになっています。
------------------------------------------------------------------------------------------------ | |||
RDY | THI | GLA | |
OBJ: | INFINITY | INFINITY | |
1: | 27.22452 | 6.500000 | 694000.494349 |
2: | 245.98103 | 4.300137 | |
STO: | INFINITY | 1.191584 | |
4: | -123.02406 | 3.000000 | 723541.289843 |
5: | 25.31061 | 8.829853 | |
6: | 88.67077 | 5.500000 | 747239.378757 |
7: | -88.67077 | 75.788285 | |
IMG: | INFINITY | -0.136421 | |
----------------------------------------------------------------------------------------------- |
つまり、このままでは製造不能ということです。そこで、仮想ガラスを実存するカタログガラスに変更します。 第1レンズの材料を既存のガラスに置き換えます。その上で自動設計による微修正を実行します。
第1レンズの材料名として、 694000.494349 (MILのガラスコード) が表示されていますが、これは屈折率が 1.694 , アッベ数が 49.4 の材料を意味しています。
光学ガラスメーカのカタログより、これに近い材料を選んで それをレンズデータとして設定し、再度自動設計を行います。
CodeV コマンド | gla s1 slam59 |
in astep_4 |
この状態で 第2レンズのガラスコードは、 755201.275795 となっているので
CodeV コマンド | gla s4 stih14 |
in astep_4 |
そして第3レンズは 748915.350957。
CodeV コマンド | gla s6 slam7 |
in astep_4 |
CodeV コマンド | in astep_4 |
断面図 | |
スポットダイアグラム | 横収差図 |
■ Step 14 ■
これで、仕様を満たした製造性の良いレンズの目処がつきました。どうでしょうか?レンズ設計の雰囲気を味わって頂けましたか?
実際の業務ではさらに、レンズ鏡筒との取り合いを考慮したり、曲率半径を既存の製作治具にあわせる修正を行ったりといった作業が必要です。 しかし、この続きは、ジェネシアでの講習会に回しましょう。