masque/examples/ellip_grating.py
2023-10-15 16:18:33 -07:00

37 lines
753 B
Python

# Quick script for testing arcs
import numpy
import masque
from masque.file import gdsii
from masque import shapes
def main():
pat = masque.Pattern(name='ellip_grating')
layer = (0, 0)
pat.shapes[layer].extend([
shapes.Arc(
radii=(rmin, rmin),
width=0.1,
angles=(-numpy.pi/4, numpy.pi/4),
)
for rmin in numpy.arange(10, 15, 0.5)]
)
pat.label(string='grating centerline', offset=(1, 0), layer=(1, 2))
pat.scale_by(1000)
pat.visualize()
lib = {
'ellip_grating': pat,
'grating2': pat.copy(),
}
gdsii.writefile(lib, 'out.gds.gz', meters_per_unit=1e-9, logical_units_per_unit=1e-3)
if __name__ == '__main__':
main()