Skip to main content

ZOS-API interface 2024 R1

ZOSAPI.Tools.IConvertToNSCGroup Interface Reference

Last update: 17.07.2025

Interfaces and methods for converting the sequential surfaces to a non-sequential group. This interface can be accessed via the IOpticalSystemTools interface. More...

Inheritance diagram for ZOSAPI.Tools.IConvertToNSCGroup:

Properties

int FirstSurface [get, set]
 
int LastSurface [get, set]
 
bool IgnoreErrors [get, set]
 
bool ConvertFileToNSC [get, set]
 
bool CreateSourcesAndDetectors [get, set]
 
bool ConvertToGlobalCoordinates [get, set]
 
bool ConvertStopToNSCAperture [get, set]
 
double StopMechanicalHalfWidth [get, set]
 
double OverfillFactor [get, set]
 
int StopObjectNumber [get]
 
int StopObjectFace [get]
 
- Properties inherited from ZOSAPI.Tools.ISystemTool
int Progress [get]
 Gets the progress of the current tool, if supported.
 
string Status [get]
 Gets the status of the current tool, if supporoted.
 
bool IsRunning [get]
 Gets a value indicating whether the tool is currently running asynchronously.
 
bool CanCancel [get]
 Gets a value indicating whether the tool can be cancelled.
 
bool IsAsynchronous [get]
 Gets a value indicating whether the tool runs asynchronously (i.e. on a thread).
 
bool IsFiniteDuration [get]
 Gets a value indicating whether this tool will complete on its own.
 
bool IsValid [get]
 Gets a value indicating whether the input settings are valid.
 
bool Succeeded [get]
 Gets a value indicating whether the tool execution succeeded.
 
string ErrorMessage [get]
 If Succeeded is false, get the error messages; otherwise, null.
 

Additional Inherited Members

- Public Member Functions inherited from ZOSAPI.Tools.ISystemTool
bool Run ()
 Start the tool. Note that for synchronous tools (see IsAsynchronous), this call will block until completion. If it is asynchronous it will start running but return immediately.
 
bool RunAndWaitForCompletion ()
 Sames as calling Run followed by WaitForCompletion.
 
bool WaitForCompletion ()
 Waits for the asynchronous tool to complete.
 
bool Cancel ()
 Cancels the currently running asynchronous tool.
 
bool Close ()
 Closes this tool and frees up and associated resources.
 
RunStatus WaitWithTimeout (double timeOutSeconds)
 Waits for the currently running tool to complete, with a specified time out value. Note that if the timeout is exceeded this method will return, however the tool will continue to run. Also note that this method will not start the tool running if it is not already.
 
RunStatus RunAndWaitWithTimeout (double timeOutSeconds)
 Starts the tool running, and waits for it to complete with the specified timeout value. Note that if the timeout is exceeded this method will return, however the tool will continue to run.
 

Detailed Description

Interfaces and methods for converting the sequential surfaces to a non-sequential group. This interface can be accessed via the IOpticalSystemTools interface.

Usage (see Example 14 for a full sample)

C#

// Convert file to Non-sequential mode
ZOSAPI.Tools.IConvertToNSCGroup convertNSmode = TheSystem.Tools.OpenConvertToNSCGroup();
convertNSmode.ConvertFileToNSC = true;
convertNSmode.RunAndWaitForCompletion();
convertNSmode.Close();
// Save the Non-sequential file to the Double Gauss folder
string fileNameNS = System.IO.Path.Combine(dirLoc, "Double Gauss (NS).zos");
TheSystem.SaveAs(fileNameNS);
Interfaces and methods for converting the sequential surfaces to a non-sequential group....
Definition: IConvertToNSCGroup.cs:29
bool RunAndWaitForCompletion()
Sames as calling Run followed by WaitForCompletion.
bool Close()
Closes this tool and frees up and associated resources.

C++

// Convert file to Non-sequential mode
ZOSAPI_Interfaces::IConvertToNSCGroupPtr convertNSmode = TheSystem->Tools->OpenConvertToNSCGroup();
convertNSmode->ConvertFileToNSC = true;
ZOSAPI_Interfaces::ISystemToolPtr baseTool2 = convertNSmode;
baseTool2->RunAndWaitForCompletion();
baseTool2->Close();
// Save the Non-sequential file to the Double Gauss folder
_bstr_t fileNameNS = dirLoc + (_bstr_t)"\\Double_Gauss_(NS).zos";
TheSystem->SaveAs(fileNameNS);

Matlab

% Convert file to Non-sequential mode
convertNSmode = TheSystem.Tools.OpenConvertToNSCGroup();
convertNSmode.ConvertFileToNSC = true;
convertNSmode.RunAndWaitForCompletion();
convertNSmode.Close();
% Save the Non-sequential file to the Double Gauss folder
fileNameNS = System.String.Concat(dirLoc, '\Double Gauss (NS).zos');
TheSystem.SaveAs(fileNameNS);

Python

# Convert file to Non-sequential mode
convertNSmode = TheSystem.Tools.OpenConvertToNSCGroup()
convertNSmode.ConvertFileToNSC = True
convertNSmode.RunAndWaitForCompletion()
convertNSmode.Close();
# Save the Non-sequential file to the Double Gauss folder
fileNameNS = dirLoc + "\\Double Gauss (NS).zos"
TheSystem.SaveAs(fileNameNS)
Examples
CSharpStandalone_14_Seq_Tolerance.cs.

Property Documentation

◆ ConvertFileToNSC

bool ZOSAPI.Tools.IConvertToNSCGroup.ConvertFileToNSC
getset

◆ ConvertStopToNSCAperture

bool ZOSAPI.Tools.IConvertToNSCGroup.ConvertStopToNSCAperture
getset

◆ ConvertToGlobalCoordinates

bool ZOSAPI.Tools.IConvertToNSCGroup.ConvertToGlobalCoordinates
getset

◆ CreateSourcesAndDetectors

bool ZOSAPI.Tools.IConvertToNSCGroup.CreateSourcesAndDetectors
getset

◆ FirstSurface

int ZOSAPI.Tools.IConvertToNSCGroup.FirstSurface
getset

◆ IgnoreErrors

bool ZOSAPI.Tools.IConvertToNSCGroup.IgnoreErrors
getset

◆ LastSurface

int ZOSAPI.Tools.IConvertToNSCGroup.LastSurface
getset

◆ OverfillFactor

double ZOSAPI.Tools.IConvertToNSCGroup.OverfillFactor
getset

◆ StopMechanicalHalfWidth

double ZOSAPI.Tools.IConvertToNSCGroup.StopMechanicalHalfWidth
getset

◆ StopObjectFace

int ZOSAPI.Tools.IConvertToNSCGroup.StopObjectFace
get

◆ StopObjectNumber

int ZOSAPI.Tools.IConvertToNSCGroup.StopObjectNumber
get

Connect with Ansys