SOLVETYPE

Changes the solve status on a given surface and value. Only some solve types are supported; contact OpticStudio technical support for information on setting other types of solves.

Syntax:

SOLVETYPE surf, CODE, arg1, arg2, arg3, arg4

Discussion:

Surf must evaluate to an integer argument between 0 and the maximum number of surfaces. The CODE must be a mnemonic as listed in the following table. The arg1 - arg4 expressions evaluate to the first - fourth solve parameters as specified in "SOLVES". Note that for cross-column Pickup solves, the column numbers are defined in " Integer codes for column numbers ". For non-sequential pickup solves, the arguments are the first through fourth lines that follow the "Solve Type" selection on the NSC solve dialog box. Some codes do not use any or all of the arguments and arg2/arg3/arg4  may be omitted in these cases.; arg1 is always required with a value of 0 if it does not exist via the GUI menu.

CODES FOR SOLVETYPE KEYWORD

Solve Type CODE
Curvature: Fixed (turn solve off) CF
Curvature: Variable CV
Curvature: Marginal Ray CM
Curvature: Chief Ray CC
Curvature: Pickup CP
Curvature: Marginal Ray Normal CN
Curvature: Chief Ray Normal CO
Curvature: Aplanatic CA
Curvature: Element Power CE
Curvature: Concentric With Surface CQ
Curvature: Concentric With Radius CR
Curvature: F/# CG
Curvature: ZPL Macro CZ
Thickness: Fixed (turn solve off) TF
Thickness: Variable TV
Thickness: Marginal Ray Height TM
Thickness: Chief Ray Height TC
Thickness: Edge Thickness TE
Thickness: Pickup TP
Thickness: Optical Path Difference TO
Thickness: Position TL
Thickness: Compensator TX
Thickness: Center Of Curvature TY
Thickness: Pupil Position TU
Thickness: ZPL Macro TZ
Glass: Fixed (turn solve off) GF
Glass: Model GM
Glass: Pickup GP
Glass: Substitute GS
Glass: Offset GO
Clear semi-diameter or Semi-Diameter: Automatic SA
Clear semi-diameter or Semi-Diameter: User Defined SU
Clear semi-diameter or Semi-Diameter: Pickup SP
Clear semi-diameter or Semi-Diameter: Maximum SM
Clear semi-diameter or Semi-Diameter: ZPL Macro SZ
Conic: Fixed (turn solve off) KF
Conic: Pickup KP
Conic: ZPL Macro KZ
Mech Semi-Dia: Automatic XA
Mech Semi-Dia: Fixed (turn solve off) XU
Mech Semi-Dia: Pickup XK
Mech Semi-Dia: ZPL Macro XM
Chip Zone: Automatic OU
Chip Zone: Pickup OP
Chip Zone: ZPL Macro OZ
Parameter: Fixed (turn solve off). Replace "p" with the parameter number in the code, for example, PF_3 will turn off the solve on parameter 3. PF_p
Parameter: Pickup. Replace "p" with the parameter number in the code, for example, PP_4 will set the solve on parameter 4. PP_p
Parameter: Chief Ray. Replace "p" with the parameter number in the code, for example, PC_1 will set the solve on parameter 1. PC_p
Parameter: Variable. Replace "p" with the parameter number in the code, for example, PV_1 will set the solve on parameter 1. PV_p
Parameter: ZPL Macro. Replace "p" with the parameter number in the code, for example, PZ_1 will set the solve on parameter 1. PZ_p
Thermal Coefficient of Expansion: Fixed (turn solve off) HF
Thermal Coefficient of Expansion: Pickup HP
Extra Data Value: Fixed (turn solve off). Replace "e" with the extra data number in the code, for example, EF_3 will turn off the solve on extra data value 3. EF_e
Extra Data Value: Pickup. Replace "e" with the extra data number in the code, for example, EP_4 will set the solve on extra data value 4. EP_e
Extra Data Value: ZPL Macro. Replace "e" with the extra data number in the code, for example, EZ_4 will set the solve on extra data value 4. EZ_e
Non-sequential Component Pickup X, Y, Z, Tilt-X, Tilt-Y, Tilt-Z, Material. Replace "o" with the object number in the code, for example, NSC_PX_14 will set a pickup solve on object 14. NSC_PMAT_o is redundant with NSC_MATP_o.

NSC_PX_o, NSC_PY_o, NSC_PZ_o, NSC_PTX_o, NSC_PTY_o, NSC_PTZ_o, NSC_PMAT_o

(see left)

Non-sequential Component Material is fixed, model glass, pick up, or offset. Replace "o" with the object number in the code, for example, NSC_MATM_11 will set the material on object 11 to be a model glass. NSC_MATP_o is redundant with NSC_PMAT_o.

NSC_MATF_o, NSC_MATM_o, NSC_MATP_o, NSC_MOFF_o

(see left)

Non-sequential Component ZPL Macro solve on X, Y, Z, Tilt-X, Tilt-Y, Tilt-Z. Replace "o" with the object number in the code, for example, NSC_ZX_14 will set a macro solve on object 14.

NSC_ZX_o, NSC_ZY_o, NSC_ZZ_o, NSC_ZTX_o, NSC_ZTY_o, NSC_ZTZ_o

(see left)

Non-sequential Component Parameter Pickup. Replace "o" with the object number and "p" with the parameter number in the code, for example, NSC_PP_11_7 will set a pickup solve on object 11, parameter 7.

NSC_PP_o_p

(see left)

Non-sequential Component ZPL Macro solve. Replace "o" with the object number and "p" with the parameter number in the code, for example, NSC_ZP_11_7 will set a macro solve on object 11, parameter 7.

NSC_ZP_o_p

(see left)

Example:

 
! The following line will add a glass pickup solve
! on surface 7, picking up from surface 5:
SOLVETYPE 7, GP, 5
! Add a thickness pickup with a scale factor of -1:
SOLVETYPE 7, TP, 5, -1
 
! Set a pickup solve on surface 1, NSC object 12 Z position,
! pick up from object 11, with a scale factor of 2, offset 3,
! from the parameter 7 column. Note the column number is argument 4.
! The column number is 0 for the same column, 1-6 for x, y, z, tilt x, tilt y, tilt z,
! respectively. The column number for the parameter columns
! is 6 + the desired parameter number.
! In summary, the syntax is:
! SOLVETYPE, surf, code, object, scale, offset, column
! where code has the object/parameter number embedded as shown in the table above.
! The syntax for this example is: 
SOLVETYPE 1, NSC_PZ_12, 11, 2, 3, 13

Related Functions:

SOLV

Next: