Skip to main content

ZOS-API interface 2024 R1

ZOSAPI.Editors.ISolveData Interface Reference

Last update: 17.07.2025

Base interface for all solve types. This interface can be accesed via the IEditorCell interface. Note that the S properties are for convenience only and merely cast this interface to the appropriate derived interface. See the OpticStudio documentation for details on the various solve types. More...

Inheritance diagram for ZOSAPI.Editors.ISolveData:

Properties

bool IsValid [get]
 Gets a value indicating whether the current solve settings are valid.
 
SolveType Type [get]
 The solve type for this instance.
 
ISolveNone _S_None [get]
 
ISolveFixed _S_Fixed [get]
 
ISolveVariable _S_Variable [get]
 
ISolveSurfacePickup _S_SurfacePickup [get]
 
ISolveZPLMacro _S_ZPLMacro [get]
 
ISolveMarginalRayAngle _S_MarginalRayAngle [get]
 
ISolveMarginalRayHeight _S_MarginalRayHeight [get]
 
ISolveChiefRayAngle _S_ChiefRayAngle [get]
 
ISolveMarginalRayNormal _S_MarginalRayNormal [get]
 
ISolveChiefRayNormal _S_ChiefRayNormal [get]
 
ISolveAplanatic _S_Aplanatic [get]
 
ISolveElementPower _S_ElementPower [get]
 
ISolveCocentricSurface _S_CocentricSurface [get]
 
ISolveCocentricRadius _S_CocentricRadius [get]
 
ISolveFNumber _S_FNumber [get]
 
ISolveChiefRayHeight _S_ChiefRayHeight [get]
 
ISolveEdgeThickness _S_EdgeThickness [get]
 
ISolveOpticalPathDifference _S_OpticalPathDifference [get]
 
ISolvePosition _S_Position [get]
 
ISolveCompensator _S_Compensator [get]
 
ISolveCenterOfCurvature _S_CenterOfCurvature [get]
 
ISolvePupilPosition _S_PupilPosition [get]
 
ISolveMaterialModel _S_MaterialModel [get]
 
ISolveMaterialSubstitute _S_MaterialSubstitute [get]
 
ISolveMaterialOffset _S_MaterialOffset [get]
 
ISolveAutomatic _S_Automatic [get]
 
ISolveMaximum _S_Maximum [get]
 
ISolvePickupChiefRay _S_PickupChiefRay [get]
 
ISolveObjectPickup _S_ObjectPickup [get]
 
ISolveConfigPickup _S_ConfigPickup [get]
 
ISolveThermalPickup _S_ThermalPickup [get]
 
ISolveFieldPickup _S_FieldPickup [get]
 
ISolveDuplicateSag _S_DuplicateSag [get]
 
ISolveInvertSag _S_InvertSag [get]
 

Detailed Description

Base interface for all solve types. This interface can be accesed via the IEditorCell interface. Note that the S properties are for convenience only and merely cast this interface to the appropriate derived interface. See the OpticStudio documentation for details on the various solve types.

Usage (see Example 15 for a full sample)

C#

// remove all variables and add a F# solve on last surface radius
ILensDataEditor TheLDE = TheSystem.LDE;
IOpticalSystemTools tools = TheSystem.Tools;
tools.RemoveAllVariables();
ILDERow Surface_Last = TheLDE.GetSurfaceAt(TheLDE.NumberOfSurfaces - 2);
ISolveData Solver = Surface_Last.RadiusCell.CreateSolveType(ZOSAPI.Editors.SolveType.FNumber);
Solver._S_FNumber.FNumber = 3.1415;
Surface_Last.RadiusCell.SetSolveData(Solver);
SampleFile = System.IO.Path.Combine(TheApplication.SamplesDir, @"API\CS\e15_Seq_Optimization\OptimizedFile1.zos");
TheSystem.SaveAs(SampleFile);
Base interface for all solve types. This interface can be accesed via the IEditorCell interface....
Definition: InterfacesEditors.cs:563
All data for a Lens Data Editor surface. This interface can be accessed via the ILensDataEditor inter...
Definition: InterfacesLDE.cs:791
This interface defines all properties and methods needed to interact with the Lens Data Editor....
Definition: InterfacesLDE.cs:265
Definition: InterfacesEditors.cs:12
The ZOSAPI namespace contains classes for initially connecting to zemax. See also ZOSAPI_Connection,...
Definition: IAS_FieldCurvatureAndDistortion.cs:5

