PyOpticalTable is a Python library designed to make it easy to create high-quality figures of optical setups, for use in papers, theses, or presentations. The figure creation is all done using matplotlib <www.matplotlib.org>, and PyOpticalTable essentially provides a user-friendly syntax for drawing the setup.
See http://jamesdpickering.com/pyopticaltable/ for more detail and docs.