PrimitivesQuery#

class pyedb.dotnet.database.cell.layout.PrimitivesQuery(pedb)#

Overview#

filter_primitives

Filter primitives by one or more attributes.

find_object_by_id

Find a layout object by Database ID.

get_primitive_by_layer_and_point

Return primitive given coordinate point [x, y], layer name and nets.

find_primitive

Find a primitive objects by layer name.

get_polygons_by_layer

get_polygon_bounding_box

Retrieve a polygon bounding box.

get_polygon_points

Retrieve polygon points.

get_primitives

Get primitives by conditions.

primitives_by_aedt_name

Primitives.

primitives

List of primitives.Read-Only.

zone_primitives

list of Primitive : List of all the primitives in zones.

bondwires

Bondwires.

primitives_by_layer

Get primitives by layer name.

polygons_by_layer

Get polygons by layer name.

primitives_by_net

Get primitives by net name.

rectangles

circles

paths

polygons

Import detail#

from pyedb.dotnet.database.cell.layout import PrimitivesQuery

Property detail#

property PrimitivesQuery.primitives_by_aedt_name: dict#

Primitives.

property PrimitivesQuery.primitives: list[pyedb.dotnet.database.cell.primitive.primitive.Primitive]#

List of primitives.Read-Only.

Returns:
list of dotnet.database.dotnet.primitive.PrimitiveDotNet cast objects.
property PrimitivesQuery.zone_primitives#

list of Primitive : List of all the primitives in zones.

Read-Only.

property PrimitivesQuery.bondwires: list[pyedb.dotnet.database.cell.primitive.bondwire.Bondwire]#

Bondwires.

Returns:
list

List of bondwires.

property PrimitivesQuery.primitives_by_layer: dict#

Get primitives by layer name.

Returns:
dict

Returns dict[str, list] with all specified layer names as keys organized by layer.

property PrimitivesQuery.polygons_by_layer: dict#

Get polygons by layer name.

Returns:
dict

dictionary of polygons with layer name as key and list of polygons as value.

property PrimitivesQuery.primitives_by_net: dict#

Get primitives by net name.

Returns:
dict

Returns dict[str, list] with all specified net names as keys organized by net.

property PrimitivesQuery.rectangles: list[pyedb.dotnet.database.edb_data.primitives_data.EdbRectangle]#
property PrimitivesQuery.circles: list[pyedb.dotnet.database.edb_data.primitives_data.EdbCircle]#
property PrimitivesQuery.paths: list[pyedb.dotnet.database.cell.primitive.path.Path]#
property PrimitivesQuery.polygons: list[pyedb.dotnet.database.edb_data.primitives_data.EdbPolygon]#

Method detail#

PrimitivesQuery.filter_primitives(layer_name: str | list = None, name: str | list = None, net_name: str | list = None, prim_type: str | list = None, is_void: bool | None = None) list[pyedb.dotnet.database.cell.primitive.primitive.Primitive]#

Filter primitives by one or more attributes.

Parameters:
layer_namestr, list, optional

Layer name or layer names.

namestr, list, optional

Primitive AEDT name or names.

net_namestr, list, optional

Net name or net names.

prim_typestr, list, optional

Primitive type or primitive types. Both lowercase values like "polygon" and EDB-style values like "Polygon" are accepted.

is_voidbool, optional

Void flag filter. When None, void state is not used as a filter.

Returns:
list[Primitive]

Filtered primitives.

PrimitivesQuery.find_object_by_id(value: int) pyedb.dotnet.database.edb_data.padstacks_data.EDBPadstackInstance | pyedb.dotnet.database.cell.primitive.primitive.Primitive | None#

Find a layout object by Database ID.

Parameters:
valueint

ID of the object.

PrimitivesQuery.get_primitive_by_layer_and_point(point=None, layer=None, nets=None)#

Return primitive given coordinate point [x, y], layer name and nets.

Parameters:
pointlist

Coordinate [x, y]

layerlist or str, optional

list of layer name or layer name applied on filter.

netslist or str, optional

list of net name or single net name applied on filter

Returns:
list of pyedb.dotnet.database.edb_data.primitives_data.Primitive

List of primitives, polygons, paths and rectangles.

PrimitivesQuery.find_primitive(layer_name: str | list = None, name: str | list = None, net_name: str | list = None) list[pyedb.dotnet.database.cell.primitive.primitive.Primitive]#

Find a primitive objects by layer name.

Parameters:
layer_namestr, list, optional

Name of the layer.

namestr, list, optional

Name of the primitive

net_namestr, list, optional

Name of the primitive

pointtuple[float, float], optional

Coordinate point (x, y) to find primitives at a specific location. If provided, only primitives that contain this point will be returned.

Returns
——-
list
PrimitivesQuery.get_polygons_by_layer(layer, nets=None) list[pyedb.dotnet.database.edb_data.primitives_data.EdbPolygon]#
PrimitivesQuery.get_polygon_bounding_box(polygon) list[float] | None#

Retrieve a polygon bounding box.

Parameters:
polygon

Polygon object.

Returns:
List of bounding box coordinates in the format [-x, -y, +x, +y].

Examples

>>> poly = database.modeler.get_polygons_by_layer("GND")
>>> bounding = database.modeler.get_polygon_bounding_box(poly[0])
PrimitivesQuery.get_polygon_points(polygon) list[list[float]]#

Retrieve polygon points.

Note

For arcs, one point is returned.

Parameters:
polygon

class: dotnet.database.edb_data.primitives_data.Primitive

Returns:
List of tuples. Each tuple provides x, y point coordinate. If the length of two consecutives tuples
from the list equals 2, a segment is defined. The first tuple defines the starting point while the second
tuple the ending one. If the length of one tuple equals one, that means a polyline is defined and the value
is giving the arc height. Therefore to polyline is defined as starting point for the tuple
before in the list, the current one the arc height and the tuple after the polyline ending point.

Examples

>>> poly = database.modeler.get_polygons_by_layer("GND")
>>> points = database.modeler.get_polygon_points(poly[0])
PrimitivesQuery.get_primitives(net_name=None, layer_name=None, prim_type=None, is_void=False) list[pyedb.dotnet.database.cell.primitive.primitive.Primitive]#

Get primitives by conditions.

Parameters:
net_namestr, optional

Set filter on net_name. Default is None.

layer_namestr, optional

Set filter on layer_name. Default is None.

prim_typestr, optional

Set filter on primitive type. Default is None.

is_voidbool

Set filter on is_void. Default is ‘False'

Returns
——-
List of filtered primitives