C++

// remove all variables and add a F# solve on last surface radius
ILensDataEditorPtr TheLDE = TheSystem->LDE;
//IOpticalSystemTools
IOpticalSystemToolsPtr tools = TheSystem->Tools;
tools->RemoveAllVariables();
ILDERowPtr Surface_Last = TheLDE->GetSurfaceAt(TheLDE->NumberOfSurfaces - 2);
ISolveDataPtr Solver = Surface_Last->RadiusCell->CreateSolveType(SolveType::SolveType_FNumber);
Solver->_S_FNumber->FNumber = 3.1415;
Surface_Last->RadiusCell->SetSolveData(Solver);
SampleFile = _bstr_t(TheApplication->SamplesDir) + "\\API\\\Seq_Optimization\\\OptimizedFile1.zos";
TheSystem->SaveAs(SampleFile);

Matlab

% remove all variables and add a F# solve on last surface radius
TheLDE = TheSystem.LDE;
tools = TheSystem.Tools;
tools.RemoveAllVariables();
Surface_Last = TheLDE.GetSurfaceAt(TheLDE.NumberOfSurfaces - 2);
Solver = Surface_Last.RadiusCell.CreateSolveType(ZOSAPI.Editors.SolveType.FNumber);
Solver.S_FNumber_.FNumber = 3.1415;
Surface_Last.RadiusCell.SetSolveData(Solver);
SampleFile = System.String.Concat(TheApplication.SamplesDir, '\API\Matlab\e15_Seq_Optimization\OptimizedFile1.zos');
TheSystem.SaveAs(SampleFile);

Python

# remove all variables and add a F# solve on last surface radius
TheLDE = TheSystem.LDE
#IOpticalSystemTools
tools = TheSystem.Tools
tools.RemoveAllVariables()
Surface_Last = TheLDE.GetSurfaceAt(TheLDE.NumberOfSurfaces - 2)
Solver = Surface_Last.RadiusCell.CreateSolveType(ZOSAPI.Editors.SolveType.FNumber)
Solver._S_FNumber.FNumber = 3.1415
Surface_Last.RadiusCell.SetSolveData(Solver)
SampleFile = TheApplication.SamplesDir + '\\API\\Python\\e15_Seq_Optimization\\OptimizedFile1.zos'
TheSystem.SaveAs(SampleFile)
Examples
CSharpStandalone_01_new_file_and_quickfocus.cs, CSharpStandalone_07_TiltDecenterAndMFOperand.cs, CSharpStandalone_15_Seq_Optimization.cs, CSharpStandalone_18_SetMulticonfiguration.cs, CSharpStandalone_19_Surface_Properties.cs, and CSharpStandalone_21_White_LED_Phosphor.cs.

Property Documentation

◆ _S_Aplanatic

ISolveAplanatic ZOSAPI.Editors.ISolveData._S_Aplanatic
get

◆ _S_Automatic

ISolveAutomatic ZOSAPI.Editors.ISolveData._S_Automatic
get

◆ _S_CenterOfCurvature

ISolveCenterOfCurvature ZOSAPI.Editors.ISolveData._S_CenterOfCurvature
get

◆ _S_ChiefRayAngle

ISolveChiefRayAngle ZOSAPI.Editors.ISolveData._S_ChiefRayAngle
get

◆ _S_ChiefRayHeight

ISolveChiefRayHeight ZOSAPI.Editors.ISolveData._S_ChiefRayHeight
get

◆ _S_ChiefRayNormal

ISolveChiefRayNormal ZOSAPI.Editors.ISolveData._S_ChiefRayNormal
get

◆ _S_CocentricRadius

ISolveCocentricRadius ZOSAPI.Editors.ISolveData._S_CocentricRadius
get

◆ _S_CocentricSurface

ISolveCocentricSurface ZOSAPI.Editors.ISolveData._S_CocentricSurface
get

◆ _S_Compensator

ISolveCompensator ZOSAPI.Editors.ISolveData._S_Compensator
get

◆ _S_ConfigPickup

