Importing freeform surface profile - Spherical coordinates parameterization

  • 4 March 2024
  • 2 replies

Hello again Zemax community,

I am trying to import a freeform surface into Zemax but I am experiencing the following difficulties:

My freeform surfaces are externally generated and these are constructed by parameterizing the surface by the distance from the origin the points on the surface. As a consequence, this can result in surface profiles which do not have a single height value for a given x and y coordinate. You can take a look to an example of the type of freeform surface that I am generating:


One way in which you can think of this surface is as a spherical base surface for which at each point, there exists a radial offset from the ideal spherical base. 


After externally generating my freeform surface, I tried importing it into Zemax by using a .DAT (for sequential analysis) and a .GRD (non-sequential analysis) file.

However, once I take a look to the sag profile using the Surface sag tool, I can clearly notice that the lower surface profile is lost. To me it seems that in this case the surface can just have a single height value for a given x and y coordinate. 


Do you have any recommendation on what to do in this situation? Do I maybe need to use a different approach for importing this surface profile into Zemax? 

In advance, thanks for the help and the comments!

2 replies

Userlevel 7
Badge +3

A sequential surface will not support two intersection points, but a non-sequential object should.

Hi @Mark.Nicholson , thanks for the feedback.

Do you know if I should use the .GRD file format to specify the surface profile? As far as I could see, there was no difference between a .DAT file and a .GRD file and at least in the .DAT format, you just specify the spacing along x and y and the direct surface height profile information without any explicit information on the relationship between the coordinates.

Should I maybe use a different file format?