Skip to main content

Zemax OpticStudio ZOS-API 2026 R1

Namespace ZOSAPI::Editors::NCE

Last update: 13.03.2026

Definition:

Usage (see Example 21 for a full sample)

C#

            // Set 4th object as Standard Lens
            INCERow Object_4 = TheNCE.GetObjectAt(4);
            IObjectTypeSettings Typeset_StandardLens = Object_4.GetObjectTypeSettings(ObjectType.StandardLens);
            Object_4.ChangeType(Typeset_StandardLens);
            // Set positions
            Object_4.GetObjectCell(ObjectColumn.ZPosition).DoubleValue = 0.9;
            // To set solve for any cell, you need to first create a "ISolveData" by "CreateSolveType()" method.
            // And then assign it to the cell.
            ISolveData Solve_ObjPick = Object_4.GetObjectCell(ObjectColumn.Material).CreateSolveType(SolveType.ObjectPickup);
            Solve_ObjPick._S_ObjectPickup.Object = 3;
            // Set parameters
            Object_4.GetObjectCell(ObjectColumn.Material).SetSolveData(Solve_ObjPick);
            Object_4.GetObjectCell(ObjectColumn.Par3).DoubleValue = 1.2;
            Object_4.GetObjectCell(ObjectColumn.Par4).DoubleValue = 1.2;
            Object_4.GetObjectCell(ObjectColumn.Par5).DoubleValue = 1.2;
            Object_4.GetObjectCell(ObjectColumn.Par6).DoubleValue = -1.2;
            Object_4.GetObjectCell(ObjectColumn.Par8).DoubleValue = 1.2;
            Object_4.GetObjectCell(ObjectColumn.Par9).DoubleValue = 1.2;

C++

    // Set 4th object as Standard Lens
    INCERowPtr Object_4 = TheNCE->GetObjectAt(4);
    IObjectTypeSettingsPtr Typeset_StandardLens = Object_4->GetObjectTypeSettings(ObjectType_StandardLens);
    Object_4->ChangeType(Typeset_StandardLens);
    // Set positions
    Object_4->GetObjectCell(ObjectColumn_ZPosition)->DoubleValue = 0.9;
    // To set solve for any cell, you need to first create a "ISolveData" by "CreateSolveType()" method.
    // And then assign it to the cell.
    ISolveDataPtr Solve_ObjPick = Object_4->GetObjectCell(ObjectColumn_Material)->CreateSolveType(SolveType_ObjectPickup);
    Solve_ObjPick->_S_ObjectPickup->Object = 3;
    // Set parameters
    Object_4->GetObjectCell(ObjectColumn_Material)->SetSolveData(Solve_ObjPick);
    Object_4->GetObjectCell(ObjectColumn_Par3)->DoubleValue = 1.2;
    Object_4->GetObjectCell(ObjectColumn_Par4)->DoubleValue = 1.2;
    Object_4->GetObjectCell(ObjectColumn_Par5)->DoubleValue = 1.2;
    Object_4->GetObjectCell(ObjectColumn_Par6)->DoubleValue = -1.2;
    Object_4->GetObjectCell(ObjectColumn_Par8)->DoubleValue = 1.2;
    Object_4->GetObjectCell(ObjectColumn_Par9)->DoubleValue = 1.2;

Matlab

    % Set 4th object as Standard Lens
    Object_4 = TheNCE.GetObjectAt(4);
    Typeset_StandardLens = Object_4.GetObjectTypeSettings(ZOSAPI.Editors.NCE.ObjectType.StandardLens);
    Object_4.ChangeType(Typeset_StandardLens);
    % Set positions
    Object_4.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.ZPosition).DoubleValue = 0.9;
    % To set solve for any cell, you need to first create a "ISolveData" by "CreateSolveType()" method.
    % And then assign it to the cell.
    Solve_ObjPick = Object_4.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Material).CreateSolveType(ZOSAPI.Editors.SolveType.ObjectPickup);
    Solve_ObjPick.S_ObjectPickup_.Object = 3;
    % Set parameters
    Object_4.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Material).SetSolveData(Solve_ObjPick);
    Object_4.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par3).DoubleValue = 1.2;
    Object_4.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par4).DoubleValue = 1.2;
    Object_4.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par5).DoubleValue = 1.2;
    Object_4.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par6).DoubleValue = -1.2;
    Object_4.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par8).DoubleValue = 1.2;
    Object_4.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par9).DoubleValue = 1.2;

Python

    # Set 4th object as Standard Lens
    Object_4 = TheNCE.GetObjectAt(4)
    Typeset_StandardLens = Object_4.GetObjectTypeSettings(ZOSAPI.Editors.NCE.ObjectType.StandardLens)
    Object_4.ChangeType(Typeset_StandardLens)
    # Set positions
    Object_4.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.ZPosition).DoubleValue = 0.9
    # To set solve for any cell, you need to first create a "ISolveData" by "CreateSolveType()" method.
    # And then assign it to the cell.
    Solve_ObjPick = Object_4.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Material).CreateSolveType(ZOSAPI.Editors.SolveType.ObjectPickup)
    Solve_ObjPick._S_ObjectPickup.Object = 3
    # Set parameters
    Object_4.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Material).SetSolveData(Solve_ObjPick)
    Object_4.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par3).DoubleValue = 1.2
    Object_4.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par4).DoubleValue = 1.2
    Object_4.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par5).DoubleValue = 1.2
    Object_4.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par6).DoubleValue = -1.2
    Object_4.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par8).DoubleValue = 1.2
    Object_4.GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par9).DoubleValue = 1.2

Classes

Enumeration types

Enumeration type ObjectType

Definition:

