Skip to main content

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

  • September 30, 2019
  • 1 reply
  • 945 views

Julia
Fully Spectral
Forum|alt.badge.img+2
  • Fully Spectral
  • 51 replies
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


Did this topic help you find an answer to your question?

1 reply

  • Single Emitter
  • 1 reply
  • March 2, 2025

Thanks !
That was very helpful for me to get the refractive index at specific wavelengths when solver is used on the material


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings