add support for KiCAD 6.99 (VECTOR2I / wxPoint + GetOrientation().AsDegrees())

This commit is contained in:
bouni
2022-06-10 15:46:08 +02:00
parent a1cdcb2002
commit fd60d70cda
2 changed files with 35 additions and 12 deletions

View File

@ -12,9 +12,11 @@
#import pcbnew;pcbnew.GetWizardsBackTrace() #import pcbnew;pcbnew.GetWizardsBackTrace()
__version__ = '1.2.2' __version__ = '1.2.2'
import sys, os
import pcbnew
import datetime import datetime
import os
import sys
import pcbnew
import wx import wx
from pcbnew import * from pcbnew import *
@ -99,7 +101,9 @@ class snap_to_grid( pcbnew.ActionPlugin ):
def Run(self): def Run(self):
#self.pcb = GetBoard() #self.pcb = GetBoard()
import sys,os import os
import sys
#mm_ius = 1000000.0 #mm_ius = 1000000.0
#_pcbnew_frame = [x for x in wx.GetTopLevelWindows() if x.GetTitle().lower().startswith('pcbnew')][0] #_pcbnew_frame = [x for x in wx.GetTopLevelWindows() if x.GetTitle().lower().startswith('pcbnew')][0]
pcbnew_window = find_pcbnew_w() pcbnew_window = find_pcbnew_w()
@ -154,6 +158,9 @@ def snap2grid(gridSizeMM,use_grid):
#print(mpxOnG,mpyOnG) #print(mpxOnG,mpyOnG)
locked='' locked=''
if not module.IsLocked(): if not module.IsLocked():
if "6.99" in GetBuildVersion():
module.SetPosition(VECTOR2I(mpxOnG,mpyOnG))
else:
module.SetPosition(wxPoint(mpxOnG,mpyOnG)) module.SetPosition(wxPoint(mpxOnG,mpyOnG))
else: else:
locked='LOCKED' locked='LOCKED'
@ -177,6 +184,9 @@ def snap2grid(gridSizeMM,use_grid):
#print(mpxOnG,mpyOnG) #print(mpxOnG,mpyOnG)
locked='' locked=''
if not module.IsLocked(): if not module.IsLocked():
if "6.99" in GetBuildVersion():
module.SetPosition(VECTOR2I(mpxOnG,mpyOnG))
else:
module.SetPosition(wxPoint(mpxOnG,mpyOnG)) module.SetPosition(wxPoint(mpxOnG,mpyOnG))
else: else:
locked='LOCKED' locked='LOCKED'
@ -198,6 +208,9 @@ def snap2grid(gridSizeMM,use_grid):
mpyOnG = int(mpy/FromMM(gridSizeMM))*FromMM(gridSizeMM) #+ auxOrigin.y mpyOnG = int(mpy/FromMM(gridSizeMM))*FromMM(gridSizeMM) #+ auxOrigin.y
locked='' locked=''
if not module.IsLocked(): if not module.IsLocked():
if "6.99" in GetBuildVersion():
module.SetPosition(VECTOR2I(mpxOnG,mpyOnG))
else:
module.SetPosition(wxPoint(mpxOnG,mpyOnG)) module.SetPosition(wxPoint(mpxOnG,mpyOnG))
else: else:
locked='LOCKED' locked='LOCKED'
@ -209,6 +222,9 @@ def snap2grid(gridSizeMM,use_grid):
Value = str(module.GetValue()) Value = str(module.GetValue())
Value=(Value[:17] + '..') if len(Value) > 19 else Value Value=(Value[:17] + '..') if len(Value) > 19 else Value
Value="{0:<20}".format(Value) Value="{0:<20}".format(Value)
if "6.99" in GetBuildVersion():
Rotation='{0:.1f}'.format((module.GetOrientation().AsDegrees()/10))
else:
Rotation='{0:.1f}'.format((module.GetOrientation()/10)) Rotation='{0:.1f}'.format((module.GetOrientation()/10))
Rotation="{0:>6}".format(Rotation)+' ' Rotation="{0:>6}".format(Rotation)+' '
if module.GetLayer() == 0: if module.GetLayer() == 0:

View File

@ -6,10 +6,12 @@
# #
# #
#import snaptogrid; import importlib; importlib.reload(snaptogrid)
import sys, os
import pcbnew
import datetime import datetime
import os
#import snaptogrid; import importlib; importlib.reload(snaptogrid)
import sys
import pcbnew
import wx import wx
from pcbnew import * from pcbnew import *
@ -30,7 +32,9 @@ gridReference = 0.127 #1.27 #mm pcbnew.FromMM(1.0) #0.1mm
def Snap2Grid(gridSizeMM,use_grid_origin): def Snap2Grid(gridSizeMM,use_grid_origin):
import sys,os import os
import sys
#mm_ius = 1000000.0 #mm_ius = 1000000.0
pcb = pcbnew.GetBoard() pcb = pcbnew.GetBoard()
@ -47,6 +51,9 @@ def Snap2Grid(gridSizeMM,use_grid_origin):
mpxOnG = int(mpx/FromMM(gridSizeMM))*FromMM(gridSizeMM)+ gridOrigin.x mpxOnG = int(mpx/FromMM(gridSizeMM))*FromMM(gridSizeMM)+ gridOrigin.x
mpyOnG = int(mpy/FromMM(gridSizeMM))*FromMM(gridSizeMM)+ gridOrigin.y mpyOnG = int(mpy/FromMM(gridSizeMM))*FromMM(gridSizeMM)+ gridOrigin.y
print(mpxOnG,mpyOnG) print(mpxOnG,mpyOnG)
if "6.99" in GetBuildVersion():
module.SetPosition(VECTOR2I(mpxOnG,mpyOnG))
else:
module.SetPosition(wxPoint(mpxOnG,mpyOnG)) module.SetPosition(wxPoint(mpxOnG,mpyOnG))
X_POS=str(module.GetPosition().x) # - gridOrigin.x) X_POS=str(module.GetPosition().x) # - gridOrigin.x)
#X_POS='{0:.4f}'.format(pcbnew.ToMM(module.GetPosition().x - gridOrigin.x )) #X_POS='{0:.4f}'.format(pcbnew.ToMM(module.GetPosition().x - gridOrigin.x ))