Skip to main content
Solved

Paraxial to Real Lens Replacement

  • January 28, 2023
  • 4 replies
  • 557 views

Michaelkm8
Ultraviolet

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.

Best answer by David

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. 

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

4 replies

David
Luminary
Forum|alt.badge.img+4
  • Luminary
  • 336 replies
  • January 28, 2023

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.

 


Michaelkm8
Ultraviolet
  • Author
  • Ultraviolet
  • 30 replies
  • January 29, 2023
David wrote:

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.


David
Luminary
Forum|alt.badge.img+4
  • Luminary
  • 336 replies
  • Answer
  • January 29, 2023

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. 


Michaelkm8
Ultraviolet
  • Author
  • Ultraviolet
  • 30 replies
  • February 2, 2023
David wrote:

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


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