ZOS-API- How to access properties and methods in Lens Data Editor?

  • 30 September 2019
  • 0 replies
  • 543 views

Userlevel 4
Badge +2
TheSystem.LDE.GetSurfaceAt(1). Radius;
TheSystem.LDE.GetSurfaceAt(1). Thickness;
TheSystem.LDE.GetSurfaceAt(1). SemiDiameter;
TheSystem.LDE.GetSurfaceAt(1). ChipZone;
TheSystem.LDE.GetSurfaceAt(1). Conic;
TheSystem.LDE.GetSurfaceAt(1). TCE;
TheSystem.LDE.GetSurfaceAt(1). Comment;
TheSystem.LDE.GetSurfaceAt(1). Material;
TheSystem.LDE.GetSurfaceAt(1). Coating;



The above code can get and set values of Radius, Thickness, SemiDiameter, ChipZone, Conic, TCE; strings of Comment, Material, Coating.




get_add_coating_tool=TheSystem.LDE.GetTool_AddCoatingsToAllSurfaces();
get_add_coating_tool.CoatingToAdd= 'None';
TheSystem.LDE.RunTool_AddCoatingsToAllSurfaces(get_add_coating_tool);
get_add_coating_tool.CoatingToAdd= 'AR';
TheSystem.LDE.RunTool_AddCoatingsToAllSurfaces(get_add_coating_tool);

In the above code:



  • use tool Add Coating To All Surfaces to remove all coatings

  • use tool Add Coating To All Surfaces to add ‘AR’ coating to all surface




​​​​Accessible tools include:

RunTool_ConvertLocalToGlobalCoordinates(int, int, int)

RunTool_ConvertGlobalToLocalCoordinates(int, int, ZOSAPI.Editors.LDE.ConversionOrder)

RunTool_AddFoldMirror(int, ZOSAPI.Editors.LDE.TiltType, double)

RunTool_DeleteFoldMirror(int)

RunTool_ReverseElements(int, int)

RunTool_MakeFocal(double)

RunTool_MakeDoublePass(int)

RunTool_RemoveAllApertures()

RunTool_ConvertSemiDiametersToCircularApertures()

RunTool_ConvertSemiDiametersToFloatingApertures()

RunTool_ConvertSemiDiametersToMaximumApertures()

RunTool_ReplaceVignettingWithApertures()

RunTool_AddCoatingsToAllSurfaces(ZOSAPI.Editors.LDE.ILDETool_AddCoatingsToAllSurfaces)

GetTool_AddCoatingsToAllSurfaces()



TheSystemData.Aperture.ApodizationType = ZOSAPI.SystemData.ZemaxApodizationType.Gaussian;
TheSystemData.Aperture.ApodizationFactor = 1;
intensity_apodization=TheSystem.LDE.GetApodization(0,1.0);
display(intensity_apodization);

In the above code:



  • Set apodization type as Gaussian

  • Set Apodization factor as 1

  • Computes the intensity apodization of ray (Px=0, Py=1.0)


​​​​​​[efl,real_working_f_num,paraxial_working_f_num,paraxial_image_height,paraxial_magnification]= TheSystem.LDE.GetFirstOrderData();


  • Get first order data about the lens


​​​​​​[bool_return, glass_name,nd,vd,dpgf]= TheSystem.LDE.GetGlass(3);


  • Get glass data of surface3


​​​​​​[bool_return, R11,R12,R13,R21,R22,R23,R31,R32,R33,Xo,Yo,Zo]= TheSystem.LDE.GetGlobalMatrix(3);


  • Get the matrix required to convert any local coordinates (such as from a ray trace) into global coordinates of surface3


num_wavelengths= TheSystemData.Wavelengths.NumberOfWavelengths
index=NET.createArray('System.Double', num_wavelengths);
TheSystem.LDE.GetIndex(3, num_wavelengths,index);
display(index.double);


  • Extract refraction data array of all wavelengths for surface3


[aper_type,aper_value,EP_diameter,EP_position,XP_diameter,XP_position,apodization_type,apodization_factor]= TheSystem.LDE.GetPupil();


  • Get pupil data


TheSystem.LDE. NumberOfSurfaces;
TheSystem.LDE. NumberOfRows;
TheSystem.LDE.NumberOfNonSequentialSurfaces;


  • Get the number of surfaces

  • Get the number of surface rows

  • Get the number of non-sequential surfaces



0 replies

Be the first to reply!

Reply