Rayica is a Mathematica application package that provides ray-tracing and rendering of optical systems. It offers unprecedented flexibility for advanced optical work. It has many advanced features, a searchable component database of over 6800 commercial optical parts, and powerful ray representation and tracing abilities, with a simple building-block architecture that makes it easy to add custom components and functions.