PadstackDef#

class pyedb.grpc.database.definition.padstack_def.PadstackDef(pedb, edb_object)#

Manages EDB functionalities for a padstack.

Parameters:
edb_padstack
ppadstackstr

Inherited AEDT object.

Examples

>>> from pyedb import Edb
>>> edb = Edb("myedb", version="2026.1")
>>> edb_padstack = edb.padstacks.definitions["MyPad"]

Overview#

create

Create a new padstack definition.

convert_to_3d_microvias

Convert actual padstack instance to microvias 3D Objects with a given aspect ratio.

split_to_microvias

Convert actual padstack definition to multiple microvias definitions.

get_pad_parameters

Pad parameters.

set_pad_parameters

get_hole_parameters

set_hole_parameters

get_solder_parameters

set_solder_parameters

id

Padstack definition ID.

is_null

Check if the padstack definition is null.

instances

Definitions Instances.

name

Padstack definition name.

data

Padstack definition data.

layers

Layers.

start_layer

Starting layer.

via_start_layer

Via starting layer.

stop_layer

Stopping layer.

via_stop_layer

Via stop layer.

material

Return hole material name.

hole_diameter

Hole diameter.

hole_type

Holy type.

edb_hole_type

EDB hole type.

hole_offset_x

Hole offset for the X axis.

hole_offset_y

Hole offset for the Y axis.

hole_rotation

Hole rotation.

pad_by_layer

Pad by layer.

antipad_by_layer

Antipad by layer.

thermalpad_by_layer

Thermal by layer.

hole_plating_ratio

Hole plating ratio.

hole_plating_thickness

Hole plating thickness.

hole_finished_size

Finished hole size.

hole_range

Get hole range value from padstack definition.

Import detail#

from pyedb.grpc.database.definition.padstack_def import PadstackDef

Property detail#

property PadstackDef.id: int#

Padstack definition ID.

property PadstackDef.is_null#

Check if the padstack definition is null.

property PadstackDef.instances: list[pyedb.grpc.database.primitive.padstack_instance.PadstackInstance]#

Definitions Instances.

Returns:
List[PadstackInstance]

Dict of PadstackInstance objects.

property PadstackDef.name#

Padstack definition name.

property PadstackDef.data#

Padstack definition data.

Returns:
PadstackDef

Padstack definition data object.

property PadstackDef.layers: list[str]#

Layers.

Returns:
list[str]

List of layer names.

property PadstackDef.start_layer#

Starting layer.

Returns:
str

Name of the starting layer.

property PadstackDef.via_start_layer#

Via starting layer.

.deprecated Use: :method:`start_layer ` instead.

Returns:
str

Name of the via starting layer.

property PadstackDef.stop_layer#

Stopping layer.

Returns:
str

Name of the stopping layer.

property PadstackDef.via_stop_layer#

Via stop layer.

.deprecated Use :method:`stop_layer ` instead.

Returns:
str

Name of the via stop layer.

property PadstackDef.material#

Return hole material name.

Returns:
str

Hole material name.

property PadstackDef.hole_diameter: float | None#

Hole diameter.

Returns:
float

Diameter value.

property PadstackDef.hole_type: float#

Holy type.

Returns:
float

hole type.

property PadstackDef.edb_hole_type#

EDB hole type.

Returns:
str

Hole type.

property PadstackDef.hole_offset_x: float#

Hole offset for the X axis.

Returns:
float

Hole offset value for the X axis.

property PadstackDef.hole_offset_y: float#

Hole offset for the Y axis.

Returns:
float

Hole offset value for the Y axis.

property PadstackDef.hole_rotation: float#

Hole rotation.

Returns:
float

Value for the hole rotation.

property PadstackDef.pad_by_layer: dict[str, PadProperties]#

Pad by layer.

Returns:
Dict[str, PadProperties]

Dictionary with layer as key and PadProperties as value.

property PadstackDef.antipad_by_layer: dict[str, PadProperties]#