enum ObjectType {
  AnnularAsphericLens,
  AnnularAxialLens,
  AnnularVolume,
  Annulus,
  Array,
  ArrayRing,
  AsphericSurface,
  AsphericSurface2,
  AxiconSurface,
  BiconicLens,
  BiconicSurface,
  BiconicZernike,
  BiconicZernikeSurface,
  Binary1,
  Binary2,
  Binary2A,
  Boolean,
  BooleanCAD = Boolean,
  CADAssemblyAutodeskInventor,
  CADAssemblyCreoParametric,
  CADAssemblySolidWorks,
  CADPartAutodeskInventor,
  CADPartCreoParametric,
  CADPartSolidWorks,
  CADPartSTEPIGESSAT,
  CADPartSTL,
  CADPartZPD,
  Cone,
  CPC,
  CPCRectangular,
  CylinderPipe,
  CylinderVolume,
  Cylinder2Pipe,
  Cylinder2Volume,
  DetectorColor,
  DetectorPolar,
  DetectorRectangle,
  DetectorSurface,
  DetectorVolume,
  DiffractionGrating,
  DualBEFSurface,
  Ellipse,
  EllipticalVolume,
  EvenAsphereLens,
  ExtendedOddAsphereLens,
  ExtendedPolynomialLens,
  ExtendedPolynomialSurface,
  Extruded,
  FacetedSurface,
  FreeformZ,
  Fresnel1,
  Fresnel2,
  GridSagLens,
  GridSagSurface,
  GridSagFrontBack,
  HexagonalLensletArray,
  HologramLens,
  HologramSurface,
  JonesMatrix,
  LensletArray1,
  LensletArray2,
  MEMS,
  NullObject,
  OddAsphereLens,
  ParaxialLens,
  PolygonObject,
  RayRotator,
  RectangularCorner,
  Rectangle,
  RectangularPipe,
  RectangularPipeGrating,
  RectangularRoof,
  RectangularTorusSurface,
  RectangularTorusVolume,
  RectangularVolume,
  RectangularVolumeGrating,
  ReverseRadianceDetector,
  ReverseRadianceTarget,
  Slide,
  SourceDiffractive,
  SourceDiode,
  SourceDLL,
  SourceEllipse,
  SourceEULUMDATFile,
  SourceFilament,
  SourceFile,
  SourceGaussian,
  SourceIESNAFile,
  SourceImported,
  SourceObject,
  SourcePoint,
  SourceRadial,
  SourceRay,
  SourceRectangle,
  SourceTube,
  SourceTwoAngle,
  SourceVolumeCylindrical,
  SourceVolumeElliptical,
  SourceVolumeRectangular,
  Sphere,
  StandardLens,
  StandardSurface,
  Swept,
  TabulatedFactedRadial,
  TabulatedFactedToroid,
  TabulatedFrenselRadial,
  ToroidalHologram,
  ToroidalLens,
  ToroidalSurface,
  ToroidalSurfaceOddASphere,
  TorusSurface,
  TorusVolume,
  TriangularCorner,
  Triangle,
  UserDefinedObject,
  WolterSurface,
  ZernikeSurface,
  BooleanNative,
  CompoundLens,
  QTypeAsphereSurface,
  OffAxisMirror,
  StopElliptical,
  StopRectangular,
  MuellerMatrix
}

All supported non-sequential object types.

Usage (see Example 17 for a full sample)

C#

            //Source point
            IObjectTypeSettings oType_1 = Object_1.GetObjectTypeSettings(ZOSAPI.Editors.NCE.ObjectType.SourcePoint);
            Object_1.ChangeType(oType_1);
            IObjectSourcePoint Source1_data = Object_1.ObjectData as IObjectSourcePoint;
            Source1_data.NumberOfLayoutRays = 3;
            Source1_data.NumberOfAnalysisRays = 1000000;

C++

    //Source point
    IObjectTypeSettingsPtr oType_1 = Object_1->GetObjectTypeSettings(ObjectType_SourcePoint);
    Object_1->ChangeType(oType_1);
    IObjectSourcePointPtr Source1_data = Object_1->ObjectData;
    // Proterties NumberOfLayoutRays and NumberOfAnalysisRays belong to base interface IObjectSources. To use these properties, cast to IObjectSources first.
    IObjectSourcesPtr caseIObjSources = Source1_data;
    caseIObjSources->NumberOfLayoutRays = 3;
    caseIObjSources->NumberOfAnalysisRays = 1000000;

Matlab

    % Source point
    oType_1 = Object_1.GetObjectTypeSettings(ZOSAPI.Editors.NCE.ObjectType.SourcePoint);
    Object_1.ChangeType(oType_1);
    Source1_data = Object_1.ObjectData;
    Source1_data.NumberOfLayoutRays = 3;
    Source1_data.NumberOfAnalysisRays = 1000000;

Python

    # Source point
    oType_1 = Object_1.GetObjectTypeSettings(ZOSAPI.Editors.NCE.ObjectType.SourcePoint)
    Object_1.ChangeType(oType_1)
    Source1_data = Object_1.ObjectData
    Source1_data.NumberOfLayoutRays = 3
    Source1_data.NumberOfAnalysisRays = 1000000

Enumerator AnnularAsphericLens

Enumerator AnnularAxialLens

Enumerator AnnularVolume

Enumerator Annulus

Enumerator Array

Enumerator ArrayRing

Enumerator AsphericSurface

Enumerator AsphericSurface2

Enumerator AxiconSurface

Enumerator BiconicLens

Enumerator BiconicSurface

Enumerator BiconicZernike

Enumerator BiconicZernikeSurface

Enumerator Binary1

Enumerator Binary2

Enumerator Binary2A

Enumerator Boolean

Enumerator BooleanCAD

Enumerator CADAssemblyAutodeskInventor

Enumerator CADAssemblyCreoParametric

Enumerator CADAssemblySolidWorks

