Solved

Sag Table import

  • 9 September 2021
  • 6 replies
  • 87 views

Userlevel 2
Badge

Hi everyone,

I have a sag table with a couple of rows, I want to insert the corresponding aspheric terms into ZOS lens editor.

How can I achive my goal?

Any help is appreciated.

icon

Best answer by David.Nguyen 10 September 2021, 15:11

View original

6 replies

Userlevel 4
Badge +1

Hi Önder,

 

You need to give us more context. What’s the format of your sag table? What aspheric terms are you talking about? Can you share your sag table?

OpticsStudio has a surface called Grid Sag. It has most aspheric terms (conic, polynomial, and Zernike), and can take a square grid of sag values from a table defined in a text-file.

The grid data definition is defined in the Help File under The Setup Tab > Editors Group (Setup Tab) > Lens Data Editor > Sequential Surfaces (lens data editor) > Grid Sag, and it looks like the following. There’s a header first:

nx ny delx dely unitflag xdec ydec

And the following lines are the different points of the grid:

z dz/dx dz/dy d2z/dxdy nodata

Basically, you define how many points are in the grid, nx and ny, what is the physical distance between the points delx and dely, the units of this distance, unitflag, and the decentering of this grid with respect to the surface vertex, xdec and ydec. Then, each line is the sag, z, at the corresponding X/Y coordinates starting from the top-left corner (-X; +Y), the derivatives of the sag (if known, otherwise leave to 0), dz/dxdz/dy, and d2z/dxdy, and a flag, nodata, to indicate whether that particular line contains valid (0) or invalid (1) data.

Would that work for you?

Take care,

 

David

Userlevel 2
Badge

Hi Önder,

 

You need to give us more context. What’s the format of your sag table? What aspheric terms are you talking about? Can you share your sag table?

OpticsStudio has a surface called Grid Sag. It has most aspheric terms (conic, polynomial, and Zernike), and can take a square grid of sag values from a table defined in a text-file.

The grid data definition is defined in the Help File under The Setup Tab > Editors Group (Setup Tab) > Lens Data Editor > Sequential Surfaces (lens data editor) > Grid Sag, and it looks like the following. There’s a header first:

nx ny delx dely unitflag xdec ydec

And the following lines are the different points of the grid:

z dz/dx dz/dy d2z/dxdy nodata

Basically, you define how many points are in the grid, nx and ny, what is the physical distance between the points delx and dely, the units of this distance, unitflag, and the decentering of this grid with respect to the surface vertex, xdec and ydec. Then, each line is the sag, z, at the corresponding X/Y coordinates starting from the top-left corner (-X; +Y), the derivatives of the sag (if known, otherwise leave to 0), dz/dxdz/dy, and d2z/dxdy, and a flag, nodata, to indicate whether that particular line contains valid (0) or invalid (1) data.

Would that work for you?

Take care,

 

David

y z
1 0,055699
2 0,281054
3 0,518103
4 0,84722
5 1,284910
6 1,84723
7 2,557104
8 3,457380
9 4,611046
10 6,334962
11 8,216437

Hi David,

My sag  table is as above, it is a sample measurement of an aspheric lens. My goal is to find out how to convert these info into aspheric terms to insert in ZOS. 

The reference radius can be taken as 11,2 and the conic consant is not determined.

Userlevel 4
Badge +1

Hi Önder,

 

We are getting there. I’m assuming the units are mm (millimeters), since you are missing an X column in your table, I’m also assuming this profile is rotationally symmetric, and I’m guessing that at Y = 0, then Z = 0.

There are several ways you could transform this data into a surface as far as OpticStudio is concerned. If you intend to manufacture this lens, you should perhaps contact the manufacturer, and ask what they prefer.

In my opinion, you could either use this data and create a 2D rectangular grid, but if your surface is rotationally symmetric it might be the slowest option in terms of calculation time, and feed it to the Grid Sag surface. Or, and that’s probably what I would do, you could fit a polynomial (or any other type of fit) to this profile, and use the Extended Polynomial surface (or the corresponding surface that matches your fit, such as Chebyshev for example).

Does that make sense, and do you need help doing that?

Take care,

 

David

Userlevel 2
Badge

Yes the units are in millimeters. The profile is symmetric and my ultimate goal is not to manufacture this one but get practice on how to convert the sag measurement table into desired aspherical terms using even asphere surface type in ZOS. 

I tried to calculate my aspherical coefficients using a spreadsheet. Using the sag profile formula:

I got:

You can have a look at my calculations, if you see anything wrong please let me know,

 

best regards

Userlevel 4
Badge +1

Hi Önder,

 

I can’t see how your a_i terms are calculated (there are no formulas in the cells Q35-T35), but I’m assuming they come from a fit. In which case, this is probably what I would have done too.

Take care,

 

David

Userlevel 2
Badge

Yes David, your assumption is absolutely right, I made use of curve fitting out there. As far as I get, curve fitting is the proper way of obtaining the aspheric terms.

Thank you for your suggestions,

Best Regards

Reply