- Home
- Non Sequential Ray Tracing
- Objects
- How to Perform Freeform Optical Design
How to Perform Freeform Optical Design
- By Mark Nicholson
- Published 1 May 2009
- Objects
-
Rating:




Adding More Data Points
It is worth paying attention to some of the details in this last design. Note that the rays only interact with the surface at a few points, and where the rays do not hit the surface, the surface is some distance away from the rays:

Generally speaking, under optimization the 'unused' parts of the surface tend to become larger than is necessary, because no constraint exists to pull the surface in. Using the FREZ operand to minimize the object volume is a good idea to prevent designing freeform objects that are larger than they need to be.
Note also that this object looks like it has too few data points near the 'neck' between the two major sub-volumes:

The design uses only 5 data points, and initially they are at z = 0, 10, 20, 30 and 40. After this optimization, they are at z = 0, 21.2, 23.5, 23.9, and 49.5. The design clearly needs more datapoints to give a smoother surface near the neck.
Now you can simply add more datapoints by increasing the 'number of points' parameter. This will add extra points in the editor, and you will have to transfer data around by hand, as the data must be entered in order of increasing z. A better option is to look on the Non-Sequential Components Editor's Tools menu:

(Note the Insert/Delete Freeform z menu items are only available if you click on a Freeform-z object in the editor first.) You then get a dialog box in which you can enter the z-coordinate of the desired new data point:

ZEMAX will then add a new datapoint at the correct location in the editor, and set the y-coordinate of this datapoint to lie on the existing curve. This does not perturb the design at all, and all you then need to do is to set variables and re-optimize.
Note also that you can create more complex objects by adding other objects (including other Freeform-z objects) to the end faces of the Freeform-z. Here is a rather odd-looking object formed by two Standard lens objects and a Freeform-z object:

This file is Freefrom pipe with curved edges.zmx Note how the objects are referenced to each other and how pickups maintain the relative positions and edge thicknesses of the three objects so that a single assembly results. Note also that if you move object 1, the whole asssembly will move with it.

Generally speaking, under optimization the 'unused' parts of the surface tend to become larger than is necessary, because no constraint exists to pull the surface in. Using the FREZ operand to minimize the object volume is a good idea to prevent designing freeform objects that are larger than they need to be.
Note also that this object looks like it has too few data points near the 'neck' between the two major sub-volumes:

The design uses only 5 data points, and initially they are at z = 0, 10, 20, 30 and 40. After this optimization, they are at z = 0, 21.2, 23.5, 23.9, and 49.5. The design clearly needs more datapoints to give a smoother surface near the neck.
Now you can simply add more datapoints by increasing the 'number of points' parameter. This will add extra points in the editor, and you will have to transfer data around by hand, as the data must be entered in order of increasing z. A better option is to look on the Non-Sequential Components Editor's Tools menu:

(Note the Insert/Delete Freeform z menu items are only available if you click on a Freeform-z object in the editor first.) You then get a dialog box in which you can enter the z-coordinate of the desired new data point:

ZEMAX will then add a new datapoint at the correct location in the editor, and set the y-coordinate of this datapoint to lie on the existing curve. This does not perturb the design at all, and all you then need to do is to set variables and re-optimize.
Note also that you can create more complex objects by adding other objects (including other Freeform-z objects) to the end faces of the Freeform-z. Here is a rather odd-looking object formed by two Standard lens objects and a Freeform-z object:

This file is Freefrom pipe with curved edges.zmx Note how the objects are referenced to each other and how pickups maintain the relative positions and edge thicknesses of the three objects so that a single assembly results. Note also that if you move object 1, the whole asssembly will move with it.