How to use the Modify Reference Object tool

This article explains how to use the Modify Reference Object tool to tidy up multiple reference points and to define new pivot points in a non-sequential design.

Authored By Mark Nicholson


Objects in Non-Sequential Mode may be placed relative to the global coordinate system, or placed relative to any previously defined "reference object" in the Non-Sequential Component Editor.

The default reference object is Object 0, the origin of the entire system. A positive number references the current object to another object in the system with the same number, making it an "absolute" reference object. A negative number in this column finds the reference object by adding the current object number to the negative reference object number. This is a "relative" reference object.

This article will show how to use the Modify Reference Object tool, which makes it easy to change the reference object used by any specified object.

Example file description

To demonstrate the Modify Reference Object tool, open the sample file "Multiple Mirror Telescope.zmx," located in the folder "{Zemax}\Samples\Non-sequential\Miscellaneous." This file contains a four-channel telescope array, where each channel is relayed into a beam combiner such that a single image is formed:


If you open the Non-Sequential Component Editor, you will see that there are 56 objects defined in the system and that many of these objects are Null Objects. The Null Objects represent the Coordinate Break surfaces that were used to position the optical surfaces in a previous Sequential Mode design for the system. They are no longer necessary, so we will use Modify Reference Object to redefine the optical components relative to the global coordinate reference point of the non-sequential group.

Using the Modify Reference Object tool

In the toolbar of the Non-Sequential Component Editor, click on Modify Reference Object.


The tool will open. Select First Object: Object 1, Last Object: Object 56: CB DX, DY, DZ, TX, and Refer To: Global Coordinates.


Press OK, and we should see that the system performance is not affected (as confirmed by the open Huygens MTF and Huygens PSF alayses); however, the Ref Object parameter for all objects has been changed so that all objects are now positioned relative to Object 0. The Null Objects may now be deleted so that only the 20 optical components remain in the Non-Sequential Component Editor.

Defining pivot points

Another useful feature of the Modify Reference Object tool is that it allows you to easily pivot a selection of objects around a defined point. In the example file, we can demonstrate this using the primary mirror for the first quadrant of the four-telescope array. After deleting the Null Objects, this mirror is Object 2, highlighted in orange below. 


Currently, Object 2 is located at global coordinates (x,y,z) = (0, 7.2, 13) and with tilt angles (qx,qy,qz) = (0,0,0). Now, let us say that the mirror is held in a mount which has a pivot point located somewhere behind the mirror; that is, the position and tilt of the mount controls the position and tilt of the mirror. We will say that the nominal position and tilt of the mount are, respectively:

(x,y,z) = (3.5, 10, 16.7)

(qx,qy,qz) = (0, 10, 0)

In order to pivot the mirro around this point, we first need to define the point in the Non-Sequential Component Editor. Click on Object 1, and press <Insert> on your keyboard. Alternatively, you can <Right-Click> Object 1 and select Insert Object. Doing so will place a Null Object before Object 1, which subsequently increments the object number of all other objects in the editor. With this, the primary mirror now becomes Object 3. Enter the X/Y/Z Position and Tilt About X/Y/Z parameters above on the new Null Object (Object 1). Then, navigate to Object 1 Properties...Draw and select Draw Local Axis to show the pivot point in the 3D Layout.


We can now reference the primary mirror segment to the new pivot point. Select Modify Reference Object from the Non-Sequential Component Editor toolbar, and define First Object: Object 3: MIRROR, Last Object: Object Object 3: MIRROR, and Refer To: Object 1: PIVOT POINT.


Note that the primary mirror position is unchanged, but that the values entered in the Non-Sequential Component Editor now show the position and tilt of the mirror relative to the pivot point. If the pivot point is shifted or tilted, the mirror will now shift or tilt about this new pivot point.


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



Please sign in to leave a comment.