ISolveConfigPickup ZOSAPI.Editors.ISolveData._S_ConfigPickup
get

Usage (see Example 18 for a full sample)

C#

// An exmple of manually "Make Thermal"
TheSystem.LoadFile(TheApplication.SamplesDir + "\\Sequential\\Objectives\\Doublet.zos", false);
// Add 1 configuration (totally 2)
TheMCE.AddConfiguration(false);
// Add 12 operand (totally 13)
for (int i = 0; i < 12; i++)
TheMCE.AddOperand();
// Create an operand type array and later we will input the array into MCE by a for loop
MultiConfigOperandType[] operandtype = new MultiConfigOperandType[13]{
MultiConfigOperandType.TEMP,
MultiConfigOperandType.PRES,
MultiConfigOperandType.CRVT,
MultiConfigOperandType.THIC,
MultiConfigOperandType.GLSS,
MultiConfigOperandType.SDIA,
MultiConfigOperandType.CRVT,
MultiConfigOperandType.THIC,
MultiConfigOperandType.GLSS,
MultiConfigOperandType.SDIA,
MultiConfigOperandType.CRVT,
MultiConfigOperandType.THIC,
MultiConfigOperandType.SDIA};
// Set parameter 1 for each config operand
int[] param1value = new int[11] { 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3 };
for (int i = 0; i < 11; i++)
TheMCE.GetOperandAt(i + 3).Param1 = param1value[i];
// Set type for each config operand
for (int i = 0; i < 13; i++)
TheMCE.GetOperandAt(i + 1).ChangeType(operandtype[i]);
// Set Thermal Pickup solves
ISolveData thermalpickupsolve = TheMCE.GetOperandAt(1).GetOperandCell(1).CreateSolveType(ZOSAPI.Editors.SolveType.ThermalPickup);
thermalpickupsolve._S_ThermalPickup.Configuration = 1;
int[] thermalpickup_num = new int[9] { 3, 4, 6, 7, 8, 10, 11, 12, 13 };
foreach (int i in thermalpickup_num)
TheMCE.GetOperandAt(i).GetOperandCell(2).SetSolveData(thermalpickupsolve);
// Set Pickup solve
ISolveData configpickupsolve = TheMCE.GetOperandAt(1).GetOperandCell(1).CreateSolveType(ZOSAPI.Editors.SolveType.ConfigPickup);
configpickupsolve._S_ConfigPickup.Configuration = 1;
TheMCE.GetOperandAt(5).GetOperandCell(2).SetSolveData(configpickupsolve);
TheMCE.GetOperandAt(9).GetOperandCell(2).SetSolveData(configpickupsolve);
// Set temperature of configuration 2 to 100 degrees
TheMCE.GetOperandAt(1).GetOperandCell(2).DoubleValue = 100;
ISystemData TheSystemData = TheSystem.SystemData;
TheSystemData.Environment.AdjustIndexToEnvironment = true;
// Save the system
TheSystem.SaveAs(TheApplication.SamplesDir + "\\API\\CS\\e18_Doublet_MakeTermal.zos");

C++

