Merging Optics

[1]:
from optiland import optic
[2]:
class Singlet(optic.Optic):
    def __init__(self):
        super().__init__()

        # add surfaces
        self.surfaces.add(index=0, thickness=50)
        self.surfaces.add(
            index=1,
            thickness=7,
            radius=43.7354,
            is_stop=True,
            material="N-SF11",
        )
        self.surfaces.add(index=2, radius=-46.2795, thickness=50)
        self.surfaces.add(index=3)

        # add aperture
        self.set_aperture(aperture_type="EPD", value=25)

        # add field
        self.fields.set_type(field_type="angle")
        self.fields.add(y=0)
        # self.fields.add(y=3)

        # add wavelength
        self.wavelengths.add(value=0.48613270)
        self.wavelengths.add(value=0.58756180, is_primary=True)
        self.wavelengths.add(value=0.65627250)
[3]:
lens1 = Singlet()
lens2 = Singlet()
[4]:
lens1.draw(num_rays=5)
../../_images/gallery_miscellaneous_combining_lenses_4_0.png
[ ]:
lens_combined = lens1 + lens2  # lens1 + lens 1 is also possible
lens_combined.draw(num_rays=5)
../../_images/gallery_miscellaneous_combining_lenses_5_0.png