Skip to main content

ZOS-API interface 2024 R1

ZOSAPI.Editors.IEditorCell Interface Reference

Last update: 17.07.2025

Interface used to get and set data for a specific cell in an editor. This interface can be accessed via: More...

Public Member Functions

ISolveData GetSolveData ()
 Gets the current solve data. Use CreateSolveType to retrieve an interface that can be used to change the solve type. Note that the solve will not be updated until SetSolveData is called with the new settings.
 
int GetNumberOfSolveTypes ()
 Gets the number of solve types allowed for this specific editor cell.
 
bool IsSolveTypeSupported (SolveType st)
 Determines whether the specified solve type is supported by this specific cell.
 
SolveType[] GetAvailableSolveTypes ()
 Gets the available solve types for this cell.
 
void FillAvailableSolveTypes (int Length, [MarshalAs(UnmanagedType.LPArray, SizeParamIndex=0)][In, Out]SolveType[] solves)
 Alternate method of retrieving available cell types, accessible via COM.
 
ISolveData CreateSolveType (SolveType type)
 Creates the solve type settings for the specified solve type. Note that SetSolveData must be used to actually update the system with the solve settings.
 
SolveStatus SetSolveData (ISolveData Data)
 Updates the system with the new solve type settings (see also CreateSolveType and GetSolveData).
 
bool MakeSolveVariable ()
 Sets the solve type to SolveType.Variable.
 
bool MakeSolveFixed ()
 Sets the solve type to SolveType.Fixed.
 

Properties

IEditorRow Row [get]
 Gets the parent row for this cell.
 
int Col [get]
 Gets the column index for this cell.
 
bool IsActive [get]
 Gets a value indicating whether this cell is currently active (i.e. in use by the current system).
 
bool IsReadOnly [get]
 Gets a value indicating whether this cell can be modified.
 
string Header [get]
 Gets the column header for this cell.
 
CellDataType DataType [get]
 Gets the data type of this cell.
 
int IntegerValue [get, set]
 Gets or sets the integer value of this cell. Note that if DataType is not CellDataType.Integer, attempting to get or set a value in this way will result in an exception.
 
double DoubleValue [get, set]
 Gets or sets the double precision value of this cell. Note that if DataType is not CellDataType.Double, attempting to get or set a value in this way will result in an exception.
 
string Value [get, set]
 Gets or sets the value of this cell. Note that this method can be used regardless of the DataType.
 
SolveType Solve [get]
 Gets the type of the current solve.
 

Detailed Description

Interface used to get and set data for a specific cell in an editor. This interface can be accessed via:

IEditorRow

ILDERow

INCERow

ZOSAPI.Editors.MCE.IMCERow

ZOSAPI.Editors.MFE.IMFERow

ZOSAPI.Editors.TDE.ITDERow

Member Function Documentation

◆ CreateSolveType()

ISolveData ZOSAPI.Editors.IEditorCell.CreateSolveType ( SolveType  type)

Creates the solve type settings for the specified solve type. Note that SetSolveData must be used to actually update the system with the solve settings.

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)
Parameters
typeThe solve type.
Returns
Examples
CSharpStandalone_01_new_file_and_quickfocus.cs, CSharpStandalone_15_Seq_Optimization.cs, CSharpStandalone_18_SetMulticonfiguration.cs, CSharpStandalone_19_Surface_Properties.cs, and CSharpStandalone_21_White_LED_Phosphor.cs.

◆ FillAvailableSolveTypes()

void ZOSAPI.Editors.IEditorCell.FillAvailableSolveTypes ( int  Length,
[In, Out] SolveType[]  solves 
)

Alternate method of retrieving available cell types, accessible via COM.