// An exmple of manually "Make Thermal"
TheSystem->LoadFile(TheApplication->SamplesDir + "\\Sequential\\Objectives\\Doublet.zos", false);
// Add 1 configuration (totally 2)
TheMCE->AddConfiguration(false);
// Add 12 operand (totally 13)
for (int i = 0; i < 12; i++)
TheMCE->AddOperand();
// Create an operand type array and later we will input the array into MCE by a for loop
MultiConfigOperandType *operandtype = new MultiConfigOperandType[13]{
MultiConfigOperandType_TEMP,
MultiConfigOperandType_PRES,
MultiConfigOperandType_CRVT,
MultiConfigOperandType_THIC,
MultiConfigOperandType_GLSS,
MultiConfigOperandType_SDIA,
MultiConfigOperandType_CRVT,
MultiConfigOperandType_THIC,
MultiConfigOperandType_GLSS,
MultiConfigOperandType_SDIA,
MultiConfigOperandType_CRVT,
MultiConfigOperandType_THIC,
MultiConfigOperandType_SDIA };
// Set parameter 1 for each config operand
int *param1value = new int[11]{ 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3 };
for (int i = 0; i < 11; i++)
TheMCE->GetOperandAt(i + 3)->Param1 = param1value[i];
// Set type for each config operand
for (int i = 0; i < 13; i++)
TheMCE->GetOperandAt(i + 1)->ChangeType(operandtype[i]);
// Set Thermal Pickup solves
ISolveDataPtr thermalpickupsolve = TheMCE->GetOperandAt(1)->GetOperandCell(1)->CreateSolveType(SolveType_ThermalPickup);
thermalpickupsolve->_S_ThermalPickup->Configuration = 1;
int *thermalpickup_num = new int[9]{ 3, 4, 6, 7, 8, 10, 11, 12, 13 };
for (int i = 0; i < 9; i++)
TheMCE->GetOperandAt(thermalpickup_num[i])->GetOperandCell(2)->SetSolveData(thermalpickupsolve);
// Set Pickup solve
ISolveDataPtr configpickupsolve = TheMCE->GetOperandAt(1)->GetOperandCell(1)->CreateSolveType(SolveType_ConfigPickup);
configpickupsolve->_S_ConfigPickup->Configuration = 1;
TheMCE->GetOperandAt(5)->GetOperandCell(2)->SetSolveData(configpickupsolve);
TheMCE->GetOperandAt(9)->GetOperandCell(2)->SetSolveData(configpickupsolve);
// Set temperature of configuration 2 to 100 degrees
TheMCE->GetOperandAt(1)->GetOperandCell(2)->DoubleValue = 100;
ISystemDataPtr TheSystemData = TheSystem->SystemData;
TheSystemData->Environment->AdjustIndexToEnvironment = true;
// Save the system
TheSystem->SaveAs(TheApplication->SamplesDir + "\\API\\CPP\\e18_Doublet_MakeTermal.zos");
#if defined(_DEBUG)
// keeps console open when in debug mode
system("pause");
#endif

Matlab

% An example of manually "Make Thermal"
TheSystem.LoadFile(System.String.Concat(TheApplication.SamplesDir, '\Sequential\Objectives\Doublet.zos'), false);
% Add 1 configuration (totally 2)
TheMCE.AddConfiguration(false);
% Add 12 operands (totally 13)
for i = 0:11
TheMCE.AddOperand();
end
% Create an operand type array and later we will input the array into MCE with a for loop
operandType = NET.createArray('ZOSAPI.Editors.MCE.MultiConfigOperandType', 13);
operandType(1) = ZOSAPI.Editors.MCE.MultiConfigOperandType.TEMP;
operandType(2) = ZOSAPI.Editors.MCE.MultiConfigOperandType.PRES;
operandType(3) = ZOSAPI.Editors.MCE.MultiConfigOperandType.CRVT;
operandType(4) = ZOSAPI.Editors.MCE.MultiConfigOperandType.THIC;
operandType(5) = ZOSAPI.Editors.MCE.MultiConfigOperandType.GLSS;
operandType(6) = ZOSAPI.Editors.MCE.MultiConfigOperandType.SDIA;
operandType(7) = ZOSAPI.Editors.MCE.MultiConfigOperandType.CRVT;
operandType(8) = ZOSAPI.Editors.MCE.MultiConfigOperandType.THIC;
operandType(9) = ZOSAPI.Editors.MCE.MultiConfigOperandType.GLSS;
operandType(10) = ZOSAPI.Editors.MCE.MultiConfigOperandType.SDIA;
operandType(11) = ZOSAPI.Editors.MCE.MultiConfigOperandType.CRVT;
operandType(12) = ZOSAPI.Editors.MCE.MultiConfigOperandType.THIC;
operandType(13) = ZOSAPI.Editors.MCE.MultiConfigOperandType.SDIA;
% Set parameter 1 for each config operand
param1value = [1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3];
for i = 1:11
TheMCE.GetOperandAt(i + 2).Param1 = param1value(i);
end
% Set type for each config operand
for i = 1:13
TheMCE.GetOperandAt(i).ChangeType(operandType(i));
end
% Set thermal pickup solves
ThermalPickupSolve = TheMCE.GetOperandAt(1).GetOperandCell(1).CreateSolveType(ZOSAPI.Editors.SolveType.ThermalPickup);
tPickup = ThermalPickupSolve.S_ThermalPickup_;
tPickup.Configuration = 1;
ThermalPickup_num = [3, 4, 6, 7, 8, 10, 11, 12, 13];
for i = 1:numel(ThermalPickup_num)
TheMCE.GetOperandAt(ThermalPickup_num(i)).GetOperandCell(2).SetSolveData(ThermalPickupSolve);
end
% Set Pickup Solve
ConfigPickupSolve = TheMCE.GetOperandAt(1).GetOperandCell(1).CreateSolveType(ZOSAPI.Editors.SolveType.ConfigPickup);
cPickup = ConfigPickupSolve.S_ConfigPickup_;
cPickup.Configuration = 1;
GLSSops = [5, 9]; % Operands 5 and 9 are GLSS operands
for i = 1:numel(GLSSops)
ConfigPickupSolve.S_ConfigPickup_.Operand = GLSSops(i); % Set pickup solve's "operand" value to pickup from correct place
TheMCE.GetOperandAt(GLSSops(i)).GetOperandCell(2).SetSolveData(ConfigPickupSolve); % apply solve for operands 5 and 9
end
% Set temperature of configuration 2 to 100 degrees
TheMCE.GetOperandAt(1).GetOperandCell(2).DoubleValue = 100;
TheSystemData = TheSystem.SystemData;
TheSystemData.Environment.AdjustIndexToEnvironment = true;
TheSystem.SaveAs(System.String.Concat(TheApplication.SamplesDir, '\API\Matlab\e18_Doublet_MakeTermal.zos'));
Definition: InterfacesMCE.cs:11
@ MCE
Multiple Configuration Editor.

