diff --git a/__init__.py b/__init__.py index c907142..0b22207 100644 --- a/__init__.py +++ b/__init__.py @@ -134,7 +134,10 @@ def defaults(self): def Run(self): board = pcbnew.GetBoard() - modules = board.GetModules() + modules = board.GetFootprints() # was GetModules() but this does not work with KiCAD 6.0 + origin = board.GetDesignSettings().GetAuxOrigin() + origin_x = Decimal(origin.x) / Decimal(1000000) + origin_y = Decimal(origin.y) / Decimal(-1000000) fn = Path(board.GetFileName()).with_suffix("") @@ -192,8 +195,8 @@ def Run(self): print(f"rotating {ref} ({footprint}): prev {rot}, new {new_rot}") rot = new_rot - x = str(mid_x) + "mm" - y = str(mid_y) + "mm" + x = str(mid_x - origin_x) + "mm" + y = str(mid_y - origin_y) + "mm" if layer == "F.Cu": topw.writerow([ref, x, y, "top", rot]) diff --git a/bom2jlc.py b/bom2jlc.py index 362027e..8689bc2 100755 --- a/bom2jlc.py +++ b/bom2jlc.py @@ -13,7 +13,7 @@ def parse_pcb(fn): pcb_fn = str(Path(fn).with_suffix("")) + ".kicad_pcb" board = pcbnew.LoadBoard(pcb_fn) - modules = board.GetModules() + modules = board.GetFootprints() # was GetModules() but this does not work with KiCAD 6.0 for mod in modules: ref = mod.GetReference()