I have already searched for an answer in the knowledgebase, and searched the documentation.
Problem:
I am using coordinate breaks to generate a system with off-axis illumination.
- I want to step through a series of geometries using a macro to find the optimum geometry.
- This requires that I control the the Decenter Y of a couple of coordinate break surfaces.
- The command SETSURFACEPROPERTY does not appear to modify this parameter in the Lens Data using either
- parameter 62 (before decenter y)
- parameter 72 (after decenter y) - There are no other supported commands listed for setting decenter, and no other keywords for controlling the parameters in the lens data.
- There are some obsolete commands such as PARM, but there is no documentation
Example:
inter_optic_distance = 5
beam_diameter_in = 5
FORMAT 1.12
FOR magnification, 3, 8, .5
!determine the output beam diameter based on the selected magnification
beam_diameter_out = beam_diameter_in/magnification
decenter_y = (beam_diameter_in/2 + beam_diameter_out)*1.2
print "Output beam decenter ", decenter_y
!determine the radii of the two mirrors, such that the inter-optic distance is fixed
radius_primary = inter_optic_distance * 2 / (1-1/magnification)
radius_secondary = radius_primary / magnification
PRINT radius_primary, " ", radius_secondary
! Set the curvature of the primary and the secondary
curvature_primary = -1/radius_primary
SETSURFACEPROPERTY 3, CURV, curvature_primary
curvature_secondary = -1/radius_secondary
SETSURFACEPROPERTY 5, CURV, curvature_secondary
!set the Decenter Y of the coordinate break controlling the off-axis distance
SETSURFACEPROPERTY 1, 72, decenter_y
! run the optimization routine
OPTIMIZE
! Get the figures of merit for this magnification from the merit function editor
val01 = OPER(5, 10)
! ... and so on
PRINT magnification
PRINT val01, " "
! ... and so on
NEXT