Parameters
LengthThe length of the input array (must be equal to GetNumberOfSolveTypes.
solvesThe solve type array to fill. Note that this must be allocated before calling this method.

◆ GetAvailableSolveTypes()

SolveType[] ZOSAPI.Editors.IEditorCell.GetAvailableSolveTypes ( )

Gets the available solve types for this cell.

Returns

◆ GetNumberOfSolveTypes()

int ZOSAPI.Editors.IEditorCell.GetNumberOfSolveTypes ( )

Gets the number of solve types allowed for this specific editor cell.

Returns

◆ GetSolveData()

ISolveData ZOSAPI.Editors.IEditorCell.GetSolveData ( )

Gets the current solve data. Use CreateSolveType to retrieve an interface that can be used to change the solve type. Note that the solve will not be updated until SetSolveData is called with the new settings.

Returns

◆ IsSolveTypeSupported()

bool ZOSAPI.Editors.IEditorCell.IsSolveTypeSupported ( SolveType  st)

Determines whether the specified solve type is supported by this specific cell.

Parameters
stThe solve type.
Returns
true if the input solve type can be used; otherwise false.

◆ MakeSolveFixed()

bool ZOSAPI.Editors.IEditorCell.MakeSolveFixed ( )

Sets the solve type to SolveType.Fixed.

Returns
true if the change succeeded; otherwise, false

◆ MakeSolveVariable()

bool ZOSAPI.Editors.IEditorCell.MakeSolveVariable ( )

Sets the solve type to SolveType.Variable.

Usage (see Example 15 for a full sample)

C#

//Thickness 2, 5, 6, 9, and 11 variable
Surface2.ThicknessCell.MakeSolveVariable();
Surface5.ThicknessCell.MakeSolveVariable();
Surface6.ThicknessCell.MakeSolveVariable();
Surface9.ThicknessCell.MakeSolveVariable();
Surface11.ThicknessCell.MakeSolveVariable();

C++

// Thickness 2, 5, 6, 9, and 11 variable
Surface2->ThicknessCell->MakeSolveVariable();
Surface5->ThicknessCell->MakeSolveVariable();
Surface6->ThicknessCell->MakeSolveVariable();
Surface9->ThicknessCell->MakeSolveVariable();
Surface11->ThicknessCell->MakeSolveVariable();

Matlab

%Thickness 2, 5, 6, 9, and 11 variable
Surface2.ThicknessCell.MakeSolveVariable();
Surface5.ThicknessCell.MakeSolveVariable();
Surface6.ThicknessCell.MakeSolveVariable();
Surface9.ThicknessCell.MakeSolveVariable();
Surface11.ThicknessCell.MakeSolveVariable();

Python

# Thickness 2, 5, 6, 9, and 11 variable
Surface2.ThicknessCell.MakeSolveVariable()
Surface5.ThicknessCell.MakeSolveVariable()
Surface6.ThicknessCell.MakeSolveVariable()
Surface9.ThicknessCell.MakeSolveVariable()
Surface11.ThicknessCell.MakeSolveVariable()
Returns
true if the change succeeded; otherwise, false
Examples
CSharpStandalone_03_open_file_and_optimise.cs, and CSharpStandalone_15_Seq_Optimization.cs.

◆ SetSolveData()

SolveStatus ZOSAPI.Editors.IEditorCell.SetSolveData ( ISolveData  Data)

Updates the system with the new solve type settings (see also CreateSolveType and GetSolveData).

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)
Parameters
DataThe new solve settings.
Returns
A value indicating whether or not changing the solve settings was successful.
Examples
CSharpStandalone_01_new_file_and_quickfocus.cs, CSharpStandalone_15_Seq_Optimization.cs, CSharpStandalone_19_Surface_Properties.cs, and CSharpStandalone_21_White_LED_Phosphor.cs.

Property Documentation

◆ Col

int ZOSAPI.Editors.IEditorCell.Col
get

Gets the column index for this cell.

The cell column index.

◆ DataType

CellDataType ZOSAPI.Editors.IEditorCell.DataType
get

Gets the data type of this cell.

The type of this cell.

◆ DoubleValue

double ZOSAPI.Editors.IEditorCell.DoubleValue
getset

Gets or sets the double precision value of this cell. Note that if DataType is not CellDataType.Double, attempting to get or set a value in this way will result in an exception.

Usage (see Example 21 for a full sample)

C#

// Set 1st object as a Source File
INCERow Object_1 = TheNCE.GetObjectAt(1);
IObjectTypeSettings Typeset_SourceFile = Object_1.GetObjectTypeSettings(ObjectType.SourceFile);
Typeset_SourceFile.FileName1 = "RAYFILE_LB_T67C_100K_190608_ZEMAX.DAT";
Object_1.ChangeType(Typeset_SourceFile);
Object_1.GetObjectCell(ObjectColumn.Par1).IntegerValue = 5;
Object_1.GetObjectCell(ObjectColumn.Par2).IntegerValue = 1000;
Object_1.GetObjectCell(ObjectColumn.Par3).DoubleValue = 2.485572;
Object_1.GetObjectCell(ObjectColumn.Par8).DoubleValue = 0.47;
Object_1.GetObjectCell(ObjectColumn.Par9).DoubleValue = 0.47;
All data for a Non-Sequential Component Editor object. This interface can be accessed via the INonSeq...
Definition: InterfacesNCE.cs:1198
This interface is used for selecting any files required by a object, and for changing object types....
Definition: InterfacesNCE.cs:1110
ObjectColumn
Definition: InterfacesNCE.cs:199
ObjectType
All supported non-sequential object types.
Definition: InterfacesNCE.cs:38

C++

// Set 1st object as a Source File
INCERowPtr Object_1 = TheNCE->GetObjectAt(1);
IObjectTypeSettingsPtr Typeset_SourceFile = Object_1->GetObjectTypeSettings(ObjectType_SourceFile);
Typeset_SourceFile->FileName1 = "RAYFILE_LB_T67C_100K_190608_ZEMAX.DAT";
Object_1->ChangeType(Typeset_SourceFile);
Object_1->GetObjectCell(ObjectColumn_Par1)->IntegerValue = 5;
Object_1->GetObjectCell(ObjectColumn_Par2)->IntegerValue = 1000;
Object_1->GetObjectCell(ObjectColumn_Par3)->DoubleValue = 2.485572;
Object_1->GetObjectCell(ObjectColumn_Par8)->DoubleValue = 0.47;
Object_1->GetObjectCell(ObjectColumn_Par9)->DoubleValue = 0.47;

Matlab

% Set 1st object as a Source File
Object_1 = TheNCE.GetObjectAt(1);
Typeset_SourceFile = Object_1.GetObjectTypeSettings(ZOSAPI.Editors.NCE.ObjectType.SourceFile);
Typeset_SourceFile.FileName1 = 'RAYFILE_LB_T67C_100K_190608_ZEMAX.DAT';
Object_1.ChangeType(Typeset_SourceFile);
Object_1.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par1).IntegerValue = 5;
Object_1.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par2).IntegerValue = 1000;
Object_1.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par3).DoubleValue = 2.485572;
Object_1.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par8).DoubleValue = 0.47;
Object_1.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par9).DoubleValue = 0.47;
Definition: InterfacesNCE.cs:19

Python

# Set 1st object as a Source File
Object_1 = TheNCE.GetObjectAt(1)
Typeset_SourceFile = Object_1.GetObjectTypeSettings(ZOSAPI.Editors.NCE.ObjectType.SourceFile)
Typeset_SourceFile.FileName1 = 'RAYFILE_LB_T67C_100K_190608_ZEMAX.DAT'
Object_1.ChangeType(Typeset_SourceFile)
Object_1.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par1).IntegerValue = 5
Object_1.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par2).IntegerValue = 1000
Object_1.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par3).DoubleValue = 2.485572
Object_1.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par8).DoubleValue = 0.47
Object_1.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par9).DoubleValue = 0.47

The double precision value.

Exceptions
ArgumentException
Examples
CSharpStandalone_08_NSCEDetectorData.cs, CSharpStandalone_18_SetMulticonfiguration.cs, CSharpStandalone_21_White_LED_Phosphor.cs, CSharpStandalone_24_nsc_detectors.cs, and CSharpStandalone_25_source_spectrum_diffraction_grating.cs.

