- Home
- Sequential Ray Tracing
- 3D Geometries
- How to Work in Global Coordinates in a Sequential Optical System
How to Work in Global Coordinates in a Sequential Optical System
- By Mark Nicholson
- Published 22 June 2007
- 3D Geometries
-
Rating:




Converting to Global Coordinates
Under the Tools...Coordinates menu there are two items, Global/Local and Local/Global:

Surface 1 is currently set as the Global Coordinate Reference Surface, so it makes sense to position all surfaces relative to this one. Note that this is not required: we can position using any surface prior to the range we are converting. But, it is convenient to have a single 'global' reference!
Set it up like so:

And note that the Lens Data Editor now contains three Coordinate Break surfaces per prism. Here is our target prism:

The first Coordinate Break uses Coordinate Return solves to shift back to the position of the reference surface. The second provides decenters in x, y and z (the thickness parameter), and the third provides tilts in x, y, and z. Therefore, relative to surface 1, surface 27 (the front face of the target prism) is at
x = 0.0
y = -162.03
z = 191.384
Tilt_x = 83.007
Tilt_y = 0.0
Tilt_z = 0.0
This data can be read directly from the second and third Coordinate Break data. Even better, lets say we now want to change the position of this prism to:
x = 0.5
y = -164
z = 198
Tilt_x = 84
Tilt_y = -2.3
Tilt_z = 4.7
Just enter this data into the two Coord Break surfaces (put x, y, z data into the decenter x, decenter y and thickness parameters of the second CB, and the tilt data into the tilt parameters of the third CB) and the prism is automatically positioned correctly. Note that the following prisms do not shift position: we are positioning our target prism directly in global coordinates, and its position or orientation does not affect the position or orientation of any other object.

Better still, just do Tools...Coordinates...Global/Local and the system is automatically recast into local coordinates!
ZEMAX supports useful shortcuts to enter perturbational data into the editor. Just enter a plus sign and then the increment, then Enter. For example, to change a 12 to 17, type "+5" and Enter.
The "*" multiply and "/" divide symbols also work. To subtract a value, type a minus sign and a space followed by the value to subtract. The space is required to distinguish between subtraction and entering a negative number. Alternatively enter +-5 to avoid ambiguity.
Note one frequently made mistake: the ray-tracing is still sequential, so if our target prism is moved away from the beam altogether, ray-tracing stops:

In sequential mode, if rays cannot trace to the next surface the ray-trace terminates. To allow one prism to be taken out of the beam, and for the beam to just continue tracing to the next prism, is a task that non-sequential ray tracing is needed for. The file should be converted to a non-sequential ZEMAX model in this case.

Surface 1 is currently set as the Global Coordinate Reference Surface, so it makes sense to position all surfaces relative to this one. Note that this is not required: we can position using any surface prior to the range we are converting. But, it is convenient to have a single 'global' reference!
Set it up like so:

And note that the Lens Data Editor now contains three Coordinate Break surfaces per prism. Here is our target prism:

The first Coordinate Break uses Coordinate Return solves to shift back to the position of the reference surface. The second provides decenters in x, y and z (the thickness parameter), and the third provides tilts in x, y, and z. Therefore, relative to surface 1, surface 27 (the front face of the target prism) is at
x = 0.0
y = -162.03
z = 191.384
Tilt_x = 83.007
Tilt_y = 0.0
Tilt_z = 0.0
This data can be read directly from the second and third Coordinate Break data. Even better, lets say we now want to change the position of this prism to:
x = 0.5
y = -164
z = 198
Tilt_x = 84
Tilt_y = -2.3
Tilt_z = 4.7
Just enter this data into the two Coord Break surfaces (put x, y, z data into the decenter x, decenter y and thickness parameters of the second CB, and the tilt data into the tilt parameters of the third CB) and the prism is automatically positioned correctly. Note that the following prisms do not shift position: we are positioning our target prism directly in global coordinates, and its position or orientation does not affect the position or orientation of any other object.

Better still, just do Tools...Coordinates...Global/Local and the system is automatically recast into local coordinates!
ZEMAX supports useful shortcuts to enter perturbational data into the editor. Just enter a plus sign and then the increment, then Enter. For example, to change a 12 to 17, type "+5" and Enter.
The "*" multiply and "/" divide symbols also work. To subtract a value, type a minus sign and a space followed by the value to subtract. The space is required to distinguish between subtraction and entering a negative number. Alternatively enter +-5 to avoid ambiguity.
Note one frequently made mistake: the ray-tracing is still sequential, so if our target prism is moved away from the beam altogether, ray-tracing stops:

In sequential mode, if rays cannot trace to the next surface the ray-trace terminates. To allow one prism to be taken out of the beam, and for the beam to just continue tracing to the next prism, is a task that non-sequential ray tracing is needed for. The file should be converted to a non-sequential ZEMAX model in this case.