Tolerance on Irregular surface

  • 18 January 2023
  • 5 replies


I have some strange behaviour with Zemax and tolerancing :

To simulate a NOA cement on a doublet and test a identical tilt on the two surface near the cement I use irregular surfaces. I tried to simulate the adding of irregularity on this two surfaces, and use the “SAVE” operands in tolerance data editor to save the result.When I analyse the Zemax files created there is no change in the case of the min tolerance while the column for the "Spherical" and the "Astigmatism" are well changed in the case of the max tolerance. I don’t understand while there is no change in the case of min tolerance.

PS: There is no longer the possibility to open new tickets for bugs? When I click on the button In my account web page, I am redirected to the knowlegdebase!


5 replies

Userlevel 6
Badge +3


Assuming you are using the TIRR operand, what are the min/max fringe values?

I tried a quick test of TIRR with the sample Double Gauss 28-deg model, using Min = -2 fringes and Max = +2 fringes, and don’t see any problems.


As noted in the Help documentation:

Therefore, when the min value of W is negative, the sag perturbation should be negative, and vice versa for positive W.

When I look at the saved files, I see both spherical and astigmatism are varied.  The terms in the max file are positive, while those in the min file are negative.


Perhaps you set the min value of W in your tolerance editor to zero?



PS: Regarding the support ticket submission problem, try using a different browser with basic default security settings.  Certain browser configurations can block you from getting to the submission window.  

The problem is different from yours because the initial surfaces are "Irregular" and non-standard surfaces for the cement, I made pick-up for tilt and decenter to avoid negative thickness for the cement. I need this to simulate very sensitive design and where the cement or the tilt of surface could influence result :


When I opened the created Zemax file TSAV_MIN_0001.zmx I have this result :

When I opened the created Zemax file TSAV_MAX_0001.zmx I have this result :

As I said there is a problem with TSAV_MIN_0001.zmx file.

For information I have the last update do not take into account what is indicated in the images




Userlevel 6
Badge +3

Standard surfaces get converted to Irregular surfaces, and have the spherical and astigmatism values programmed though the parameters you highlight.

If the surface is already irregular, and already had data in those values, tolerance the parameters with TPAR instead.

Userlevel 6
Badge +3

Hi Marc,

I’ve used Irregular surfaces with TIRR in the past, and don’t recall having any problems, at least with files generated via Monte Carlo analysis.  So, just out of curiosity I duplicated your model. 


When using OpticStudio v23.1, the problem with the Min file does *not* occur.


However, I happen to have an older version still installed (v20.3.1), and in this case I do see, in fact, the same problem.  Here is the Min file LDE when running the exact same tolerance analysis on the same initial file (just using the older version of OpticStudio):

The Max file LDE looks okay.  Also, I generated a few MC files with this older version, and they look okay too.  So, it may be a bug in the older version limited to the SAVE tolerance operand.

In any event, you might want to try using the latest version (although that may be what you were trying to say in the last sentence of your previous post, I’m not sure).



Hi all,

Yes we have the V23.1 version of Zemax (not Ansys) with a perpetual license, so in this case this bug is not fixed.

In response to Mark Nicholson I am familiar with the TPAR function but I found it less good because it is necessary to pass in terms of proportion of wavelength to default value in mm, and it does not appear automatically in the ISO 10110 plans

I will try with other functions like tilt/decenter in the surface properties, but since the function is not accessible directly in the tolerance data editor, I need to use the multi-configuration editor to be able to modify the tolerance, it is not very practical.