Python

# An example of manually "Make Thermal"
TheSystem.LoadFile(TheApplication.SamplesDir + "\Sequential\Objectives\Doublet.zos", False)
# Add 1 configuration (totally 2)
TheMCE.AddConfiguration(False)
# Add 12 operands (totally 13)
for i in range(0, 12):
TheMCE.AddOperand()
# Create an operand type array and later we will input the array into MCE with a for loop
operandType = [ZOSAPI.Editors.MCE.MultiConfigOperandType.TEMP, ZOSAPI.Editors.MCE.MultiConfigOperandType.PRES,
ZOSAPI.Editors.MCE.MultiConfigOperandType.CRVT, ZOSAPI.Editors.MCE.MultiConfigOperandType.THIC,
ZOSAPI.Editors.MCE.MultiConfigOperandType.GLSS, ZOSAPI.Editors.MCE.MultiConfigOperandType.SDIA,
ZOSAPI.Editors.MCE.MultiConfigOperandType.CRVT, ZOSAPI.Editors.MCE.MultiConfigOperandType.THIC,
ZOSAPI.Editors.MCE.MultiConfigOperandType.GLSS, ZOSAPI.Editors.MCE.MultiConfigOperandType.SDIA,
ZOSAPI.Editors.MCE.MultiConfigOperandType.CRVT, ZOSAPI.Editors.MCE.MultiConfigOperandType.THIC,
ZOSAPI.Editors.MCE.MultiConfigOperandType.SDIA]
# Set parameter 1 for each config operand
param1value = [1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3]
for i in range(0, 11):
TheMCE.GetOperandAt(i+3).Param1 = param1value[i]
# Set type for each config operand
for i in range(13):
TheMCE.GetOperandAt(i+1).ChangeType(operandType[i])
# Set thermal pickup solves
ThermalPickupSolve = TheMCE.GetOperandAt(1).GetOperandCell(1).CreateSolveType(ZOSAPI.Editors.SolveType.ThermalPickup)
ThermalPickupSolve._S_ThermalPickup.Configuration = 1
ThermalPickup_num = [3, 4, 6, 7, 8, 10, 11, 12, 13]
for i in ThermalPickup_num:
TheMCE.GetOperandAt(i).GetOperandCell(2).SetSolveData(ThermalPickupSolve)
# Set Pickup Solve
ConfigPickupSolve = TheMCE.GetOperandAt(1).GetOperandCell(1).CreateSolveType(ZOSAPI.Editors.SolveType.ConfigPickup)
ConfigPickupSolve._S_ConfigPickup.Configuration = 1
GLSSops = [5, 9] # Operands 5 and 9 are GLSS operands
for i in GLSSops:
ConfigPickupSolve._S_ConfigPickup.Operand = i # Set pickup solve's "operand" value to pickup from correct place
TheMCE.GetOperandAt(i).GetOperandCell(2).SetSolveData(ConfigPickupSolve) # apply solve for operands 5 and 9
# Set temperature of configuration 2 to 100 degrees
TheMCE.GetOperandAt(1).GetOperandCell(2).DoubleValue = 100
TheSystemData = TheSystem.SystemData
TheSystemData.Environment.AdjustIndexToEnvironment = True
TheSystem.SaveAs(TheApplication.SamplesDir + "\\API\\Python\\e18_Doublet_MakeTermal.zos")

