Skip to content

FEATURE: Clean up message creation #402

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 26 commits into from
Jun 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
8106594
FEATURE: Clean up message creation in bondwire_def.py
chenchienjacklin Jun 12, 2024
62dd848
FEATURE: Clean up message creation in padstack_def.py padstack_def_da…
chenchienjacklin Jun 13, 2024
1d939d5
FEATURE: Clean up message creation in solder_ball_property.py
chenchienjacklin Jun 13, 2024
12f14f0
FEATURE: Clean up message creation in multipole_debye_model.py
chenchienjacklin Jun 13, 2024
f641ef3
FEATURE: Clean up message creation in debye_model.py
chenchienjacklin Jun 13, 2024
49bc840
FEATURE: Clean up message creation in material_property_thermal_modif…
chenchienjacklin Jun 13, 2024
11f448d
FEATURE: Clean up message creation in bondwire_def.py
chenchienjacklin Jun 13, 2024
7ed341b
FEATURE: Clean up message creation in padstack_def.py padstack_def_da…
chenchienjacklin Jun 13, 2024
b11af05
FEATURE: Clean up message creation in debye_model.py
chenchienjacklin Jun 13, 2024
f3cfb5a
FEATURE: Clean up message creation in padstack_def_data.py
chenchienjacklin Jun 13, 2024
02b5ff8
FEATURE: Clean up message creation in material_def.py
chenchienjacklin Jun 13, 2024
8c314fb
FEATURE: Clean up message creation in r_tree.py
chenchienjacklin Jun 13, 2024
7b14bee
FEATURE: Clean up message creation in conn_obj.py
chenchienjacklin Jun 13, 2024
2a241c4
FEATURE: Clean up message creation in layout_obj.py
chenchienjacklin Jun 13, 2024
680593e
FEATURE: Clean up message creation in cell.py
chenchienjacklin Jun 13, 2024
87afe53
FEATURE: Clean up message creation in voltage_regulator.py
chenchienjacklin Jun 13, 2024
b9b40c1
FEATURE: Clean up message creation in extended_net.py
chenchienjacklin Jun 13, 2024
ec1df18
FEATURE: Clean up message creation in net_class.py
chenchienjacklin Jun 13, 2024
44c9f4d
FEATURE: Clean up message creation in layer_map.py
chenchienjacklin Jun 13, 2024
fde0cea
FEATURE: Clean up message creation in transform.py
chenchienjacklin Jun 13, 2024
867cf63
FEATURE: Clean up message creation in transform3d.py
chenchienjacklin Jun 13, 2024
98a5c0b
FEATURE: Clean up message creation in primitive.py
chenchienjacklin Jun 13, 2024
24f240a
FEATURE: Clean up message creation in primitive.py
chenchienjacklin Jun 13, 2024
ece00b3
FEATURE: Clean up message creation in primitive.py
chenchienjacklin Jun 13, 2024
2d0d51e
FEATURE: Clean up message creation in primitive.py
chenchienjacklin Jun 13, 2024
379b90b
FEATURE: Clean up message creation in primitive.py
chenchienjacklin Jun 13, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
110 changes: 32 additions & 78 deletions src/ansys/edb/core/definition/bondwire_def.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,39 +11,6 @@
from ansys.edb.core.utility.value import Value


class _QueryBuilder:
@staticmethod
def bondwire_def_type(type):
"""Create a bondwire type message.

Parameters
----------
type : BondwireDefType

Returns
-------
pb.BondwireDefTypeMessage
"""
return pb.BondwireDefTypeMessage(
type=type,
)

@staticmethod
def bondwire_def_str_message(obj, string):
"""Create a bondwire definition string message.

Parameters
----------
obj : Union[Database, 'ApdBondwireDef', 'Jedec4BondwireDef', 'Jedec5BondwireDef']
string : str

Returns
-------
pb.BondwireDefStrMessage
"""
return pb.BondwireDefStrMessage(object=obj.msg, name=string)


class BondwireDefType(Enum):
"""Enum representing different types of bondwires."""

Expand Down Expand Up @@ -74,6 +41,21 @@ def delete(self):
"""Delete the bondwire definition."""
self.__stub.Delete(self.msg)

