From c3054d9f6f67d926aa097b9ddd6085e782a78f6d Mon Sep 17 00:00:00 2001 From: ring630 <@gmail.com> Date: Thu, 14 Nov 2024 16:03:53 +0100 Subject: [PATCH 1/2] FEAT: edb cfg create polygon --- src/pyedb/configuration/cfg_modeler.py | 17 ++++++++++-- .../system/test_edb_configuration_2p0.py | 27 ++++++++++++------- 2 files changed, 32 insertions(+), 12 deletions(-) diff --git a/src/pyedb/configuration/cfg_modeler.py b/src/pyedb/configuration/cfg_modeler.py index 4e961f6e4a..edee94dc2f 100644 --- a/src/pyedb/configuration/cfg_modeler.py +++ b/src/pyedb/configuration/cfg_modeler.py @@ -43,12 +43,17 @@ def __init__(self, **kwargs): self.layer = kwargs["layer"] self.net_name = kwargs.get("net_name", "") self.type = kwargs.get("type", "rectangle") - self.lower_left_point = kwargs["lower_left_point"] - self.upper_right_point = kwargs["upper_right_point"] + + # rectangle + self.lower_left_point = kwargs.get("lower_left_point", []) + self.upper_right_point = kwargs.get("upper_right_point", []) self.corner_radius = kwargs.get("corner_radius", 0) self.rotation = kwargs.get("rotation", 0) self.voids = kwargs.get("voids", []) + # polygon + self.points = kwargs.get("points", []) + class CfgModeler: """Manage configuration general settings.""" @@ -110,6 +115,14 @@ def apply(self): rotation=p.rotation, ) obj.aedt_name = p.name + elif p.type == "polygon": + obj = self._pedb.modeler.create_polygon( + main_shape=p.points, + layer_name=p.layer, + net_name=p.net_name + ) + obj.aedt_name = p.name + for v in p.voids: for i in self._pedb.layout.primitives: if i.aedt_name == v: diff --git a/tests/legacy/system/test_edb_configuration_2p0.py b/tests/legacy/system/test_edb_configuration_2p0.py index 94bd0e0eb4..ae4d2bf149 100644 --- a/tests/legacy/system/test_edb_configuration_2p0.py +++ b/tests/legacy/system/test_edb_configuration_2p0.py @@ -1173,14 +1173,20 @@ def test_18_modeler(self, edb_examples): }, ], "planes": [ - { - "name": "GND_TOP", - "layer": "TOP", - "net_name": "GND", - "lower_left_point": [0, 0], - "upper_right_point": [0, "12mm"], - "voids": ["trace_1_void"], - }, + {"type": "rectangle", + "name": "GND_TOP", + "layer": "TOP", + "net_name": "GND", + "lower_left_point": [0, 0], + "upper_right_point": ["12mm", "12mm"], + "voids": ["trace_1_void"], + }, + {"type": "polygon", + "name": "GND_TOP_POLY", + "layer": "TOP", + "net_name": "GND", + "points": [["12mm", 0],["13mm", 0],["12mm", "12mm"]], + }, ], "components": [ { @@ -1204,8 +1210,9 @@ def test_18_modeler(self, edb_examples): edbapp.stackup.create_symmetric_stackup(2) edbapp.configuration.load(data, apply_file=True) assert [i for i in edbapp.layout.primitives if i.aedt_name == "trace_1"] - plane = [i for i in edbapp.layout.primitives if i.aedt_name == "GND_TOP"][0] - assert plane.voids + rect = [i for i in edbapp.layout.primitives if i.aedt_name == "GND_TOP"][0] + assert rect.voids + assert [i for i in edbapp.layout.primitives if i.aedt_name == "GND_TOP_POLY"][0] assert edbapp.components["U1"] edbapp.close() From 3625abaa09d80a2ce3a8c6dc5d58c19e37e570fb Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 14 Nov 2024 15:05:30 +0000 Subject: [PATCH 2/2] MISC: Auto fixes from pre-commit.com hooks For more information, see https://pre-commit.ci --- src/pyedb/configuration/cfg_modeler.py | 4 +-- .../system/test_edb_configuration_2p0.py | 30 ++++++++++--------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/pyedb/configuration/cfg_modeler.py b/src/pyedb/configuration/cfg_modeler.py index edee94dc2f..7f36e28cc7 100644 --- a/src/pyedb/configuration/cfg_modeler.py +++ b/src/pyedb/configuration/cfg_modeler.py @@ -117,9 +117,7 @@ def apply(self): obj.aedt_name = p.name elif p.type == "polygon": obj = self._pedb.modeler.create_polygon( - main_shape=p.points, - layer_name=p.layer, - net_name=p.net_name + main_shape=p.points, layer_name=p.layer, net_name=p.net_name ) obj.aedt_name = p.name diff --git a/tests/legacy/system/test_edb_configuration_2p0.py b/tests/legacy/system/test_edb_configuration_2p0.py index ae4d2bf149..851384b38c 100644 --- a/tests/legacy/system/test_edb_configuration_2p0.py +++ b/tests/legacy/system/test_edb_configuration_2p0.py @@ -1173,20 +1173,22 @@ def test_18_modeler(self, edb_examples): }, ], "planes": [ - {"type": "rectangle", - "name": "GND_TOP", - "layer": "TOP", - "net_name": "GND", - "lower_left_point": [0, 0], - "upper_right_point": ["12mm", "12mm"], - "voids": ["trace_1_void"], - }, - {"type": "polygon", - "name": "GND_TOP_POLY", - "layer": "TOP", - "net_name": "GND", - "points": [["12mm", 0],["13mm", 0],["12mm", "12mm"]], - }, + { + "type": "rectangle", + "name": "GND_TOP", + "layer": "TOP", + "net_name": "GND", + "lower_left_point": [0, 0], + "upper_right_point": ["12mm", "12mm"], + "voids": ["trace_1_void"], + }, + { + "type": "polygon", + "name": "GND_TOP_POLY", + "layer": "TOP", + "net_name": "GND", + "points": [["12mm", 0], ["13mm", 0], ["12mm", "12mm"]], + }, ], "components": [ {