ARef

class ipkiss3.all.ARef(reference, origin, period, n_o_periods, transformation=None, **kwargs)

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_, 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

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()

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

Returns
SizeInfo object

See also

SizeInfo

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