The article is accompanied by a ZIP archive containing the sample ZEMAX files used. This can be downloaded from the final page of the article.
In the sequential ray-tracing mode of ZEMAX, the order in which surfaces are entered matters enormously. The order specified in the Lens Data Editor (LDE) gives the exact order in which light interacts with the component surfaces of the optical system.
One surface is therefore placed a thickness (a distance along the local z-axis) away from the previous surface. This is known as a local coordinate system, because the location of a surface is specified in terms of the previous surface.
A Coordinate Break (CB) surface allows you to specify the location of the next surface as being shifted in x and y, and tilted (rotated) in x, y and z as well as simply shifted in z. The Coordinate Break is a dummy surface: that is, it has no refractive or reflective power and cannot bend rays. Its sole purpose is to define a new coordinate system in terms of the current one. Using such a surface allows you to separate the geometric location of a surface from its optical properties.
In this article we will show how to tilt and decenter an optical component while leaving the position of all other components unchanged. After explaining precisely how to do this, we will show a tool that simplifies the whole process, but it is important you understand how the tool works, and so a careful reading of the whole article is advised. In the attached zip file, you will find a file, starting point.zip, which shows three glass windows, the central one of which is two optical materials glued together.
Eack of the windows has rectangular apertures applied (double-click on any surface and look at the Aperture tab to verify). Any ray that lands outside the aperture on a surface will be terminated.

In the above screenshot, positive z is in the left-to-right direction, positive y is going up the page and positive x is going into the page. This is a right-handed coordinate system, in which z is on your index finger, y on your thumb and x on your middle finger, and your index finger is pointing from left to right, as shown by the coordinate axes in the bottom left-hand corner or the 3D Layout.
Our task in this article is to tilt and center the central window while leaving the other two windows in exactly their original locations. How will we know when we have achieved this? ZEMAX has a report which is vital whenever you are working on a tilted or decentered system.
Open Reports > Prescription Report, and look at the section headed Global Vertex:

The Global Vertex report lists the position and orientation of the vertex of each surface with respect to the Global Coordinate Reference Surface (GCRS). In this design, surface 1 is the GCRS, but any surface may be selected either from the Type tab of the Surface Properties or from the Misc tab of the System Properties dialog boxes.
From the Global Vertex report it can be seen that all surfaces are on-axis with respect to the GCRS, as the rotation matrix is a unit matrix for all surfaces and the {x,y} coordinates of each surface is zero. Surface 7 (the front surface of window 3) has {x, y, z} coordinates {0,0,33} with respect to surface 1, the GCRS.
The Coordinate Break (CB) surface allows you to specify a decentration in x, decentration in y, tilt in {x, y, z} as well as shift in z (thickness) that affects all subsequent surfaces. It also has an order flag, the purpose of which we will discuss later.
Our first task is to decenter the middle window, without disturbing the location of any other surfaces.
In order to decenter the middle window, click anywhere on surface 4 (it has the comment Front Window2) and press the INSERT key on the keyboard. A new surface will be inserted, and all surfaces from the old surface 4 onwards will have been renumbered (so that surface 5 now has the comment Front Window2).
Now double-click on the new surface 4 and set it to a Coordinate Break surface:

Then scroll along to the y-decenter and enter a value of -5 mm. The Layout Plot and Prescription Report show the consequence. All surfaces from the Coodinate Break onwards are decentered by -5 mm.
![]() |
![]() |
The effects of a CB last until another CB is encountered, therefore two coordinate breaks are usually required: one to implement the tilt/decenter and the other to restore the original axis.
To demonstrate this, click on Surface 8 (the front of window 3), press INSERT again and make the new surface a CB. Make the thickness of this surface 10 mm, and make the thickness of surface 7 zero, so that the second CB is colocated with the back of the middle window. Give this CB a decenter in y of +5. You should now have the following (open intermediate step.zmx from the zip if you got lost). {Note that because of the rectangular apertures on the surfaces, rays that miss the middle window are terminated. This is an essential part of the sequential model. If you wish to model a system in which rays that miss the middle window carry on to hit the third window, you must use non-sequential ray-tracing.}
![]() |
![]() |

Do this with the decentration in x, and for the tilt parameters also, but leave the order flag = 0 for both CBs at this time. (This is an error, but we will see why in the next page).
You should be able to set any value of decenter in x and y, and ZEMAX will restore the original coordinate system at the second CB. If you got lost, open intermediate step2.zmx from the attached zip archive. We will now move onto tilts.
Reset all parameters on the first CB to zero. The parameters of the second CB should automatically set themselves to zero because of the pick-up solves. Then set the tilt-x of the first CB to 20 degrees. At first glance, this looks like all we need to do, but when the Global Vertex report is looked at carefully, it is obvious that something is wrong.
![]() | ![]() |
![]() | ![]() |
![]() | |

But isn't there any easier way to do all this? There is!
This is the easy way to tilt/decenter an optical element. Re-open starting point.zmx, and then click on Tools ... Coordinates ... Tilt/Decenter Elements, and enter whatever tilt/decentration data you want, for example:

Note that this tool does everything we did by hand! Using the tool is highly recommended as the standard technique by which you should tilt or decenter optical components in your system.
In summary, in order to tilt/decenter an optical element in a sequential optical system:
References
There are no external references for this article.