From 42efee6996ebd6a7324f0164992bc7ac574711af Mon Sep 17 00:00:00 2001 From: svandenb-dev Date: Wed, 5 Nov 2025 13:36:14 +0100 Subject: [PATCH 1/6] component bounding box wrong formating --- src/pyedb/grpc/database/hierarchy/component.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pyedb/grpc/database/hierarchy/component.py b/src/pyedb/grpc/database/hierarchy/component.py index c88d35150d..c76bb06f62 100644 --- a/src/pyedb/grpc/database/hierarchy/component.py +++ b/src/pyedb/grpc/database/hierarchy/component.py @@ -763,7 +763,7 @@ def location(self, value): super(Component, self.__class__).location.__set__(self, _location) @property - def bounding_box(self) -> list[float]: + def bounding_box(self) -> tuple[tuple[float, float], tuple[float, float]]: """Component's bounding box. Returns @@ -776,7 +776,7 @@ def bounding_box(self) -> list[float]: bbox = self.component_instance.get_bbox().points pt1 = bbox[0] pt2 = bbox[2] - return [Value(pt1.x), Value(pt1.y), Value(pt2.x), Value(pt2.y)] + return (Value(pt1.x), Value(pt1.y)), (Value(pt2.x), Value(pt2.y)) @property def rotation(self) -> float: From 7c4c57db1aec69ea40db65fa55de4d15019b40bb Mon Sep 17 00:00:00 2001 From: pyansys-ci-bot <92810346+pyansys-ci-bot@users.noreply.github.com> Date: Wed, 5 Nov 2025 12:39:24 +0000 Subject: [PATCH 2/6] chore: adding changelog file 1630.fixed.md [dependabot-skip] --- doc/changelog.d/1630.fixed.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 doc/changelog.d/1630.fixed.md diff --git a/doc/changelog.d/1630.fixed.md b/doc/changelog.d/1630.fixed.md new file mode 100644 index 0000000000..84cf8eaece --- /dev/null +++ b/doc/changelog.d/1630.fixed.md @@ -0,0 +1 @@ +Component bounding box wrong formating From 9d93935eaf268c37f023dacaa0974a81c89060a0 Mon Sep 17 00:00:00 2001 From: svandenb-dev Date: Fri, 14 Nov 2025 15:14:46 +0100 Subject: [PATCH 3/6] grpc padstack instance bbox test fix --- src/pyedb/grpc/database/hierarchy/component.py | 8 ++++---- src/pyedb/workflows/drc/drc.py | 5 ++++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/pyedb/grpc/database/hierarchy/component.py b/src/pyedb/grpc/database/hierarchy/component.py index c76bb06f62..f6a139a832 100644 --- a/src/pyedb/grpc/database/hierarchy/component.py +++ b/src/pyedb/grpc/database/hierarchy/component.py @@ -1199,10 +1199,10 @@ def create_clearance_on_component(self, extra_soldermask_clearance=1e-4) -> bool bool """ bounding_box = self.bounding_box - opening = [bounding_box[0] - extra_soldermask_clearance] - opening.append(bounding_box[1] - extra_soldermask_clearance) - opening.append(bounding_box[2] + extra_soldermask_clearance) - opening.append(bounding_box[3] + extra_soldermask_clearance) + opening = [bounding_box[0][0] - extra_soldermask_clearance] + opening.append(bounding_box[0][1] - extra_soldermask_clearance) + opening.append(bounding_box[1][0] + extra_soldermask_clearance) + opening.append(bounding_box[1][1] + extra_soldermask_clearance) comp_layer = self.layer layer_names = list(self._pedb.stackup.layers.keys()) diff --git a/src/pyedb/workflows/drc/drc.py b/src/pyedb/workflows/drc/drc.py index b43dda73c8..e57684156e 100644 --- a/src/pyedb/workflows/drc/drc.py +++ b/src/pyedb/workflows/drc/drc.py @@ -398,7 +398,10 @@ def _build_spatial_index(self) -> None: for i, via in enumerate(self.edb.padstacks.instances.values()): self.idx_vias.insert(i, via.position) for i, comp in enumerate(self.edb.components.instances.values()): - self.idx_components.insert(i, comp.bounding_box) + comp_bbox = comp.bounding_box + if isinstance(comp_bbox, tuple): + comp_bbox = [comp_bbox[0][0], comp_bbox[0][1], comp_bbox[1][0], comp_bbox[1][1]] + self.idx_components.insert(i, comp_bbox) def check(self, rules: Rules) -> List[Dict[str, Any]]: """ From b36c2c5ee8d172cbb4247c2a93c99d0fb62904ae Mon Sep 17 00:00:00 2001 From: svandenb-dev Date: Fri, 21 Nov 2025 10:09:32 +0100 Subject: [PATCH 4/6] test fixed --- src/pyedb/common/nets.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/pyedb/common/nets.py b/src/pyedb/common/nets.py index b073b0fd76..4a183bb91b 100644 --- a/src/pyedb/common/nets.py +++ b/src/pyedb/common/nets.py @@ -229,8 +229,13 @@ def mirror_poly(poly): except KeyError: pass cbb = comp.bounding_box - x = [cbb[0], cbb[0], cbb[2], cbb[2]] - y = [cbb[1], cbb[3], cbb[3], cbb[1]] + if isinstance(cbb, tuple): + x = [cbb[0][0], cbb[0][0], cbb[1][0], cbb[1][0]] + y = [cbb[0][1], cbb[1][1], cbb[1][1], cbb[0][1]] + else: + # falling back to list format for bbox + x = [cbb[0], cbb[0], cbb[2], cbb[2]] + y = [cbb[1], cbb[3], cbb[3], cbb[1]] vertices = [(i, j) for i, j in zip(x, y)] vertices = mirror_poly(vertices) poly = Polygon(vertices) From bbb35f42dd3cf96c30d9ba3d315ca87a54519515 Mon Sep 17 00:00:00 2001 From: svandenb-dev <74993647+svandenb-dev@users.noreply.github.com> Date: Fri, 21 Nov 2025 11:08:56 +0100 Subject: [PATCH 5/6] Update 1630.fixed.md --- doc/changelog.d/1630.fixed.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/changelog.d/1630.fixed.md b/doc/changelog.d/1630.fixed.md index 84cf8eaece..3678f28c45 100644 --- a/doc/changelog.d/1630.fixed.md +++ b/doc/changelog.d/1630.fixed.md @@ -1 +1 @@ -Component bounding box wrong formating +Component bounding box wrong formatting From 56fbaa3892f909ee1cc9cb3d888f4b7ce94119bc Mon Sep 17 00:00:00 2001 From: pyansys-ci-bot <92810346+pyansys-ci-bot@users.noreply.github.com> Date: Fri, 21 Nov 2025 10:09:48 +0000 Subject: [PATCH 6/6] chore: adding changelog file 1630.fixed.md [dependabot-skip] --- doc/changelog.d/1630.fixed.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/changelog.d/1630.fixed.md b/doc/changelog.d/1630.fixed.md index 3678f28c45..84cf8eaece 100644 --- a/doc/changelog.d/1630.fixed.md +++ b/doc/changelog.d/1630.fixed.md @@ -1 +1 @@ -Component bounding box wrong formatting +Component bounding box wrong formating