ZMXReader.surfaceInfo

raytracing.ZMXReader.surfaceInfo(self, index)

Make sense of rawSurfaceInfo from the Zemax file to put it together into a Surface-namedtuple that makes more sense.

  1. We figure out the material and replace it with Raytracing Material subclass.

  2. We convert CURV into a radius.

  3. We use DIAM as the diameter of the element. For some reason DIAM is half the diameter.

  4. The distance to the next interface is read as well.

Return type:

A Surface Named-tuple.