Antipad by layer.

Returns:
Dict[str, PadProperties]

Dictionary with layer as key and PadProperties as value.

property PadstackDef.thermalpad_by_layer: dict[str, PadProperties]#

Thermal by layer.

Returns:
Dict[str, PadProperties]

Dictionary with layer as key and PadProperties as value.

property PadstackDef.hole_plating_ratio: float#

Hole plating ratio.

Returns:
float

Percentage for the hole plating.

property PadstackDef.hole_plating_thickness: float#

Hole plating thickness.

Returns:
float

Thickness of the hole plating if present.

property PadstackDef.hole_finished_size: float#

Finished hole size.

Returns:
float

Finished size of the hole (Total Size + PlatingThickess*2).

property PadstackDef.hole_range: str | None#

Get hole range value from padstack definition.

Returns:
str

Possible returned values are "through", "begin_on_upper_pad", "end_on_lower_pad", "upper_pad_to_lower_pad", and "undefined".

Attribute detail#

PadstackDef.core#
PadstackDef.PAD_SHAPE_PARAMETERS#
PadstackDef.PAD_SHAPE_KEYS#
PadstackDef.SOLDER_SHAPE_TYPE#
PadstackDef.SOLDER_PLACEMENT#

Method detail#

classmethod PadstackDef.create(edb, name: str)#

Create a new padstack definition.

PadstackDef.convert_to_3d_microvias(convert_only_signal_vias=True, hole_wall_angle=15, delete_padstack_def=True) bool#

Convert actual padstack instance to microvias 3D Objects with a given aspect ratio.

Parameters:
convert_only_signal_viasbool, optional

Either to convert only vias belonging to signal nets or all vias. Defaults is True.

hole_wall_anglefloat, optional

Angle of laser penetration in degrees. The angle defines the lowest hole diameter with this formula: HoleDiameter -2*tan(laser_angle* Hole depth). Hole depth is the height of the via (dielectric thickness). The default is 15. The lowest hole is 0.75*HoleDepth/HoleDiam.

delete_padstack_defbool, optional

Whether to delete the padstack definition. The default is True. If False, the padstack definition is not deleted and the hole size is set to zero.

Returns:
True when successful, False when failed.
PadstackDef.split_to_microvias() list[pyedb.grpc.database.primitive.padstack_instance.PadstackInstance] | bool#

Convert actual padstack definition to multiple microvias definitions.

Returns:
List[PadstackInstance]
PadstackDef.get_pad_parameters()#

Pad parameters.

Returns:
dict

params = { ‘regular_pad’: [

{‘layer_name’: ‘1_Top’, ‘shape’: ‘circle’, ‘offset_x’: ‘0.1mm’, ‘offset_y’: ‘0’, ‘rotation’: ‘0’, ‘diameter’: ‘0.5mm’}

], ‘anti_pad’: [

{‘layer_name’: ‘1_Top’, ‘shape’: ‘circle’, ‘offset_x’: ‘0’, ‘offset_y’: ‘0’, ‘rotation’: ‘0’, ‘diameter’: ‘1mm’}

], ‘thermal_pad’: [

{‘layer_name’: ‘1_Top’, ‘shape’: ‘round90’, ‘offset_x’: ‘0’, ‘offset_y’: ‘0’, ‘rotation’: ‘0’, ‘inner’: ‘1mm’, ‘channel_width’: ‘0.2mm’, ‘isolation_gap’: ‘0.3mm’},

], ‘hole’: [

{‘layer_name’: ‘1_Top’, ‘shape’: ‘circle’, ‘offset_x’: ‘0’, ‘offset_y’: ‘0’, ‘rotation’: ‘0’,

‘diameter’: ‘0.1499997mm’},

]

}
PadstackDef.set_pad_parameters(param)#
PadstackDef.get_hole_parameters()#
PadstackDef.set_hole_parameters(params)#
PadstackDef.get_solder_parameters()#
PadstackDef.set_solder_parameters(parameters)#