@staticmethod
def _bondwire_def_str_message(obj, string):
"""Create a bondwire definition string message.

Parameters
----------
obj : Union[Database, 'ApdBondwireDef', 'Jedec4BondwireDef', 'Jedec5BondwireDef']
string : str

Returns
-------
pb.BondwireDefStrMessage
"""
return pb.BondwireDefStrMessage(object=obj.msg, name=string)


class ApdBondwireDef(BondwireDef):
"""Represents an APD bondwire definition."""
Expand All @@ -98,7 +80,7 @@ def create(cls, database, name):
ApdBondwireDef
APD bondwire definition created.
"""
bw_msg = cls.__stub.Create(_QueryBuilder.bondwire_def_str_message(database, name))
bw_msg = cls.__stub.Create(BondwireDef._bondwire_def_str_message(database, name))
return ApdBondwireDef(bw_msg)

@classmethod
Expand All @@ -112,7 +94,7 @@ def load_definitions_from_file(cls, database, name):
name : str
Name of the APD bondwire definition.
"""
cls.__stub.LoadDefinitionsFromFile(_QueryBuilder.bondwire_def_str_message(database, name))
cls.__stub.LoadDefinitionsFromFile(BondwireDef._bondwire_def_str_message(database, name))

@classmethod
def find_by_name(cls, database, name):
Expand All @@ -131,7 +113,7 @@ def find_by_name(cls, database, name):
APD bondwire definition found.
"""
return ApdBondwireDef(
cls.__stub.FindByName(_QueryBuilder.bondwire_def_str_message(database, name))
cls.__stub.FindByName(BondwireDef._bondwire_def_str_message(database, name))
)

def get_parameters(self):
Expand All @@ -152,7 +134,7 @@ def set_parameters(self, name):
name : str
String block of the bondwire parameters.
"""
self.__stub.SetParameters(_QueryBuilder.bondwire_def_str_message(self, name))
self.__stub.SetParameters(BondwireDef._bondwire_def_str_message(self, name))

@property
def bondwire_type(self):
Expand All @@ -163,15 +145,6 @@ def bondwire_type(self):
return BondwireDefType.APD_BONDWIRE_DEF


class _Jedec4QueryBuilder:
@staticmethod
def jedec4_bondwire_def_set_parameters_message(j, top_to_die_distance):
return pb.Jedec4BondwireDefSetParametersMessage(
target=j.msg,
top_to_die_distance=messages.value_message(top_to_die_distance),
)


class Jedec4BondwireDef(BondwireDef):
"""Represents a JEDEC4 bondwire definition."""

Expand All @@ -196,7 +169,7 @@ def create(cls, database, name):
JEDEC4 bondwire definition created.
"""
return Jedec4BondwireDef(
cls.__stub.Create(_QueryBuilder.bondwire_def_str_message(database, name))
cls.__stub.Create(BondwireDef._bondwire_def_str_message(database, name))
)

@classmethod
Expand All @@ -216,7 +189,7 @@ def find_by_name(cls, database, name):
JEDEC4 bondwire definition found.
"""
return Jedec4BondwireDef(
cls.__stub.FindByName(_QueryBuilder.bondwire_def_str_message(database, name))
cls.__stub.FindByName(BondwireDef._bondwire_def_str_message(database, name))
)

def get_parameters(self):
Expand All @@ -238,8 +211,8 @@ def set_parameters(self, top_to_die_distance):
Bondwire top-to-die distance.
"""
self.__stub.SetParameters(
_Jedec4QueryBuilder.jedec4_bondwire_def_set_parameters_message(
self, top_to_die_distance
pb.Jedec4BondwireDefSetParametersMessage(
target=self.msg, top_to_die_distance=messages.value_message(top_to_die_distance)
)
)

Expand All @@ -252,30 +225,6 @@ def bondwire_type(self):
return BondwireDefType.JEDEC4_BONDWIRE_DEF


class _Jedec5QueryBuilder:
@staticmethod
def jedec5_bondwire_def_parameters_message(top_to_die_distance, die_pad_angle, lead_pad_angle):
return pb.Jedec5BondwireDefParametersMessage(
top_to_die_distance=messages.value_message(top_to_die_distance),
die_pad_angle=messages.value_message(die_pad_angle),
lead_pad_angle=messages.value_message(lead_pad_angle),
)

@staticmethod
def jedec5_bondwire_def_set_parameters_message(
j,
top_to_die_distance,
die_pad_angle,
lead_pad_angle,
):
return pb.Jedec5BondwireDefSetParametersMessage(
target=j.msg,
parameters=_Jedec5QueryBuilder.jedec5_bondwire_def_parameters_message(
top_to_die_distance, die_pad_angle, lead_pad_angle
),
)


class Jedec5BondwireDef(BondwireDef):
"""Represents a JEDEC5 bondwire definition."""

Expand All @@ -300,7 +249,7 @@ def create(cls, database, name):
JEDEC5 bondwire definition created.
"""
return Jedec5BondwireDef(
cls.__stub.Create(_QueryBuilder.bondwire_def_str_message(database, name))
cls.__stub.Create(BondwireDef._bondwire_def_str_message(database, name))
)