Enumerator CADPartAutodeskInventor

Enumerator CADPartCreoParametric

Enumerator CADPartSolidWorks

Enumerator CADPartSTEPIGESSAT

Enumerator CADPartSTL

Enumerator CADPartZPD

Enumerator Cone

Enumerator CPC

Enumerator CPCRectangular

Enumerator CylinderPipe

Enumerator CylinderVolume

Enumerator Cylinder2Pipe

Enumerator Cylinder2Volume

Enumerator DetectorColor

Enumerator DetectorPolar

Enumerator DetectorRectangle

Enumerator DetectorSurface

Enumerator DetectorVolume

Enumerator DiffractionGrating

Enumerator DualBEFSurface

Enumerator Ellipse

Enumerator EllipticalVolume

Enumerator EvenAsphereLens

Enumerator ExtendedOddAsphereLens

Enumerator ExtendedPolynomialLens

Enumerator ExtendedPolynomialSurface

Enumerator Extruded

Enumerator FacetedSurface

Enumerator FreeformZ

Enumerator Fresnel1

Enumerator Fresnel2

Enumerator GridSagLens

Enumerator GridSagSurface

Enumerator GridSagFrontBack

Enumerator HexagonalLensletArray

Enumerator HologramLens

Enumerator HologramSurface

Enumerator JonesMatrix

Enumerator LensletArray1

Enumerator LensletArray2

Enumerator MEMS

Enumerator NullObject

Enumerator OddAsphereLens

Enumerator ParaxialLens

Enumerator PolygonObject

Enumerator RayRotator

Enumerator RectangularCorner

Enumerator Rectangle

Enumerator RectangularPipe

Enumerator RectangularPipeGrating

Enumerator RectangularRoof

Enumerator RectangularTorusSurface

Enumerator RectangularTorusVolume

Enumerator RectangularVolume

Enumerator RectangularVolumeGrating

Enumerator ReverseRadianceDetector

Enumerator ReverseRadianceTarget

Enumerator Slide

Enumerator SourceDiffractive

Enumerator SourceDiode

Enumerator SourceDLL

Enumerator SourceEllipse

Enumerator SourceEULUMDATFile

Enumerator SourceFilament

Enumerator SourceFile

Enumerator SourceGaussian

Enumerator SourceIESNAFile

Enumerator SourceImported

Enumerator SourceObject

Enumerator SourcePoint

Enumerator SourceRadial

Enumerator SourceRay

Enumerator SourceRectangle

Enumerator SourceTube

Enumerator SourceTwoAngle

Enumerator SourceVolumeCylindrical

Enumerator SourceVolumeElliptical

Enumerator SourceVolumeRectangular

Enumerator Sphere

Enumerator StandardLens

Enumerator StandardSurface

Enumerator Swept

Enumerator TabulatedFactedRadial

Enumerator TabulatedFactedToroid

Enumerator TabulatedFrenselRadial

Enumerator ToroidalHologram

Enumerator ToroidalLens

Enumerator ToroidalSurface

Enumerator ToroidalSurfaceOddASphere

Enumerator TorusSurface

Enumerator TorusVolume

Enumerator TriangularCorner

Enumerator Triangle

Enumerator UserDefinedObject

Enumerator WolterSurface

Enumerator ZernikeSurface

Enumerator BooleanNative

Enumerator CompoundLens

Enumerator QTypeAsphereSurface

Enumerator OffAxisMirror

Enumerator StopElliptical

Enumerator StopRectangular

Enumerator MuellerMatrix

Enumeration type ObjectColumn

Definition:

