Namespace ZOSAPI::Tools
Last update: 13.03.2026Definition:
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);
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)
Child namespaces
- ZOSAPI::Tools::FileManager
- ZOSAPI::Tools::General
- ZOSAPI::Tools::Layouts
- ZOSAPI::Tools::Optimization
- ZOSAPI::Tools::OptimizationTools
- ZOSAPI::Tools::RayTrace
- ZOSAPI::Tools::Sequences
- ZOSAPI::Tools::Tolerancing
Classes
- ZOSAPI::Tools::IAPIUtilities
- ZOSAPI::Tools::IConvertToNSCGroup
- ZOSAPI::Tools::ICriticalRaysetGenerator
- ZOSAPI::Tools::IDesignLockdown
- ZOSAPI::Tools::IExportToSpeosLensSystem
- ZOSAPI::Tools::IExportToSpeosWhitebox
- ZOSAPI::Tools::IFileManager
- ZOSAPI::Tools::IHPCSettings
- ZOSAPI::Tools::IInternalBirefringenceData
- ZOSAPI::Tools::IInternalBirefringenceParameter
- ZOSAPI::Tools::IInternalTransmissionData
- ZOSAPI::Tools::IInternalTransmissionParameter
- ZOSAPI::Tools::ILayouts
- ZOSAPI::Tools::IMaterialsCatalog
- ZOSAPI::Tools::IMFCalculator
- ZOSAPI::Tools::IOpticalSystemTools
- ZOSAPI::Tools::IShadedModelTriangleList
- ZOSAPI::Tools::IShadedModelVisualizationExport
- ZOSAPI::Tools::ISystemTool
Enumeration types
Enumeration type RayPatternOption
Definition:
enum RayPatternOption {
XyFan = 0,
XFan = 1,
YFan = 2,
ChiefAndRing = 3,
List = 4,
Grid = 6,
ChiefAndMarginals = 8
}
Enumerator XyFan
Enumerator XFan
Enumerator YFan
Enumerator ChiefAndRing
Enumerator List
Enumerator Grid
Enumerator ChiefAndMarginals
Enumeration type CriticalRayType
Definition:
enum CriticalRayType {
Chief = 0,
Marginal = 1,
Grid = 2,
Ring = 3,
Y_Fan = 4,
X_Fan = 5,
XY_Fan = 6,
List = 7
}
Enumerator Chief
Enumerator Marginal
Enumerator Grid
Enumerator Ring
Enumerator Y_Fan
Enumerator X_Fan
Enumerator XY_Fan
Enumerator List
Enumeration type MaterialFormulas
Definition:
enum MaterialFormulas {
Schott = 1,
Sellmeier1 = 2,
Herzberger = 3,
Sellmeier2 = 4,
Conrady = 5,
Sellmeier3 = 6,
Handbook1 = 7,
Handbook2 = 8,
Sellmeier4 = 9,
Extended = 10,
Sellmeier5 = 11,
Extended2 = 12,
Extended3 = 13
}
Enumerator Schott
Enumerator Sellmeier1
Enumerator Herzberger
Enumerator Sellmeier2
Enumerator Conrady
Enumerator Sellmeier3
Enumerator Handbook1
Enumerator Handbook2
Enumerator Sellmeier4
Enumerator Extended
Enumerator Sellmeier5
Enumerator Extended2
Enumerator Extended3
Enumeration type MaterialStatuses
Definition:
enum MaterialStatuses {
Standard = 0,
Preferred = 1,
Obsolete = 2,
Special = 3,
Melt = 4
}
Enumerator Standard
Enumerator Preferred
Enumerator Obsolete
Enumerator Special
Enumerator Melt
Enumeration type VertexOrder
Definition:
enum VertexOrder {
First,
Second,
Third
}
Enumerator First
Enumerator Second
Enumerator Third
Enumeration type HPCEnvironments
Definition:
enum HPCEnvironments {
OnPremise = 0,
AWSKubernetes,
AzureKubernetes
}
Enumerator OnPremise
Enumerator AWSKubernetes
Enumerator AzureKubernetes
Enumeration type HPCNodeSize
Definition:
enum HPCNodeSize {
Default = 0,
Tiny = 1,
Small = 2,
Medium = 3,
Large = 4,
XLarge = 5
}
Enumerator Default
Enumerator Tiny
Enumerator Small
Enumerator Medium
Enumerator Large
Enumerator XLarge
Enumeration type HPCRunState
Definition:
enum HPCRunState {
NotRunning = 0,
Initializing,
ClusterAllocating,
UploadingData,
Queued,
RunStarting,
WaitingForResults,
Complete
}
Enumerator NotRunning
Enumerator Initializing
Enumerator ClusterAllocating
Enumerator UploadingData
Enumerator Queued
Enumerator RunStarting
Enumerator WaitingForResults
Enumerator Complete
Enumeration type RunStatus
Definition:
enum RunStatus {
Completed,
FailedToStart,
TimedOut,
InvalidTimeout
}
Enumerator Completed
The tool completed running.
Enumerator FailedToStart
The tool either failed to start, or a wait was requested on a tool that was not already running.
Enumerator TimedOut
The time out value was exceeded; note that the tool will continue running.
Enumerator InvalidTimeout
An invalid timeout value was specified.