Draw circles in Python

Dear All,

I've so far drawn circles as polygons with a given number of edges:

# make a single circle
  radius = 100
  nr_points = 32
  angles = np.linspace(0,2*np.pi,nr_points+1)[0:-1]
  points = []
  for ind,angle in enumerate(angles):
    points.append(pya.Point(radius*np.cos(angle),radius*np.sin(angle)))
  circle = pya.SimplePolygon(points)

But apparently it's also possible to create 'exact' circles in the OASIS format. Is this true and if so, how would I code it in Python?

Many thanks,
Patrick

Comments

  • Hi Patrick,

    "exakt" circles in OASIS are produced by creating a round-ended path with a single point.

    RBA::Path::new([ RBA::Point::new(x, y) ], diameter, diameter / 2, diameter / 2, true)
    

    In GDS, these objects are special in a sense that they are circles but some tools may not understand single-point paths.

    Matthias

  • Hi Matthias,

    Great, thanks. I also thought that for conversion to writing it would be advantageous to draw polygons but our mask manufacturer specifically asked for exact circles.

    Patrick

Sign In or Register to comment.