enum ObjectColumn {
  Comment = 1,
  RefObject = 2,
  InsideOf = 3,
  XPosition = 4,
  YPosition = 5,
  ZPosition = 6,
  TiltX = 7,
  TiltY = 8,
  TiltZ = 9,
  Material = 10,
  Par1 = 11,
  Par2 = 12,
  Par3 = 13,
  Par4 = 14,
  Par5 = 15,
  Par6 = 16,
  Par7 = 17,
  Par8 = 18,
  Par9 = 19,
  Par10 = 20,
  Par11 = 21,
  Par12 = 22,
  Par13 = 23,
  Par14 = 24,
  Par15 = 25,
  Par16 = 26,
  Par17 = 27,
  Par18 = 28,
  Par19 = 29,
  Par20 = 30,
  Par21 = 31,
  Par22 = 32,
  Par23 = 33,
  Par24 = 34,
  Par25 = 35,
  Par26 = 36,
  Par27 = 37,
  Par28 = 38,
  Par29 = 39,
  Par30 = 40,
  Par31 = 41,
  Par32 = 42,
  Par33 = 43,
  Par34 = 44,
  Par35 = 45,
  Par36 = 46,
  Par37 = 47,
  Par38 = 48,
  Par39 = 49,
  Par40 = 50,
  Par41 = 51,
  Par42 = 52,
  Par43 = 53,
  Par44 = 54,
  Par45 = 55,
  Par46 = 56,
  Par47 = 57,
  Par48 = 58,
  Par49 = 59,
  Par50 = 60,
  Par51 = 61,
  Par52 = 62,
  Par53 = 63,
  Par54 = 64,
  Par55 = 65,
  Par56 = 66,
  Par57 = 67,
  Par58 = 68,
  Par59 = 69,
  Par60 = 70,
  Par61 = 71,
  Par62 = 72,
  Par63 = 73,
  Par64 = 74,
  Par65 = 75,
  Par66 = 76,
  Par67 = 77,
  Par68 = 78,
  Par69 = 79,
  Par70 = 80,
  Par71 = 81,
  Par72 = 82,
  Par73 = 83,
  Par74 = 84,
  Par75 = 85,
  Par76 = 86,
  Par77 = 87,
  Par78 = 88,
  Par79 = 89,
  Par80 = 90,
  Par81 = 91,
  Par82 = 92,
  Par83 = 93,
  Par84 = 94,
  Par85 = 95,
  Par86 = 96,
  Par87 = 97,
  Par88 = 98,
  Par89 = 99,
  Par90 = 100,
  Par91 = 101,
  Par92 = 102,
  Par93 = 103,
  Par94 = 104,
  Par95 = 105,
  Par96 = 106,
  Par97 = 107,
  Par98 = 108,
  Par99 = 109,
  Par100 = 110,
  Par101 = 111,
  Par102 = 112,
  Par103 = 113,
  Par104 = 114,
  Par105 = 115,
  Par106 = 116,
  Par107 = 117,
  Par108 = 118,
  Par109 = 119,
  Par110 = 120,
  Par111 = 121,
  Par112 = 122,
  Par113 = 123,
  Par114 = 124,
  Par115 = 125,
  Par116 = 126,
  Par117 = 127,
  Par118 = 128,
  Par119 = 129,
  Par120 = 130,
  Par121 = 131,
  Par122 = 132,
  Par123 = 133,
  Par124 = 134,
  Par125 = 135,
  Par126 = 136,
  Par127 = 137,
  Par128 = 138,
  Par129 = 139,
  Par130 = 140,
  Par131 = 141,
  Par132 = 142,
  Par133 = 143,
  Par134 = 144,
  Par135 = 145,
  Par136 = 146,
  Par137 = 147,
  Par138 = 148,
  Par139 = 149,
  Par140 = 150,
  Par141 = 151,
  Par142 = 152,
  Par143 = 153,
  Par144 = 154,
  Par145 = 155,
  Par146 = 156,
  Par147 = 157,
  Par148 = 158,
  Par149 = 159,
  Par150 = 160,
  Par151 = 161,
  Par152 = 162,
  Par153 = 163,
  Par154 = 164,
  Par155 = 165,
  Par156 = 166,
  Par157 = 167,
  Par158 = 168,
  Par159 = 169,
  Par160 = 170,
  Par161 = 171,
  Par162 = 172,
  Par163 = 173,
  Par164 = 174,
  Par165 = 175,
  Par166 = 176,
  Par167 = 177,
  Par168 = 178,
  Par169 = 179,
  Par170 = 180,
  Par171 = 181,
  Par172 = 182,
  Par173 = 183,
  Par174 = 184,
  Par175 = 185,
  Par176 = 186,
  Par177 = 187,
  Par178 = 188,
  Par179 = 189,
  Par180 = 190,
  Par181 = 191,
  Par182 = 192,
  Par183 = 193,
  Par184 = 194,
  Par185 = 195,
  Par186 = 196,
  Par187 = 197,
  Par188 = 198,
  Par189 = 199,
  Par190 = 200,
  Par191 = 201,
  Par192 = 202,
  Par193 = 203,
  Par194 = 204,
  Par195 = 205,
  Par196 = 206,
  Par197 = 207,
  Par198 = 208,
  Par199 = 209,
  Par200 = 210,
  Par201 = 211,
  Par202 = 212,
  Par203 = 213,
  Par204 = 214,
  Par205 = 215,
  Par206 = 216,
  Par207 = 217,
  Par208 = 218,
  Par209 = 219,
  Par210 = 220,
  Par211 = 221,
  Par212 = 222,
  Par213 = 223,
  Par214 = 224,
  Par215 = 225,
  Par216 = 226,
  Par217 = 227,
  Par218 = 228,
  Par219 = 229,
  Par220 = 230,
  Par221 = 231,
  Par222 = 232,
  Par223 = 233,
  Par224 = 234,
  Par225 = 235,
  Par226 = 236,
  Par227 = 237,
  Par228 = 238,
  Par229 = 239,
  Par230 = 240,
  Par231 = 241,
  Par232 = 242,
  Par233 = 243,
  Par234 = 244,
  Par235 = 245,
  Par236 = 246,
  Par237 = 247,
  Par238 = 248,
  Par239 = 249,
  Par240 = 250,
  Par241 = 251,
  Par242 = 252,
  Par243 = 253,
  Par244 = 254,
  Par245 = 255,
  Par246 = 256,
  Par247 = 257,
  Par248 = 258,
  Par249 = 259,
  Par250 = 260
}

Usage (see Example 24 for a full sample)

C#

            // Sets layout rays based on parameter number
            TheNCE.GetObjectAt(1).GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par1).IntegerValue = 100;
            // Sets analysis rays based on object data column
            ZOSAPI.Editors.NCE.IObjectSourceEllipse sourcedata = o1.ObjectData as ZOSAPI.Editors.NCE.IObjectSourceEllipse;
            sourcedata.NumberOfAnalysisRays = (int)1E6;

C++

    // Sets layout rays based on parameter number
    TheNCE->GetObjectAt(1)->GetObjectCell(ObjectColumn_Par1)->IntegerValue = 100;
    // Sets analysis rays based on object data column
    IObjectSourcesPtr sourcedata = o1->ObjectData;
    sourcedata->NumberOfAnalysisRays = (int)1E6;

Matlab

    % Sets layout rays based on parameter number
    TheNCE.GetObjectAt(1).GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par1).IntegerValue = 100;
    % Sets analysis rays based on object data column
    TheNCE.GetObjectAt(1).ObjectData.NumberOfAnalysisRays = 1E6;

Python

    # Sets layout rays based on parameter number
    TheNCE.GetObjectAt(1).GetObjectCell(ZOSAPI.Editors.NCE.ObjectColumn.Par1).IntegerValue = 100
    # Sets analysis rays based on object data column
    o1.ObjectData.NumberOfAnalysisRays = 1E6

Enumerator Comment

Enumerator RefObject

Enumerator InsideOf

Enumerator XPosition

