StraightLine

Contents

StraightLine#

class zeroheliumkit.src.geometries.StraightLine(anchors: tuple = None, lendir: tuple = None, layers: dict = None, alabel: tuple = None, cap_style: str = 'square', **kwargs)[source]#

Bases: Structure

Represents a straight line ‘polygons’ in different layers.

Parameters:
  • anchors (tuple, optional) – Two anchors that define the start and end of the line.

  • lendir (tuple, optional) – A tuple containing the length and direction (in degrees) of the line.

  • layers (dict, optional) – A dictionary containing the names of the layers and their corresponding widths.

  • alabel (tuple, optional) – A tuple containing labels for the start and end anchors.

  • cap_style (str, optional) – The style of line ending. Valid options are ‘square’, ‘round’, or ‘flat’.

Raises:
  • NameError – If the provided cap_style is not one of ‘square’, ‘round’, or ‘flat’.

  • AttributeError – If neither ‘anchors’ nor ‘lendir’ is provided, or if both are provided.

Examples

>>> # Create a straight line with anchors
>>> line = StraightLine(anchors=((0, 0), (10, 10)), cap_style='round')
>>> # Create a straight line with length and direction
>>> line = StraightLine(lendir=(5, 45), cap_style='square')
>>> # Create a straight line with layers and anchor labels
>>> line = StraightLine(anchors=((0, 0), (10, 10)), layers={'layer1': 1, 'layer2': 2}, alabel=('start', 'end'))

Methods

add(layer)

Adds a layer to the class with the given name and geometry.

append(structure[, anchoring, ...])

Appends an Entity or Structure to the Structure.

clean()

Removes all layers with empty polygons

copy([rename_anchors, with_suffix])

Creates a deep copy of the Entity instance.

crop(geom[, loc])

Crops polygons in all layers.

cut(geom[, loc])

Cuts the specified polygon from polygons in all layers.

export_dict([remove_holes])

Returns all layer names and their corresponding geometries in a Dictionary.

export_dxf(filename, layer_cfg)

Exports layers as a DXF file.

export_gds(filename, layer_cfg)

Exports all layers as a GDS file.

export_pickle(filename)

Exports all layers as a pickle file.

get(lname)

Retrieves a layer by its name.

has_layer(name)

Check if a layer exists in the class.

mirror(aroundaxis[, keep_original, ...])

Mirror all objects around a specified axis.

move(dx, dy)

Moves all objects in the class by the specified (dx, dy) offset.

quickplot([size, color_config, zoom, ...])

Plots the Entity object with predefined colors for each layer.

remove(lname)

Removes a layer from the class.

rename(old, new)

Changes the name of a layer/attribute in the class.

return_mirrored(aroundaxis, **kwargs)

Returns a mirrored copy of the Structure class.

rotate([angle, origin])

Rotates all objects in the class

scale([xfact, yfact, origin])

Scales all objects by the specified factors along the x and y axes.

slice(slice_line)

Slices polygons in a layer using a given line.

snap_to(point_from, point_to)

Snaps all objects in the class so that point_from aligns with point_to.

Attributes

anchors

colors

errors

layers

skeletone