DLL (User-Defined Surface): Sequential Hexagonal and Staggered Lens Array

  • 23 July 2021
  • 9 replies
  • 1228 views

Userlevel 6
Badge +2

These two User-defined surfaces DLL creates an array of hexagonal arranged lenses and an array of staggered lenses. The code is based on us_array.c.

us_array_hex.dll has 4 parameters: the number of lenses in X and Y direction and the width and height of each lens.

us_array_staggered.dll has 3 parameters: the number of lenses in X and Y direction and the width of the lens.

Language: Cpp

Location: \Documents\Zemax\DLL\Surfaces\

 

[MOD: added the folder location for the DLL]

 

 Click here to download

Date Version OpticStudio Version Comment
2018/01/06 1.0 - Creation

9 replies

Is access to this file restricted? When I click download it says I am not authorized. 

Userlevel 6
Badge +2

Hi Ndyann,

Thank you for checking this. This forum category is visible to supported users only. You can find more information in the following link.

Please let me know if you have any more questions.

Thank you!

Hello,

 

I tried to download us_array_hex.dll and us_array_staggered.dll  but the archive is empty. Is it possible to get these files? I am a registered user. Thank you.

 

SP

Userlevel 6
Badge +2

Hello,

 

I tried to download us_array_hex.dll and us_array_staggered.dll  but the archive is empty. Is it possible to get these files? I am a registered user. Thank you.

 

SP

Hello Sabine,

I just downloaded and was able to open the example file. That’s a little weird you see empty archive. If possible, could you submit a case in https://support.zemax.com or send an email to support@zemax.com so that we can have more look. Maybe we can directly send the file to you and see if that works. I’m sorry for the inconvenience caused.

Best regards,

Michael

Dear all,

Thanks very much for your help. I have just download the .zar (hexagonal ones) but any .dll is inside the zip. Could you please help me? 

Maybe the .dll file is in another directory?

Any help?

thank you in advanced

SoniaP

Userlevel 6
Badge +2

Hi Sonia,

Thank you for downloading. When you open the ZAR, the DLL will be extracted into the folder \Documents\Zemax\DLL\Surfaces\ automatically. Please let us know if you don’t find it. Thank you.

Best regards

 

[MOD: corrected the folder path]

Badge

Hi, Michael

May I ask a question? How to do tolerance analysis of lens array when there is a slight decenter with each lenslet, either in sequential mode or in non-sequential mode? Even more, the radius and thickness tolerance.

Thanks.

Userlevel 6
Badge +2

Hi Cybernet,

Thank you for discussion.

Do you mean each of ht lenslet has different decenter and form change?

Theoretically, it’s possible to do this tolerance analysis in either sequential or non-sequential mode. Which is better depends on your system and where you originally designed it.

However, it’s not easy to do is for now as we don’t have existing tools. Here are some of my thoughts

  1. For non-sequential mode, I would try to make a macro to directly generate all the lenslet using “Standard Lens” and then you can apply some errors to these lenslet when you generating them. It’s not crazy to generate thousands of objects in the non-sequential component editor.
  2. The other complicated method for the case of non-seqeuntial mode is you build an user-defined object DLL. This requirement quite some works of coding and not easy.
  3. For sequential mode, one of the possible method is you build a mixed mode system and utilize one of the above two methods to have this lens array in your Non-Sequential Component Surface.
  4. The other method in sequential mode is you modify the DLL I provided in this post to support tolerance. It’s again quite some works of coding.

Please let me know if you have any questions.

Thank you.

Badge

Hi, Michael

Actually, I’m Ray from Cybernet.

Thank you so much for the detailed reply for me. Yes, there is no existing tools to do the tolerance analysis (the lenslet array is different from axis symmetry lens system), as you said we should write the code to do so, which is difficult either for me or for the customers. I’m thinking the customers may ask such questions, so I asked you in advance, ha. Wish we can work it out one day.

Best wishes,

Ray

Cybernet

Reply