Enumerator YPosition

Enumerator ZPosition

Enumerator TiltX

Enumerator TiltY

Enumerator TiltZ

Enumerator Material

Enumerator Par1

Enumerator Par2

Enumerator Par3

Enumerator Par4

Enumerator Par5

Enumerator Par6

Enumerator Par7

Enumerator Par8

Enumerator Par9

Enumerator Par10

Enumerator Par11

Enumerator Par12

Enumerator Par13

Enumerator Par14

Enumerator Par15

Enumerator Par16

Enumerator Par17

Enumerator Par18

Enumerator Par19

Enumerator Par20

Enumerator Par21

Enumerator Par22

Enumerator Par23

Enumerator Par24

Enumerator Par25

Enumerator Par26

Enumerator Par27

Enumerator Par28

Enumerator Par29

Enumerator Par30

Enumerator Par31

Enumerator Par32

Enumerator Par33

Enumerator Par34

Enumerator Par35

Enumerator Par36

Enumerator Par37

Enumerator Par38

Enumerator Par39

Enumerator Par40

Enumerator Par41

Enumerator Par42

Enumerator Par43

Enumerator Par44

Enumerator Par45

Enumerator Par46

Enumerator Par47

Enumerator Par48

Enumerator Par49

Enumerator Par50

Enumerator Par51

Enumerator Par52

Enumerator Par53

Enumerator Par54

Enumerator Par55

Enumerator Par56

Enumerator Par57

Enumerator Par58

Enumerator Par59

Enumerator Par60

Enumerator Par61

Enumerator Par62

Enumerator Par63

Enumerator Par64

Enumerator Par65

Enumerator Par66

Enumerator Par67

Enumerator Par68

Enumerator Par69

Enumerator Par70

Enumerator Par71

Enumerator Par72

Enumerator Par73

Enumerator Par74

Enumerator Par75

Enumerator Par76

Enumerator Par77

Enumerator Par78

Enumerator Par79

Enumerator Par80

Enumerator Par81

Enumerator Par82

Enumerator Par83

Enumerator Par84

Enumerator Par85

Enumerator Par86

Enumerator Par87

Enumerator Par88

Enumerator Par89

Enumerator Par90

Enumerator Par91

Enumerator Par92

Enumerator Par93

Enumerator Par94

Enumerator Par95

Enumerator Par96

Enumerator Par97

Enumerator Par98

Enumerator Par99

Enumerator Par100

Enumerator Par101

Enumerator Par102

Enumerator Par103

Enumerator Par104

Enumerator Par105

Enumerator Par106

Enumerator Par107

Enumerator Par108

Enumerator Par109

Enumerator Par110

Enumerator Par111

Enumerator Par112

Enumerator Par113

Enumerator Par114

Enumerator Par115

Enumerator Par116

Enumerator Par117

Enumerator Par118

Enumerator Par119

Enumerator Par120

Enumerator Par121

Enumerator Par122

Enumerator Par123

Enumerator Par124

Enumerator Par125

Enumerator Par126

Enumerator Par127

Enumerator Par128

Enumerator Par129

Enumerator Par130

Enumerator Par131

Enumerator Par132

Enumerator Par133

Enumerator Par134

Enumerator Par135

Enumerator Par136

Enumerator Par137

Enumerator Par138

Enumerator Par139

Enumerator Par140

Enumerator Par141

Enumerator Par142

Enumerator Par143

Enumerator Par144

Enumerator Par145

Enumerator Par146

Enumerator Par147

Enumerator Par148

Enumerator Par149

Enumerator Par150

Enumerator Par151

Enumerator Par152

Enumerator Par153

Enumerator Par154

Enumerator Par155

Enumerator Par156

Enumerator Par157

Enumerator Par158

Enumerator Par159

Enumerator Par160

Enumerator Par161

Enumerator Par162

Enumerator Par163

Enumerator Par164

Enumerator Par165

Enumerator Par166

Enumerator Par167

Enumerator Par168

Enumerator Par169

Enumerator Par170

Enumerator Par171

Enumerator Par172

Enumerator Par173

Enumerator Par174

Enumerator Par175

Enumerator Par176

Enumerator Par177

Enumerator Par178

Enumerator Par179

Enumerator Par180

Enumerator Par181

Enumerator Par182

Enumerator Par183

Enumerator Par184

Enumerator Par185

Enumerator Par186

Enumerator Par187

Enumerator Par188

Enumerator Par189

Enumerator Par190

Enumerator Par191

Enumerator Par192

Enumerator Par193

Enumerator Par194

Enumerator Par195

Enumerator Par196

Enumerator Par197

Enumerator Par198

Enumerator Par199

Enumerator Par200

Enumerator Par201

Enumerator Par202

Enumerator Par203

Enumerator Par204

Enumerator Par205

Enumerator Par206

Enumerator Par207

Enumerator Par208

Enumerator Par209

Enumerator Par210

Enumerator Par211

Enumerator Par212

Enumerator Par213

Enumerator Par214

Enumerator Par215

Enumerator Par216

Enumerator Par217

Enumerator Par218

Enumerator Par219

Enumerator Par220

Enumerator Par221

Enumerator Par222

Enumerator Par223

Enumerator Par224

Enumerator Par225

Enumerator Par226

Enumerator Par227

Enumerator Par228

Enumerator Par229

Enumerator Par230

Enumerator Par231

Enumerator Par232

Enumerator Par233

Enumerator Par234

Enumerator Par235

Enumerator Par236

Enumerator Par237

Enumerator Par238

Enumerator Par239

Enumerator Par240

Enumerator Par241

Enumerator Par242

Enumerator Par243

Enumerator Par244

Enumerator Par245

Enumerator Par246

Enumerator Par247

Enumerator Par248

Enumerator Par249

Enumerator Par250

