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: