34 lines
774 B
Python
34 lines
774 B
Python
# Quick script for testing arcs
|
|
|
|
import numpy
|
|
|
|
import masque
|
|
import masque.file.gdsii
|
|
from masque import shapes
|
|
|
|
|
|
def main():
|
|
pat = masque.Pattern(name='ellip_grating')
|
|
for rmin in numpy.arange(10, 15, 0.5):
|
|
pat.shapes.append(shapes.Arc(
|
|
radii=(rmin, rmin),
|
|
width=0.1,
|
|
angles=(-numpy.pi/4, numpy.pi/4)
|
|
))
|
|
|
|
pat.scale_by(1000)
|
|
# pat.visualize()
|
|
pat2 = masque.Pattern(name='p2')
|
|
pat2.name = 'ellip_grating'
|
|
|
|
pat2.subpatterns += [
|
|
masque.SubPattern(pattern=pat, offset=(20e3, 0)),
|
|
masque.SubPattern(pattern=pat, offset=(0, 20e3)),
|
|
]
|
|
|
|
masque.file.gdsii.write_dose2dtype((pat, pat2, pat2.copy(), pat2.copy()), 'out.gds', 1e-9, 1e-3)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|