◆ _S_DuplicateSag

ISolveDuplicateSag ZOSAPI.Editors.ISolveData._S_DuplicateSag
get

◆ _S_EdgeThickness

ISolveEdgeThickness ZOSAPI.Editors.ISolveData._S_EdgeThickness
get

◆ _S_ElementPower

ISolveElementPower ZOSAPI.Editors.ISolveData._S_ElementPower
get

◆ _S_FieldPickup

ISolveFieldPickup ZOSAPI.Editors.ISolveData._S_FieldPickup
get

◆ _S_Fixed

ISolveFixed ZOSAPI.Editors.ISolveData._S_Fixed
get

◆ _S_FNumber

ISolveFNumber ZOSAPI.Editors.ISolveData._S_FNumber
get

Usage (see Example 01 for a full sample)

C#

// Solver
ISolveData Solver = Surface_3.RadiusCell.CreateSolveType(SolveType.FNumber);
Solver._S_FNumber.FNumber = 10;
Surface_3.RadiusCell.SetSolveData(Solver);
SolveType
All solve types available. Note that only a portion of the types are available for any given IEditorC...
Definition: InterfacesEditors.cs:483

C++

// Solver
ISolveDataPtr Solver = Surface_3->RadiusCell->CreateSolveType(SolveType_FNumber);
Solver->_S_FNumber->FNumber = 10;
Surface_3->RadiusCell->SetSolveData(Solver);

Matlab

% Solver
Solver = Surface_3.RadiusCell.CreateSolveType(ZOSAPI.Editors.SolveType.FNumber);
Solver.FNumber = 10;
Surface_3.RadiusCell.SetSolveData(Solver);

Python

# Solver
Solver = Surface_3.RadiusCell.CreateSolveType(ZOSAPI.Editors.SolveType.FNumber)
SolverFNumber = Solver._S_FNumber
SolverFNumber.FNumber = 10
Surface_3.RadiusCell.SetSolveData(Solver)

◆ _S_InvertSag

ISolveInvertSag ZOSAPI.Editors.ISolveData._S_InvertSag
get

◆ _S_MarginalRayAngle

ISolveMarginalRayAngle ZOSAPI.Editors.ISolveData._S_MarginalRayAngle
get

◆ _S_MarginalRayHeight

ISolveMarginalRayHeight ZOSAPI.Editors.ISolveData._S_MarginalRayHeight
get

◆ _S_MarginalRayNormal

ISolveMarginalRayNormal ZOSAPI.Editors.ISolveData._S_MarginalRayNormal
get

◆ _S_MaterialModel

ISolveMaterialModel ZOSAPI.Editors.ISolveData._S_MaterialModel
get

◆ _S_MaterialOffset

ISolveMaterialOffset ZOSAPI.Editors.ISolveData._S_MaterialOffset
get

◆ _S_MaterialSubstitute

ISolveMaterialSubstitute ZOSAPI.Editors.ISolveData._S_MaterialSubstitute
get

◆ _S_Maximum

ISolveMaximum ZOSAPI.Editors.ISolveData._S_Maximum
get

◆ _S_None

ISolveNone ZOSAPI.Editors.ISolveData._S_None
get

◆ _S_ObjectPickup

ISolveObjectPickup ZOSAPI.Editors.ISolveData._S_ObjectPickup
get

◆ _S_OpticalPathDifference

ISolveOpticalPathDifference ZOSAPI.Editors.ISolveData._S_OpticalPathDifference
get

◆ _S_PickupChiefRay

ISolvePickupChiefRay ZOSAPI.Editors.ISolveData._S_PickupChiefRay
get

