ARef

class ipkiss3.all.ARef

Array reference: places the referenced layout view in a regular 2D array.

Parameters:
n_o_periods: Tuple of <class ‘int’> and length == 2, required

Number of periods (Nx, Ny)

period: Coord2, required

Period of the array (period_x, period_y)

reference: _LayoutView, required
origin: Coord2, optional

Origin of the array

flatten: ( bool, bool_ or int ), optional

if True, it will insert the references elements on export, rather than the reference itself

name: ( String that contains only alphanumeric characters from the ASCII set or contains _$<>. ASCII set is extended on PY3. ), optional, *None allowed*

Unique name of the instance within the scope of the View/Cell

owner: ( _View ), optional, *None allowed*

link to the owner of the instance.In most cases this is automatically added by the _generate_instances method

transformation: GenericNoDistortTransform, optional
Other Parameters:
positions: locked

positions where the reference needs to be placed, with transformation applied.

Notes

The positions property gives the positions as a flat array of coordinates, which needs to be indexed in row, column format: position = aref.positions[row * ncolumns + column]

move(position)

Moves this element over a given vector

Parameters:
positionCoord2 or tuple

Vector (x,y) for the translation

Returns:
This Element object
size_info(layers=None)

Returns the SizeInfo object corresponding to the footprint of this element.

Parameters:
layers: list, optional

The layers to be included, default is None (all layers)

Returns:
SizeInfo object
convex_hull()

returns the Shape object corresponding to the complex hull of this Element

Returns:
Shape object

See also

Shape
flat_copy(level=-1)

Returns a flattened copy of the Element. (recursive)

Parameters:
levelHow many levels deep should the element be flattened. -1 means all levels (default)
Returns:
ElementList object
is_empty()

returns True is the content of the Element is empty