Skip to main content

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

  • 30 September 2019
  • 0 replies
  • 679 views

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)




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




  • Get first order data about the lens




​​​​​​nbool_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




Be the first to reply!

Reply