◆ Header

string ZOSAPI.Editors.IEditorCell.Header
get

Gets the column header for this cell.

The cell header.

◆ IntegerValue

int ZOSAPI.Editors.IEditorCell.IntegerValue
getset

Gets or sets the integer value of this cell. Note that if DataType is not CellDataType.Integer, attempting to get or set a value in this way will result in an exception.

Usage (see Example 21 for a full sample)

C#

// Set 1st object as a Source File
INCERow Object_1 = TheNCE.GetObjectAt(1);
IObjectTypeSettings Typeset_SourceFile = Object_1.GetObjectTypeSettings(ObjectType.SourceFile);
Typeset_SourceFile.FileName1 = "RAYFILE_LB_T67C_100K_190608_ZEMAX.DAT";
Object_1.ChangeType(Typeset_SourceFile);
Object_1.GetObjectCell(ObjectColumn.Par1).IntegerValue = 5;
Object_1.GetObjectCell(ObjectColumn.Par2).IntegerValue = 1000;
Object_1.GetObjectCell(ObjectColumn.Par3).DoubleValue = 2.485572;
Object_1.GetObjectCell(ObjectColumn.Par8).DoubleValue = 0.47;
Object_1.GetObjectCell(ObjectColumn.Par9).DoubleValue = 0.47;

C++

// Set 1st object as a Source File
INCERowPtr Object_1 = TheNCE->GetObjectAt(1);
IObjectTypeSettingsPtr Typeset_SourceFile = Object_1->GetObjectTypeSettings(ObjectType_SourceFile);
Typeset_SourceFile->FileName1 = "RAYFILE_LB_T67C_100K_190608_ZEMAX.DAT";
Object_1->ChangeType(Typeset_SourceFile);
Object_1->GetObjectCell(ObjectColumn_Par1)->IntegerValue = 5;
Object_1->GetObjectCell(ObjectColumn_Par2)->IntegerValue = 1000;
Object_1->GetObjectCell(ObjectColumn_Par3)->DoubleValue = 2.485572;
Object_1->GetObjectCell(ObjectColumn_Par8)->DoubleValue = 0.47;
Object_1->GetObjectCell(ObjectColumn_Par9)->DoubleValue = 0.47;

Matlab

% Set 1st object as a Source File
Object_1 = TheNCE.GetObjectAt(1);
Typeset_SourceFile = Object_1.GetObjectTypeSettings(ZOSAPI.Editors.NCE.ObjectType.SourceFile);
Typeset_SourceFile.FileName1 = 'RAYFILE_LB_T67C_100K_190608_ZEMAX.DAT';
Object_1.ChangeType(Typeset_SourceFile);
Object_1.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par1).IntegerValue = 5;
Object_1.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par2).IntegerValue = 1000;
Object_1.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par3).DoubleValue = 2.485572;
Object_1.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par8).DoubleValue = 0.47;
Object_1.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par9).DoubleValue = 0.47;

Python

# Set 1st object as a Source File
Object_1 = TheNCE.GetObjectAt(1)
Typeset_SourceFile = Object_1.GetObjectTypeSettings(ZOSAPI.Editors.NCE.ObjectType.SourceFile)
Typeset_SourceFile.FileName1 = 'RAYFILE_LB_T67C_100K_190608_ZEMAX.DAT'
Object_1.ChangeType(Typeset_SourceFile)
Object_1.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par1).IntegerValue = 5
Object_1.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par2).IntegerValue = 1000
Object_1.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par3).DoubleValue = 2.485572
Object_1.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par8).DoubleValue = 0.47
Object_1.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par9).DoubleValue = 0.47

The integer value.

Exceptions
ArgumentException
Examples
CSharpStandalone_03_open_file_and_optimise.cs, CSharpStandalone_21_White_LED_Phosphor.cs, and CSharpStandalone_24_nsc_detectors.cs.

