For the User defined object DLL, Zemax passes a variable “data” to the function UserObjectDefinition. However, I have not been able to find any documentation on what each element of this array is. The examples provide some of the parameters (for example the CoatingSample.dll file gives the first 15 parameters and a few others up to parameter 34, see the code below from the example). Where can I find documentation to understand what other parameters I have access to from this data structure?
The data ZEMAX sends is formatted as follows:
data2], datat3], datat4] = x, y, z
data5], data6], data57] = l, m, n
datab8] = coat group number
datau9], data/10], data11] = normal nx, ny, nz
data 12], dataz13] = current and next index of refraction
datad14] = cosine of normal incidence angle
data 15] = wavelength in µm
data20] = zero flag. Set this to 1.0 to indicate the DLL
computes the coating data, otherwise, ZEMAX will compute using
object settings.
for s polarization:
datab21] = amplitude reflection real
datat22] = amplitude reflection imaginary
datan23] = amplitude transmission real
datac24] = amplitude transmission imaginary
for p polarization:
data 31] = amplitude reflection real
data/32] = amplitude reflection imaginary
datad33] = amplitude transmission real
data34] = amplitude transmission imaginary
Mod note: moved to more appropriate forum for DLL-related discussions.]