Skip to main content

Hello,

          I am curious if there is a solve or protocol to replace a paraxial lens with a “real” lens.  For instance I insert a paraxial lens with a focal length of 100 mm and a diameter of 25.4 mm and I want to auto-select a plano-convex lens from the Thorlabs library that fits those two specs and replace the paraxial with it.  Is there something similar to the “substitute” solve for glasses?

Any help is much appreciated.  Thank you.

In the top menu you will find Libraries → Lens Catalog. If you open that dialog you can select one or more catalogs and search them by lens type and specification ranges. In the example below, the THORLABS catalog is searched for plano lenses with ranges that include 100mm focal length and entrance pupils which include those common for 25.4mm dia lenses.

You can then use the dialog to insert the lens in the design at the current selected row. After inserting the lens, you can delete the paraxial lens it replaces. You may need to reverse the lens using the Reverse Elements tool. You will generally need to reoptimize air thicknesses since the focal length of the lens is measured from its principal plane, not its insertion origin.

 


In the top menu you will find Libraries → Lens Catalog. If you open that dialog you can select one or more catalogs and search them by lens type and specification ranges. In the example below, the THORLABS catalog is searched for plano lenses with ranges that include 100mm focal length and entrance pupils which include those common for 25.4mm dia lenses.

You can then use the dialog to insert the lens in the design at the current selected row. After inserting the lens, you can delete the paraxial lens it replaces. You may need to reverse the lens using the Reverse Elements tool. You will generally need to reoptimize air thicknesses since the focal length of the lens is measured from its principal plane, not its insertion origin.

 

Hi David,

                Thank you for the quick response!  I am looking to automate this process by having a user insert a paraxial lens, or multiple paraxial lenses, then somehow automatically find a suitable lens from the catalog and replace it, but do not want to manually do this for every paraxial lens.  I am aware of the lens catalog and was hoping that there was something similar to the “substitute” solve for glasses that applied to lenses.

Is there a way to query the lens catalog, say Thorlabs plano-convex lenses, and then find lenses with specific parameters?  Maybe ZPL or the ZOS API if no operand or solve exists?

I am hoping to find a method or path for doing this to help me get started.

The way I am imaging doing this is as follows: Insert paraxial lens surface and set focal length and diameter parameter, find a suitable lens in the catalog of corresponding focal length and diameter, then delete paraxial lens surface and insert lens.

Thanks again for the help.


Hello,

I’ve never done something like this, but I think it might be implemented using ZOS-API.

I see in the documentation that the interface for working with lens catalogs is exposed. See “ZOSAPI.Tools.General.ILensCatalogs Interface Reference” in the ZOS-API help system. It would seem a bit complicated in that a search in many vendor catalogs -- and certainly in the ThorLabs catalog -- produces many hits for a particular EPD and focal length. These are often similar lenses with different tolerances, materials, and coatings. However, there is also a functionality in OpticStudio for creating custom lens catalogs. (Make Private Catalog)  With some effort, you could create a private catalog having a set of lenses that would cover the requirements, and then access that programmatically.

There is also the possibility of not using a catalog search at all. You could, again with some effort, extract the prescriptions of a suitable collection of lenses and store these as data. ZOS-API could then be used to modify the lens inserting the appropriate surfaces and deleting the paraxial surface.

Both of these solutions assume the user interface is provided by some program, e.g. Python. 


Hello,

I’ve never done something like this, but I think it might be implemented using ZOS-API.

I see in the documentation that the interface for working with lens catalogs is exposed. See “ZOSAPI.Tools.General.ILensCatalogs Interface Reference” in the ZOS-API help system. It would seem a bit complicated in that a search in many vendor catalogs -- and certainly in the ThorLabs catalog -- produces many hits for a particular EPD and focal length. These are often similar lenses with different tolerances, materials, and coatings. However, there is also a functionality in OpticStudio for creating custom lens catalogs. (Make Private Catalog)  With some effort, you could create a private catalog having a set of lenses that would cover the requirements, and then access that programmatically.

There is also the possibility of not using a catalog search at all. You could, again with some effort, extract the prescriptions of a suitable collection of lenses and store these as data. ZOS-API could then be used to modify the lens inserting the appropriate surfaces and deleting the paraxial surface.

Both of these solutions assume the user interface is provided by some program, e.g. Python. 

OK no worries.  Thanks for the help!


Reply