diff --git a/python/commands/connection_schematic.py b/python/commands/connection_schematic.py index f46ea99..82807f2 100644 --- a/python/commands/connection_schematic.py +++ b/python/commands/connection_schematic.py @@ -98,7 +98,10 @@ class ConnectionManager: # Stub direction follows the pin's outward angle from the PinLocator try: pin_angle_deg = locator.get_pin_angle(schematic_path, component_ref, pin_name) or 0 - except Exception: + except Exception as e: + logger.warning( + f"Could not get pin angle for {component_ref}/{pin_name}, defaulting to 0: {e}" + ) pin_angle_deg = 0 import math as _math diff --git a/python/commands/wire_connectivity.py b/python/commands/wire_connectivity.py index 3785dd5..b6efb2f 100644 --- a/python/commands/wire_connectivity.py +++ b/python/commands/wire_connectivity.py @@ -414,10 +414,10 @@ def list_floating_labels(schematic: Any, schematic_path: str) -> List[Dict[str, coords = label.at.value lx_mm = float(coords[0]) ly_mm = float(coords[1]) - lx_iu = _to_iu(lx_mm, ly_mm) + label_iu = _to_iu(lx_mm, ly_mm) # Check if the label anchor itself is a pin position - if lx_iu in pin_iu_set: + if label_iu in pin_iu_set: continue # Trace the wire-network from this label and check for pins @@ -470,10 +470,9 @@ def get_net_at_point( # Check if query point is on a wire endpoint all_wires = _parse_wires(schematic) if hasattr(schematic, "wire") else [] if all_wires: - _, iu_to_wires = _build_adjacency(all_wires) + adjacency, iu_to_wires = _build_adjacency(all_wires) if query_iu in iu_to_wires: # Found a wire endpoint — trace the net to get the name - adjacency, _ = _build_adjacency(all_wires) visited, net_points = _find_connected_wires( x_mm, y_mm, diff --git a/python/kicad_interface.py b/python/kicad_interface.py index 49cbfff..9e5ac46 100644 --- a/python/kicad_interface.py +++ b/python/kicad_interface.py @@ -1527,7 +1527,6 @@ class KiCADInterface: """ logger.info("Adding net label to schematic") try: - import traceback from pathlib import Path from commands.wire_manager import WireManager