Enumeration type DetectorDataType

Definition:

enum DetectorDataType {
  Real = 0,
  Imaginary,
  Amplitude,
  Power
}

Usage (see Example 24 for a full sample)

C#

            // Saves current system in memory
            TheSystem.SaveAs(TheApplication.SamplesDir + "\\API\\CS\\e24_nsc_detectors.zos");

C++

    // saves current system in memory
    TheSystem->SaveAs((_bstr_t)TheApplication->SamplesDir + "\\API\\CPP\\e24_nsc_detectors.zos");

Matlab

    % saves current system in memory
    TheSystem.Save();

Python

    # saves current system in memory
    TheSystem.Save()

Enumerator Real

Enumerator Imaginary

Enumerator Amplitude

Enumerator Power

Enumeration type PolarDetectorDataType

Definition:

enum PolarDetectorDataType {
  Power = 1,
  PowerSolidAngle,
  Lumens,
  LumensSolidAngle,
  Cx,
  Cy,
  u_T,
  u_V,
  TriX,
  TriY,
  TriZ
}

Enumerator Power

Enumerator PowerSolidAngle

Enumerator Lumens

Enumerator LumensSolidAngle

Enumerator Cx

Enumerator Cy

Enumerator u_T

Enumerator u_V

Enumerator TriX

Enumerator TriY

Enumerator TriZ

Enumeration type InterpolateChoices

Definition:

enum InterpolateChoices {
  Bicubic = 0,
  Linear
}

Enumerator Bicubic

Enumerator Linear

Enumeration type OrderChoices

Definition:

enum OrderChoices {
  Before = 0,
  After
}

Enumerator Before

Enumerator After

Enumeration type HologramTypes

Definition:

enum HologramTypes {
  Type_1 = 1,
  Type_2 = 2
}

Enumerator Type_1

Enumerator Type_2

Enumeration type DiffractiveFaceChoices

Definition:

enum DiffractiveFaceChoices {
  FrontFace = 1,
  BackFace = 2
}

Enumerator FrontFace

Enumerator BackFace

Enumeration type PixelAddressing

Definition:

enum PixelAddressing {
  ByRow = 0,
  ByColumn = 1,
  Individually = 2
}

Enumerator ByRow

Enumerator ByColumn

Enumerator Individually

Enumeration type ShapeChoices

Definition:

enum ShapeChoices {
  Rectangular = 0,
  Elliptical = 1
}

Enumerator Rectangular

Enumerator Elliptical

Enumeration type UniformAngleChoices

Definition:

enum UniformAngleChoices {
  UniformIrradiance = 0,
  UniformInAngleSpace = 1
}

Enumerator UniformIrradiance

Enumerator UniformInAngleSpace

Enumeration type EndCapOptions

Definition:

enum EndCapOptions {
  None = 0,
  First = 1,
  Second = 2,
  Both = 3
}

Enumerator None

Enumerator First

Enumerator Second

Enumerator Both

Enumeration type ApertureShapes

Definition:

enum ApertureShapes {
  Annular = 0,
  Elliptical = 1,
  Rectangular = 2,
  CyliderWithRectangular = 3
}

Various Aperture shapes.

Enumerator Annular

Enumerator Elliptical

Enumerator Rectangular

Enumerator CyliderWithRectangular

Enumeration type RaysIgnoreObjectType

Definition:

enum RaysIgnoreObjectType {
  Never = 0,
  Always = 1,
  OnLaunch = 2
}

Enumerator Never

Enumerator Always

Enumerator OnLaunch

Enumeration type DetectorShowAsType

Definition:

enum DetectorShowAsType {
  GreyScaleFlux = 0,
  InverseGreyScaleFlux = 1,
  FalseColorFlux = 2,
  InverseFalseColorFlux = 3,
  GreyScaleIrradiance = 4,
  InverseGreyScaleIrradiance = 5,
  FalseColorIrradiance = 6,
  InverseFalseColorIrradiance = 7
}

Enumerator GreyScaleFlux

Enumerator InverseGreyScaleFlux

Enumerator FalseColorFlux

Enumerator InverseFalseColorFlux

Enumerator GreyScaleIrradiance

Enumerator InverseGreyScaleIrradiance

Enumerator FalseColorIrradiance

Enumerator InverseFalseColorIrradiance

Enumeration type DrawingResolutionType

Definition:

enum DrawingResolutionType {
  Standard = 0,
  Medium = 1,
  High = 2,
  Presentation = 3,
  Custom = 4
}

Enumerator Standard

Enumerator Medium

Enumerator High

Enumerator Presentation

Enumerator Custom

Enumeration type SourceBulkScatterMode

Definition:

enum SourceBulkScatterMode {
  Many = 0,
  Once = 1,
  Never = 2
}

Enumerator Many

Enumerator Once

Enumerator Never

Enumeration type SourceSamplingMethod

Definition:

enum SourceSamplingMethod {
  Random = 0,
  Sobol = 1
}

Enumerator Random

Enumerator Sobol

Enumeration type ArrayMode

Definition:

enum ArrayMode {
  None = 0,
  Rectangular = 1,
  Circular = 2,
  Hexapolar = 3,
  Hexagonal = 4
}

Enumerator None

Enumerator Rectangular

Enumerator Circular

Enumerator Hexapolar

Enumerator Hexagonal

Enumeration type SourceColorMode

Definition:

enum SourceColorMode {
  SystemWavelengths = 0,
  CIE1931Tristimulus = 1,
  CIE1931Chromaticity = 2,
  CIE1931RGB = 3,
  UniformPowerSpectrum = 4,
  D65White = 5,
  ColorTemperature = 6,
  BlackBodySpectrum = 7,
  SpectrumFile = 8,
  CIE1976 = 9
}

Enumerator SystemWavelengths

