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:
StructureRepresents 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
anchorscolorserrorslayersskeletone