mxpic.components.geometry.rings#

Circular, elliptical, and bend geometry primitives.

circle#

class mxpic.components.geometry.rings.circle(radius=10, width=0.45, theta_start=0, theta_stop=360, res=0.05, angle=None, xs='strip', layer=None, sharp_patch=True, y_cut=None)#

Bases: object

# ================================================================= # @ File : <mx_frame_lib.py> # @ structure: circle ring or disk # @ Args : * radius : center radius of the ring # : * width : width of the ring # : * theta_start : start end of the ring, range [0~360], can be negative # : * theta_stop : stop end of the ring, range [0~360], can be negative # : * n_points : resolution of the polygon # : * xs : placing layer # @ located in the center of the ring # =================================================================

mx_bend#

class mxpic.components.geometry.rings.mx_bend(radius=10, width=0.45, theta_start=0, theta_stop=360, res=0.05, angle=None, xs='strip', layer=None, sharp_patch=True)#

Bases: object

Elipse_dual#

class mxpic.components.geometry.rings.Elipse_dual(ORx, ORy, IRx, IRy, offset_X=0, offset_Y=0, xs=None, layer=None, theta_start=0, theta_stop=360, sharp_patch=True, res=0.001, y_cut=None)#

Bases: object

generate_gds(sharp_patch)#

Elipse#

class mxpic.components.geometry.rings.Elipse(La=None, Lb=None, wa=None, wb=None, offset_a=0, offset_b=0, type='center', width_type='sine', layer=None, xs=None, theta_start=0, theta_stop=360, res=0.001, sharp_patch=False, show_pins=False)#

Bases: object

generate_gds(sharp_patch, show_pins)#

hole#

class mxpic.components.geometry.rings.hole(r_hole=0.3, Dx_hole=0.3, Dy_hole=0.3, Lx_sq=6, Ly_sq=6, offset=0, res=0.05, xs='strip', layer=None, sharp_patch=True, hole_shape='circle')#

Bases: object