Skip to content

Commit 3e87301

Browse files
FEAT: hole override (#849)
* FEAT: hole override * MISC: Auto fixes from pre-commit.com hooks For more information, see https://pre-commit.ci --------- Co-authored-by: ring630 <@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent 7061756 commit 3e87301

File tree

3 files changed

+28
-6
lines changed

3 files changed

+28
-6
lines changed

src/pyedb/configuration/cfg_padstacks.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,11 @@ def apply(self):
4747
instances_layout = self._pedb.padstacks.instances_by_name
4848
for inst in self.instances:
4949
inst_layout = instances_layout[inst.name]
50-
if inst.definition:
51-
# inst_layout.padstack_definition = inst.definition
52-
# Not supported by EDB API
53-
pass
54-
if inst.backdrill_parameters:
55-
inst_layout.backdrill_parameters = inst.backdrill_parameters
50+
data = dict()
51+
data["backdrill_parameters"] = inst.backdrill_parameters
52+
data["hole_override_enabled"] = inst.hole_override_enabled
53+
data["hole_override_diameter"] = inst.hole_override_diameter
54+
inst_layout.properties = data
5655

5756
def get_data_from_db(self):
5857
self.definitions = []
@@ -83,6 +82,8 @@ def get_data_from_db(self):
8382
id=temp["id"],
8483
position=temp["position"],
8584
rotation=temp["rotation"],
85+
hole_override_enabled=temp["hole_override_enabled"],
86+
hole_override_diameter=temp["hole_override_diameter"],
8687
)
8788
)
8889
instances = []
@@ -114,3 +115,5 @@ def __init__(self, **kwargs):
114115
self.id = kwargs.get("id", None)
115116
self.position = kwargs.get("position", [])
116117
self.rotation = kwargs.get("rotation", None)
118+
self.hole_override_enabled = kwargs.get("hole_override_enabled", None)
119+
self.hole_override_diameter = kwargs.get("hole_override_diameter", None)

src/pyedb/dotnet/edb_core/edb_data/padstacks_data.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2335,4 +2335,21 @@ def properties(self):
23352335
data["position"] = [position.X.ToString(), position.Y.ToString()]
23362336
data["rotation"] = [rotation.ToString()]
23372337
data["id"] = self.id
2338+
hole_override_enabled, hole_override_diam = self._edb_object.GetHoleOverrideValue()
2339+
data["hole_override_enabled"] = hole_override_enabled
2340+
data["hole_override_diameter"] = hole_override_diam.ToString()
23382341
return data
2342+
2343+
@properties.setter
2344+
def properties(self, params):
2345+
name = params.get("name", None)
2346+
if name:
2347+
self.aedt_name = name
2348+
backdrill_parameters = params.get("backdrill_parameters", None)
2349+
if backdrill_parameters:
2350+
self.backdrill_parameters = backdrill_parameters
2351+
h_o_enabled = params.get("hole_override_enabled", None)
2352+
h_o_enabled = h_o_enabled if h_o_enabled else self.properties["hole_override_enabled"]
2353+
h_o_diameter = params.get("hole_override_diameter")
2354+
h_o_diameter = h_o_diameter if h_o_diameter else self.properties["hole_override_diameter"]
2355+
self._edb_object.SetHoleOverride(h_o_enabled, self._pedb.edb_value(h_o_diameter))

tests/legacy/system/test_edb_configuration_2p0.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -569,6 +569,8 @@ def test_09_padstack_instance(self, edb_examples):
569569
"stub_length": "0.2mm",
570570
},
571571
},
572+
"hole_override_enabled": True,
573+
"hole_override_diameter": "0.5mm",
572574
}
573575
],
574576
}

0 commit comments

Comments
 (0)