◆ IsActive

bool ZOSAPI.Editors.IEditorCell.IsActive
get

Gets a value indicating whether this cell is currently active (i.e. in use by the current system).

true if this instance is active; otherwise, false.

◆ IsReadOnly

bool ZOSAPI.Editors.IEditorCell.IsReadOnly
get

Gets a value indicating whether this cell can be modified.

true if this instance is read only; otherwise, false.

◆ Row

IEditorRow ZOSAPI.Editors.IEditorCell.Row
get

Gets the parent row for this cell.

The row.

◆ Solve

SolveType ZOSAPI.Editors.IEditorCell.Solve
get

Gets the type of the current solve.

The solve.

◆ Value

string ZOSAPI.Editors.IEditorCell.Value
getset

Gets or sets the value of this cell. Note that this method can be used regardless of the DataType.

Usage (see Example 21 for a full sample)

C#

// Set 3rd object as Cylinder Volume
INCERow Object_3 = TheNCE.GetObjectAt(3);
IObjectTypeSettings Typeset_CylinderVolume = Object_3.GetObjectTypeSettings(ObjectType.CylinderVolume);
Object_3.ChangeType(Typeset_CylinderVolume);
// Set positions, material and parameters
Object_3.GetObjectCell(ObjectColumn.ZPosition).DoubleValue = 0.8;
Object_3.GetObjectCell(ObjectColumn.Material).Value = "PMMA";
Object_3.GetObjectCell(ObjectColumn.Par1).DoubleValue = 1.2;
Object_3.GetObjectCell(ObjectColumn.Par2).DoubleValue = 0.1;
Object_3.GetObjectCell(ObjectColumn.Par3).DoubleValue = 1.2;

C++

// Set 3rd object as Cylinder Volume
INCERowPtr Object_3 = TheNCE->GetObjectAt(3);
IObjectTypeSettingsPtr Typeset_CylinderVolume = Object_3->GetObjectTypeSettings(ObjectType_CylinderVolume);
Object_3->ChangeType(Typeset_CylinderVolume);
// Set positions, material and parameters
Object_3->GetObjectCell(ObjectColumn_ZPosition)->DoubleValue = 0.8;
Object_3->GetObjectCell(ObjectColumn_Material)->Value = "PMMA";
Object_3->GetObjectCell(ObjectColumn_Par1)->DoubleValue = 1.2;
Object_3->GetObjectCell(ObjectColumn_Par2)->DoubleValue = 0.1;
Object_3->GetObjectCell(ObjectColumn_Par3)->DoubleValue = 1.2;

Matlab

% Set 3rd object as Cylinder Volume
Object_3 = TheNCE.GetObjectAt(3);
Typeset_CylinderVolume = Object_3.GetObjectTypeSettings(ZOSAPI.Editors.NCE.ObjectType.CylinderVolume);
Object_3.ChangeType(Typeset_CylinderVolume);
% Set positions, material and parameters
Object_3.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.ZPosition).DoubleValue = 0.8;
Object_3.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Material).Value = 'PMMA';
Object_3.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par1).DoubleValue = 1.2;
Object_3.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par2).DoubleValue = 0.1;
Object_3.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par3).DoubleValue = 1.2;

Python

# Set 3rd object as Cylinder Volume
Object_3 = TheNCE.GetObjectAt(3)
Typeset_CylinderVolume = Object_3.GetObjectTypeSettings(ZOSAPI.Editors.NCE.ObjectType.CylinderVolume)
Object_3.ChangeType(Typeset_CylinderVolume)
# Set positions, material and parameters
Object_3.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.ZPosition).DoubleValue = 0.8
Object_3.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Material).Value = 'PMMA'
Object_3.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par1).DoubleValue = 1.2
Object_3.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par2).DoubleValue = 0.1
Object_3.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par3).DoubleValue = 1.2

The cell value.

Examples
CSharpStandalone_21_White_LED_Phosphor.cs.

Connect with Ansys