Enumerator CIE1931Tristimulus

Enumerator CIE1931Chromaticity

Enumerator CIE1931RGB

Enumerator UniformPowerSpectrum

Enumerator D65White

Enumerator ColorTemperature

Enumerator BlackBodySpectrum

Enumerator SpectrumFile

Enumerator CIE1976

Enumeration type FaceIsType

Definition:

enum FaceIsType {
  ObjectDefault = 0,
  Reflective = 1,
  Absorbing = 2
}

Enumerator ObjectDefault

Enumerator Reflective

Enumerator Absorbing

Enumeration type ObjectScatteringTypes

Definition:

enum ObjectScatteringTypes {
  None = 0,
  Lambertian = 1,
  Gaussian = 2,
  ABg = 3,
  ABgFile = 4,
  BSDF = 5,
  ISScatterCatalog = 6,
  User = 7
}

Usage (see Example 21 for a full sample)

C#

            // Make Face 1 of object 3 has Lambertian scattering properties
            // To set scatter properties, you need to first create "ScatteringSettings" by "CreateScatterModelSettings()" method.
            // And then assign is to object 3 by ChangeScatterModelSettings().
            IObjectScatteringSettings ScatType_Lam = Object_3.CoatScatterData.GetFaceData(1).CreateScatterModelSettings(ObjectScatteringTypes.Lambertian);
            ScatType_Lam._S_Lambertian.ScatterFraction = 1;
            Object_3.CoatScatterData.GetFaceData(1).ChangeScatterModelSettings(ScatType_Lam);
            Object_3.CoatScatterData.GetFaceData(1).NumberOfRays = 1;

C++

    // Make Face 1 of object 3 has Lambertian scattering properties
    // To set scatter properties, you need to first create "ScatteringSettings" by "CreateScatterModelSettings()" method.
    // And then assign is to object 3 by ChangeScatterModelSettings().
    IObjectScatteringSettingsPtr ScatType_Lam = Object_3->CoatScatterData->GetFaceData(1)->CreateScatterModelSettings(ObjectScatteringTypes_Lambertian);
    ScatType_Lam->_S_Lambertian->ScatterFraction = 1;
    Object_3->CoatScatterData->GetFaceData(1)->ChangeScatterModelSettings(ScatType_Lam);
    Object_3->CoatScatterData->GetFaceData(1)->NumberOfRays = 1;

Matlab

    % Make Face 1 of object 3 has Lambertian scattering properties
    % To set scatter properties, you need to first create "ScatteringSettings" by "CreateScatterModelSettings()" method.
    % And then assign is to object 3 by ChangeScatterModelSettings().
    ScatType_Lam = Object_3.CoatScatterData.GetFaceData(1).CreateScatterModelSettings(ZOSAPI.Editors.NCE.ObjectScatteringTypes.Lambertian);
    ScatType_Lam.S_Lambertian_.ScatterFraction = 1;
    Object_3.CoatScatterData.GetFaceData(1).ChangeScatterModelSettings(ScatType_Lam);
    Object_3.CoatScatterData.GetFaceData(1).NumberOfRays = 1;

Python

    # Make Face 1 of object 3 has Lambertian scattering properties
    # To set scatter properties, you need to first create "ScatteringSettings" by "CreateScatterModelSettings()" method.
    # And then assign is to object 3 by ChangeScatterModelSettings().
    ScatType_Lam = Object_3.CoatScatterData.GetFaceData(1).CreateScatterModelSettings(ZOSAPI.Editors.NCE.ObjectScatteringTypes.Lambertian)
    ScatType_Lam._S_Lambertian.ScatterFraction = 1
    Object_3.CoatScatterData.GetFaceData(1).ChangeScatterModelSettings(ScatType_Lam)
    Object_3.CoatScatterData.GetFaceData(1).NumberOfRays = 1

Enumerator None

Enumerator Lambertian

Enumerator Gaussian

Enumerator ABg

Enumerator ABgFile

Enumerator BSDF

Enumerator ISScatterCatalog

Enumerator User

Enumeration type ScatterToType

Definition:

enum ScatterToType {
  ScatterToList = 0,
  ImportanceSampling = 1
}

Enumerator ScatterToList

Enumerator ImportanceSampling

Enumeration type VolumePhysicsModelType

Definition:

enum VolumePhysicsModelType {
  None = 0,
  AngleScattering = 1,
  DLLDefinedScattering = 2,
  PhotoluminescenceModel = 3
}

Usage (see Example 17 for a full sample)

C#

            //Rectangular Volume
            //Scattering properties
            //Draw:opacity set to 50%
            IObjectTypeSettings oType_2 = Object_2.GetObjectTypeSettings(ZOSAPI.Editors.NCE.ObjectType.RectangularVolume);
            Object_2.ChangeType(oType_2);
            Object_2.ZPosition = 2;
            Object_2.Material = "N-BK7";
            IObjectRectangularVolume RectVolume2_data = Object_2.ObjectData as IObjectRectangularVolume;
            RectVolume2_data.X1HalfWidth = 12;
            RectVolume2_data.Y1HalfWidth = 12;
            RectVolume2_data.ZLength = 40;
            RectVolume2_data.X2HalfWidth = 12;
            RectVolume2_data.Y2HalfWidth = 12;
            INCEVolumePhysicsData RectVolume2_volphysdata = Object_2.VolumePhysicsData;
            RectVolume2_volphysdata.Model = VolumePhysicsModelType.AngleScattering;
            RectVolume2_volphysdata.ModelSettings._S_AngleScattering.MeanPath = 5;
            RectVolume2_volphysdata.ModelSettings._S_AngleScattering.Angle = 30;
            INCEDrawData RectVolume2_Drawdata = Object_2.DrawData;
            RectVolume2_Drawdata.Opacity = ZOSAPI.Common.ZemaxOpacity.P50;

