From 15c0c97518787432ae8a8e3374e491d83ef0ff4a Mon Sep 17 00:00:00 2001 From: "U-CAD\\userC" Date: Fri, 3 Mar 2023 09:45:46 +0100 Subject: [PATCH] fab positions compatible kv5,kv6,kv7 --- FabricationPositions/fabrication_positions.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/FabricationPositions/fabrication_positions.py b/FabricationPositions/fabrication_positions.py index a7be547..c5f2759 100644 --- a/FabricationPositions/fabrication_positions.py +++ b/FabricationPositions/fabrication_positions.py @@ -13,7 +13,7 @@ #pcbnew.GetWizardsBackTrace() -___version___="1.2.9" +___version___="1.3.0" #wx.LogMessage("My message") #mm_ius = 1000000.0 @@ -29,6 +29,19 @@ from wx.lib.embeddedimage import PyEmbeddedImage execfile ("C:/kicad-wb-1602/msys64/home/userC/out3Dm/pack-x86_64/share/kicad/scripting/plugins/getpos.py") """ +# Make positions compatible with KiCAD 7.0 +if hasattr(pcbnew, 'EDA_RECT'): # kv5,kv6 + pass +else: # kv7 + wxPoint = VECTOR2I + +def getOrientation(fp): + o = fp.GetOrientation() + if hasattr(pcbnew, 'EDA_RECT'): # kv5,kv6 + return o / 10 + else: # kv7 + return o.AsDegrees() + def find_pcbnew_w(): windows = wx.GetTopLevelWindows() pcbneww = [w for w in windows if "pcbnew" in w.GetTitle().lower()] @@ -183,7 +196,7 @@ def generate_POS(dir): PIN1_YPOS="{0:<11}".format(PIN1_YPOS) break - Rotation='{0:.1f}'.format((module.GetOrientation()/10)) + Rotation='{0:.1f}'.format((getOrientation(module)/10)) Rotation="{0:>6}".format(Rotation)+' ' if module.GetLayer() == 0: Layer=" top"