@classmethod
Expand All @@ -320,7 +269,7 @@ def find_by_name(cls, database, name):
JEDEC5 bondwire definition found.
"""
return Jedec5BondwireDef(
cls.__stub.FindByName(_QueryBuilder.bondwire_def_str_message(database, name))
cls.__stub.FindByName(BondwireDef._bondwire_def_str_message(database, name))
)

def get_parameters(self):
Expand Down Expand Up @@ -355,8 +304,13 @@ def set_parameters(self, top_to_die_distance, die_pad_angle, lead_pad_angle):
Bondwire lead pad angle.
"""
self.__stub.SetParameters(
_Jedec5QueryBuilder.jedec5_bondwire_def_set_parameters_message(
self, top_to_die_distance, die_pad_angle, lead_pad_angle
pb.Jedec5BondwireDefSetParametersMessage(
target=self.msg,
parameters=pb.Jedec5BondwireDefParametersMessage(
top_to_die_distance=messages.value_message(top_to_die_distance),
die_pad_angle=messages.value_message(die_pad_angle),
lead_pad_angle=messages.value_message(lead_pad_angle),
),
)
)

Expand Down
36 changes: 16 additions & 20 deletions src/ansys/edb/core/definition/debye_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,21 +8,6 @@
from ansys.edb.core.inner import messages


class _DebyeModelQueryBuilder:
@staticmethod
def frequency_range_message(low, high):
return pb.FrequencyRangeMessage(
low=messages.double_message(low), high=messages.double_message(high)
)

@staticmethod
def set_frequency_range_message(target, low, high):
return pb.SetFrequencyRangeMessage(
target=target.msg,
range=_DebyeModelQueryBuilder.frequency_range_message(low, high),
)


class DebyeModel(DielectricMaterialModel):
"""Representa a Debye dielectric material model object."""

Expand Down Expand Up @@ -50,9 +35,7 @@ def frequency_range(self):
def frequency_range(self, freq):
low = freq[0]
high = freq[1]
self.__stub.SetFrequencyRange(
_DebyeModelQueryBuilder.set_frequency_range_message(self, low, high)
)
self.__stub.SetFrequencyRange(DebyeModel._set_frequency_range_message(self, low, high))

@property
def relative_permitivity_at_high_low_frequency(self):
Expand All @@ -67,7 +50,7 @@ def relative_permitivity_at_high_low_frequency(self, freq):
low = freq[0]
high = freq[1]
self.__stub.SetRelativePermitivityAtHighLowFrequency(
_DebyeModelQueryBuilder.set_frequency_range_message(self, low, high)
DebyeModel._set_frequency_range_message(self, low, high)
)

@property
Expand All @@ -81,7 +64,7 @@ def loss_tangent_at_high_low_frequency(self, freq):
low = freq[0]
high = freq[1]
self.__stub.SetLossTangentAtHighLowFrequency(
_DebyeModelQueryBuilder.set_frequency_range_message(self, low, high)
DebyeModel._set_frequency_range_message(self, low, high)
)

@property
Expand Down Expand Up @@ -123,3 +106,16 @@ def dc_conductivity(self):
@dc_conductivity.setter
def dc_conductivity(self, conductivity):
self.__stub.SetDCConductivity(messages.double_property_message(self, conductivity))

@staticmethod
def _frequency_range_message(low, high):
return pb.FrequencyRangeMessage(
low=messages.double_message(low), high=messages.double_message(high)
)

@staticmethod
def _set_frequency_range_message(target, low, high):
return pb.SetFrequencyRangeMessage(
target=target.msg,
range=DebyeModel._frequency_range_message(low, high),
)
Loading
Loading