◆ _S_Position

ISolvePosition ZOSAPI.Editors.ISolveData._S_Position
get

◆ _S_PupilPosition

ISolvePupilPosition ZOSAPI.Editors.ISolveData._S_PupilPosition
get

◆ _S_SurfacePickup

ISolveSurfacePickup ZOSAPI.Editors.ISolveData._S_SurfacePickup
get

Usage (see Example 15 for a full sample)

C#

//Thickness 10 pick up from 1
Solver = Surface10.ThicknessCell.CreateSolveType(ZOSAPI.Editors.SolveType.SurfacePickup);
ISolveSurfacePickup SolverPickup = Solver._S_SurfacePickup;
SolverPickup.Surface = 1;
SolverPickup.ScaleFactor = 1;
SolverPickup.Column = ZOSAPI.Editors.LDE.SurfaceColumn.Thickness;
Surface10.ThicknessCell.SetSolveData(Solver);
SampleFile = System.IO.Path.Combine(TheApplication.SamplesDir, @"API\CS\e15_Seq_Optimization\OptimizedFile3.zos");
TheSystem.SaveAs(SampleFile);
ISolveSurfacePickup _S_SurfacePickup
Definition: InterfacesEditors.cs:594
Definition: InterfacesEditors.cs:694
Definition: InterfacesLDE.cs:8

C++

// Thickness 10 pick up from 1
Solver = Surface10->ThicknessCell->CreateSolveType(SolveType::SolveType_SurfacePickup);
ISolveSurfacePickupPtr SolverPickup = Solver->_S_SurfacePickup;
SolverPickup->Surface = 1;
SolverPickup->ScaleFactor = 1;
SolverPickup->Column = SurfaceColumn::SurfaceColumn_Thickness;
Surface10->ThicknessCell->SetSolveData(Solver);
SampleFile = _bstr_t(TheApplication->SamplesDir + "\\API\\CPP\\e15_Seq_Optimization\\OptimizedFile3.zos");
TheSystem->SaveAs(SampleFile);

Matlab

%Thickness 10 pick up from 1
Solver = Surface10.ThicknessCell.CreateSolveType(ZOSAPI.Editors.SolveType.SurfacePickup);
SolverPickup = Solver.S_SurfacePickup_;
SolverPickup.Surface = 1;
SolverPickup.ScaleFactor = 1;
SolverPickup.Column = ZOSAPI.Editors.LDE.SurfaceColumn.Thickness;
Surface10.ThicknessCell.SetSolveData(Solver);
SampleFile = System.String.Concat(TheApplication.SamplesDir, '\API\Matlab\e15_Seq_Optimization\OptimizedFile3.zos');
TheSystem.SaveAs(SampleFile);

Python

# Thickness 10 pick up from 1
Solver = Surface10.ThicknessCell.CreateSolveType(ZOSAPI.Editors.SolveType.SurfacePickup)
SolverPickup = Solver._S_SurfacePickup
SolverPickup.Surface = 1
SolverPickup.ScaleFactor = 1
SolverPickup.Column = ZOSAPI.Editors.LDE.SurfaceColumn.Thickness
Surface10.ThicknessCell.SetSolveData(Solver)
SampleFile = TheApplication.SamplesDir + '\\API\\Python\\e15_Seq_Optimization\\OptimizedFile3.zos'
TheSystem.SaveAs(SampleFile)
Examples
CSharpStandalone_07_TiltDecenterAndMFOperand.cs, and CSharpStandalone_15_Seq_Optimization.cs.

◆ _S_ThermalPickup

ISolveThermalPickup ZOSAPI.Editors.ISolveData._S_ThermalPickup
get

◆ _S_Variable

ISolveVariable ZOSAPI.Editors.ISolveData._S_Variable
get

◆ _S_ZPLMacro

ISolveZPLMacro ZOSAPI.Editors.ISolveData._S_ZPLMacro
get

◆ IsValid

bool ZOSAPI.Editors.ISolveData.IsValid
get

Gets a value indicating whether the current solve settings are valid.

true if the settings are valid; otherwise, false.

◆ Type

SolveType ZOSAPI.Editors.ISolveData.Type
get

The solve type for this instance.

The instance solve type.

Connect with Ansys