Tutorial 1: File Viewer

Use OpticsViewer to load any sequential OpticStudio file without loss of precision or information. All design data is available, including design targets and tolerance ranges.

Authored By Alina Shmidt


Article Attachments


OpticsViewer can open any sequential .ZMX or .ZAR file. This allows users to look at the optical system, perform analyses, create drawings, and view the optimization and tolerancing criteria used by the optical designer.

In this tutorial, you will learn to load sequential files and view design data, including design targets and tolerance ranges.

Opening a file in OpticStudio can be done from the File...Open.


To begin, open the sample file called SC_Tol_Cooke.zmx attached to this Article. The file will open to a screen displaying the Lens Data Editor, which defines the parameters of all the lenses in the system. In sequential ray tracing, light is traced from its source, called the ‘Object’ surface, to surface 1, then to surface 2, 3, etc. until it lands on the final ‘Image’ surface. For historical reasons this surface is always called the Image surface, even though the optical system may not form an image of the source.


In this system there are 3 lenses, composing a common lens type, the Cooke Triplet. Each lens is defined by a combination of 2 surfaces with the first surface defining the thickness and material to the next surface. Here the three lenses are defined by surfaces 1-2, 3-4, and 5-6. Each surface also displays any parameters used to define it, and the definition of any individual parameter can be seen in the header row.

To view the layout of the system, either click on the layout tab that is already open, or navigate to the Analyze....3D Viewer.

3D Viewer

Once you open the 3D Viewer, you should see a layout of the lens system, where the surface currently selected in the Lens Data Editor is highlighted in orange.

3D Layout

In the System Explorer on the left side of the screen, information can be found about the aperture settings, field of view definition, and system wavelengths among other systems wide settings.

System Explorer

In addition to viewing the parameters used to define the system, the optimization targets and tolerancing parameters can also be accessed. To view the optimization targets either click on the Merit Function Editor tab that’s open or navigate to Data...Merit Function Editor.


In the Merit Function editor, the design specification is expressed as a series of design goals called operands. Each operand consists of four letters that generally correspond to the quantity it is reporting. For example, the MTFA operand is the average MTF, while the OPGT operand means “operand greater than”.


Each row in the Merit Function Editor contains an operand, which computes some value measured from the system. Different operands will take different arguments, and the names of the arguments are given in the header row of the Editor. The names of the arguments displayed in the header row will likely change as you highlight different rows/operands in the Merit Function. Test this by clicking anywhere in one of the rows with an MTFA operand and then clicking anywhere in one of the rows with a BLNK or OPGT operand. Each operand that computes a value returns that value in the ‘Value’ column of the editor. The operand is also given a target value to achieve, and a weight, entered in the ‘Target’ and ‘Weight’ columns, respectively.

In this file the designer reported the MTF, or contrast, of the system at different spatial frequencies, and then used the OPGT operand to tell the optimizer that the MTFA operand should be greater than a certain value. Note the 0 in the “Weight” column for the MTFA operand. This indicates that the specific value of the MTF doesn’t matter, but rather that the MTF is greater than the number in the value column, which is why the OPGT operand has a weight of 1.

For more information about the operands available and what they mean, click on the “Help” icon in the Merit Function Editor Toolbar.


In the Help Files, either click on “Optimization Operands (Alphabetically)” at the bottom of the page, or navigate manually to the The OpticsViewer Tab > Data drop-down > Merit Function Editor > Optimization Operands (Alphabetically).

Help Files

In addition to viewing optimization targets, users can also view tolerancing targets in the Tolerance Data Editor.The Tolerance Data Editor can be found in Data...Tolerance Data Editor.


The Tolerance Data Editor behaves similarly to the Merit Function Editor, in that different operands are used to defined tolerances for different parts of the system. Once an operand is added, the nominal or initial value of the tolerance is automatically populated, followed by a “Min” and “Max”column where the range of the tolerance is set. For example, in operand 5, TRAD, or tolerance on radius of curvature for surface 3, has a nominal value of -144.5, with a tolerance range of -0.2 to+0.2.


More information about the tolerance operands can be found in the help files by clicking on the blue help button in the toolbar or by navigating to the The OpticsViewer Tab > Data drop-down > Tolerance Data Editor > Tolerance Operands.

Help Files


Was this article helpful?
0 out of 0 found this helpful



Article is closed for comments.