C++

    //Rectangular Volume
    //Scattering properties
    //Draw:opacity set to 50%
    IObjectTypeSettingsPtr oType_2 = Object_2->GetObjectTypeSettings(ObjectType_RectangularVolume);
    Object_2->ChangeType(oType_2);
    Object_2->ZPosition = 2;
    Object_2->Material = "N-BK7";
    IObjectRectangularVolumePtr RectVolume2_data = Object_2->ObjectData;
    RectVolume2_data->X1HalfWidth = 12;
    RectVolume2_data->Y1HalfWidth = 12;
    RectVolume2_data->ZLength = 40;
    RectVolume2_data->X2HalfWidth = 12;
    RectVolume2_data->Y2HalfWidth = 12;
    INCEVolumePhysicsDataPtr RectVolume2_volphysdata = Object_2->VolumePhysicsData;
    RectVolume2_volphysdata->Model = VolumePhysicsModelType_AngleScattering;
    RectVolume2_volphysdata->ModelSettings->_S_AngleScattering->MeanPath = 5;
    RectVolume2_volphysdata->ModelSettings->_S_AngleScattering->Angle = 30;
    INCEDrawDataPtr RectVolume2_Drawdata = Object_2->DrawData;
    RectVolume2_Drawdata->Opacity = ZemaxOpacity_P50;

Matlab

    % Rectangular Volume
    % Scattering Properties
    % Draw:opacity set to 50%
    oType_2 = Object_2.GetObjectTypeSettings(ZOSAPI.Editors.NCE.ObjectType.RectangularVolume);
    Object_2.ChangeType(oType_2);
    Object_2.ZPosition = 2;
    Object_2.Material = 'N-BK7';
    RectVolume2_data = Object_2.ObjectData;
    RectVolume2_data.X1HalfWidth = 12;
    RectVolume2_data.Y1HalfWidth = 12;
    RectVolume2_data.ZLength = 40;
    RectVolume2_data.X2HalfWidth = 12;
    RectVolume2_data.Y2HalfWidth = 12;
    RectVolume2_volphysdata = Object_2.VolumePhysicsData;
    RectVolume2_volphysdata.Model = ZOSAPI.Editors.NCE.VolumePhysicsModelType.AngleScattering;
    RectVolume2_volphysdata.ModelSettings.S_AngleScattering_.MeanPath = 5;
    RectVolume2_volphysdata.ModelSettings.S_AngleScattering_.Angle = 30;
    RectVolume2_DrawData = Object_2.DrawData;
    RectVolume2_DrawData.Opacity = ZOSAPI.Common.ZemaxOpacity.P50;

Python

    # Rectangular Volume
    # Scattering Properties
    # Draw:opacity set to 50%
    oType_2 = Object_2.GetObjectTypeSettings(ZOSAPI.Editors.NCE.ObjectType.RectangularVolume)
    Object_2.ChangeType(oType_2)
    Object_2.ZPosition = 2
    Object_2.Material = "N-BK7"
    RectVolume2_data = Object_2.ObjectData
    RectVolume2_data.X1HalfWidth = 12
    RectVolume2_data.Y1HalfWidth = 12
    RectVolume2_data.ZLength = 40
    RectVolume2_data.X2HalfWidth = 12
    RectVolume2_data.Y2HalfWidth = 12
    RectVolume2_volphysdata = Object_2.VolumePhysicsData
    RectVolume2_volphysdata.Model = ZOSAPI.Editors.NCE.VolumePhysicsModelType.AngleScattering
    RectVolume2_volphysdata.ModelSettings._S_AngleScattering.MeanPath = 5
    RectVolume2_volphysdata.ModelSettings._S_AngleScattering.Angle = 30
    RectVolume2_DrawData = Object_2.DrawData
    RectVolume2_DrawData.Opacity = ZOSAPI.Common.ZemaxOpacity.P50

Enumerator None

Enumerator AngleScattering

Enumerator DLLDefinedScattering

Enumerator PhotoluminescenceModel

Enumeration type EfficiencySpectrumType

Definition:

enum EfficiencySpectrumType {
  QuantumYield = 0,
  Excitation = 1
}

Enumerator QuantumYield

Enumerator Excitation

Enumeration type NCEIndexType

Definition:

enum NCEIndexType {
  Isotropic,
  Birefringent,
  GRIN
}

Enumerator Isotropic

Enumerator Birefringent

Enumerator GRIN

Enumeration type BirefringentMode

Definition:

enum BirefringentMode {
  TraceOrdinayAndExtraordinary = 0,
  TraceOrdinaryOnly = 1,
  TraceExtraordinaryOnly = 2,
  Waveplate = 3
}

Enumerator TraceOrdinayAndExtraordinary

Enumerator TraceOrdinaryOnly

Enumerator TraceExtraordinaryOnly

Enumerator Waveplate

Enumeration type BirefringentReflections

Definition:

enum BirefringentReflections {
  TraceReflectedAndRefracted = 0,
  TraceRefractedOnly = 1,
  TraceReflectedOnly = 2
}

Enumerator TraceReflectedAndRefracted

Enumerator TraceRefractedOnly

Enumerator TraceReflectedOnly

Enumeration type DiffractionSplitType

Definition:

enum DiffractionSplitType {
  DontSplitByOrder = 0,
  SplitByTable = 1,
  SplitByDLL = 2
}

Enumerator DontSplitByOrder

Enumerator SplitByTable

Enumerator SplitByDLL

Enumeration type RayTraceModes

Definition:

enum RayTraceModes {
  Standard = 0,
  Flat = 1,
  Shaded = 2,
  Kernel = 3
}

Enumerator Standard

Enumerator Flat

Enumerator Shaded

Enumerator Kernel

Connect with Ansys