To assist with the computation of the paths of millions of light rays, optical engineers use specialized software to design and simulate optical systems. Zemax is the most popular optical design software and the one I prefer. It includes many built-in functions and objects but sometimes more specific objects are required. Zemax therefore allows user written custom Dlls. These objects can be used for faster raytracing and optimization.
As an illumination engineer, I often need custom freeform object for complex illumination parts shapes. To help with this work, I have written more that 20 custom Dlls for User Defined Objects, which enhance standard Zemax capabilities. Several examples of these are shown below:
Custom DLL based on Bezier curves to optimize and design freeform rectangle cross-section lightpipes
Custom DLL based on Bezier curves tp optimize and design freeform elliptical cross-section lightpipes
Custom DLL based on Bezier curves and the resulting TIR lens
Custom DLL based on Bezier curves: a thin sheet used to optimize and design reflectors
Custom DLL based on Bezier curves to create easily optimized freeform surface lens
With these custom objects DLLs we have been able to design more efficient variants of optical parts than with standard Zemax objects.