ZEMAX Users' Knowledge Base

User Defined Features


    This article explains how to write a DLL for a user-defined scattering function. An example of a Gaussian X-Y probability function is given.

    This article explains how to read static data from a text file into a user-defined surface.


    How to Compile a User-Defined Surface

    This article explains:
    • What user-defined surfaces are
    • How to compile a user-defined surface using Microsoft Visual C++ version 6
    • How to use other compilers

    This article is also available in Japanese.


    This article describes the BSDF Data Interchange file format, as developed by Radiant Imaging, Inc. This file format is required for the user-defined scattering function RI_BSDF.DLL, which is used to apply a scattering distribution as provided by tabular BSDF data on a non-sequential surface.

    This article illustrates use of the Henyey-Greenstein distribution to model bulk scattering.

    This article describes how to model an unusual surface - in this case an imaging slicing mirror - by using the user-defined surface capability of ZEMAX. In addition, Physical Optics propagation is also used to compute cross-talk between channels.

    This article shows how to create ZEMAX user-defined surfaces using the Waterloo Maple mathematics package.

    This article is also available in Japanese.