コプトン光学設計(ロゴ)

レンズ設計・製作、技術・ノウハウ移転サポート

コプトン光学設計コプトン光学設計




設計者コラム

#110 Zemaxマクロのfor~next文

Zemaxマクロにもfor~next構文があります。
他言語でもほぼ実装しているループ文です。
私にとっても各マクロ作成時にお世話にならないことの方が無いのではないか、というほど。
便利ですがなぜだかバグらしきものが潜んでいるようです。
例えば以下のような場合、

for i, 1, 10, 1

next

iを初期値1から10までの間、繰り返すごとに+1増加させるループ文です。
つまり繰り返し回数は9回になります。
おそらく初期値や終了値、増分が整数の場合には正常に働くことが多いと思います。

 

しかし、以下のような場合、

for i, 1, 2, 0.1

next

iは最終的に2になりそうですが、1.9で止まります。
これには結構悩まされます。
仕方がないので終了値を若干大きめに、例えば2.01などにすると正常に?働きます。
多分多くの人が気が付いていると思うのですが、ここ数年間は改善されていないようです。

どうにかして欲しいと思っています。