Pcbnew FP wizard: minor style fixes
This contains only a few minor style fixes according to PEP8 for FootprintWizardBase.py, and some spelling fixes
This commit is contained in:
parent
9302bbce59
commit
137799165d
|
@ -18,20 +18,21 @@ from __future__ import division
|
|||
import pcbnew
|
||||
import math
|
||||
|
||||
|
||||
# Base class for creating footprint wizards
|
||||
# Inherit this class to make a new wizard
|
||||
class FootprintWizard(pcbnew.FootprintWizardPlugin):
|
||||
|
||||
# Copy units from pcbnew
|
||||
uMM = pcbnew.uMM
|
||||
uMils = pcbnew.uMils
|
||||
uFloat = pcbnew.uFloat
|
||||
uInteger = pcbnew.uInteger
|
||||
uBool = pcbnew.uBool
|
||||
uRadians = pcbnew.uRadians
|
||||
uDegrees = pcbnew.uDegrees
|
||||
uPercent = pcbnew.uPercent
|
||||
uString = pcbnew.uString
|
||||
uMM = pcbnew.uMM
|
||||
uMils = pcbnew.uMils
|
||||
uFloat = pcbnew.uFloat
|
||||
uInteger = pcbnew.uInteger
|
||||
uBool = pcbnew.uBool
|
||||
uRadians = pcbnew.uRadians
|
||||
uDegrees = pcbnew.uDegrees
|
||||
uPercent = pcbnew.uPercent
|
||||
uString = pcbnew.uString
|
||||
|
||||
"""
|
||||
A class to simplify many aspects of footprint creation, leaving only
|
||||
|
@ -52,7 +53,7 @@ class FootprintWizard(pcbnew.FootprintWizardPlugin):
|
|||
|
||||
def GetName(self):
|
||||
"""
|
||||
Retun the name of the footprint wizard
|
||||
Return the name of the footprint wizard
|
||||
"""
|
||||
raise NotImplementedError
|
||||
|
||||
|
@ -72,7 +73,7 @@ class FootprintWizard(pcbnew.FootprintWizardPlugin):
|
|||
"""
|
||||
Footprint parameter specification is done here
|
||||
"""
|
||||
raise NotImplementedError
|
||||
raise NotImplementedError
|
||||
|
||||
def CheckParameters(self):
|
||||
"""
|
||||
|
@ -84,43 +85,46 @@ class FootprintWizard(pcbnew.FootprintWizardPlugin):
|
|||
"""
|
||||
Draw the footprint.
|
||||
|
||||
This is specific to each footprint class, you need to implment
|
||||
This is specific to each footprint class, you need to implement
|
||||
this to draw what you want
|
||||
"""
|
||||
raise NotImplementedError
|
||||
|
||||
# Do not override this method!
|
||||
def BuildFootprint( self ):
|
||||
def BuildFootprint(self):
|
||||
"""
|
||||
Actually make the footprint. We defer all but the setup to
|
||||
Actually make the footprint. We defer all but the set-up to
|
||||
the implementing class
|
||||
"""
|
||||
|
||||
self.buildmessages = ""
|
||||
self.module = pcbnew.MODULE(None) # create a new module
|
||||
|
||||
# Perform default checks on all params
|
||||
# Perform default checks on all parameters
|
||||
for p in self.params:
|
||||
p.ClearErrors()
|
||||
p.Check() # use defaults
|
||||
|
||||
self.CheckParameters() # User error checks
|
||||
p.Check() # use defaults
|
||||
|
||||
self.CheckParameters() # User error checks
|
||||
|
||||
if self.AnyErrors(): # Errors were detected!
|
||||
|
||||
self.buildmessages = "Cannot build footprint: Parameters have errors:\n"
|
||||
self.buildmessages = ("Cannot build footprint: "
|
||||
"Parameters have errors:\n")
|
||||
|
||||
for p in self.params:
|
||||
if len(p.error_list) > 0:
|
||||
self.buildmessages +="['{page}']['{name}']:\n".format(page=p.page,name=p.name)
|
||||
self.buildmessages += "['{page}']['{name}']:\n".format(
|
||||
page=p.page, name=p.name)
|
||||
|
||||
for error in p.error_list:
|
||||
self.buildmessages += "\t" + error + "\n"
|
||||
|
||||
return
|
||||
|
||||
self.buildmessages = ("Building new {name} footprint with the following parameters:\n".format(name=self.name))
|
||||
self.buildmessages = (
|
||||
"Building new {name} footprint with the following parameters:\n"
|
||||
.format(name=self.name))
|
||||
|
||||
self.buildmessages += self.Show()
|
||||
|
||||
|
@ -133,7 +137,7 @@ class FootprintWizard(pcbnew.FootprintWizardPlugin):
|
|||
fpid = pcbnew.LIB_ID(self.module.GetValue()) # the name in library
|
||||
self.module.SetFPID(fpid)
|
||||
|
||||
self.SetModule3DModel() # add a 3d module if specified
|
||||
self.SetModule3DModel() # add a 3D module if specified
|
||||
|
||||
thick = self.GetTextThickness()
|
||||
|
||||
|
@ -160,6 +164,7 @@ class FootprintWizard(pcbnew.FootprintWizardPlugin):
|
|||
"""
|
||||
return pcbnew.FromMM(0.15)
|
||||
|
||||
|
||||
class FootprintWizardDrawingAids:
|
||||
"""
|
||||
Collection of handy functions to simplify drawing shapes from within
|
||||
|
@ -180,10 +185,10 @@ class FootprintWizardDrawingAids:
|
|||
dirNW = 315
|
||||
|
||||
# flip constants
|
||||
flipNone = 0
|
||||
flipX = 1 # flip X values, i.e. about Y
|
||||
flipY = 2 # flip Y valuersabout X
|
||||
flipBoth = 3
|
||||
flipNone = 0 # no flip transform
|
||||
flipX = 1 # flip X values, i.e. about the Y-axis
|
||||
flipY = 2 # flip Y values, i.e. about the X-axis
|
||||
flipBoth = 3 # flip X and Y values, equivalent to a 180-degree rotation
|
||||
|
||||
xfrmIDENTITY = [1, 0, 0, 0, 1, 0] # no transform
|
||||
|
||||
|
@ -235,13 +240,13 @@ class FootprintWizardDrawingAids:
|
|||
def _ComposeMatricesWithIdentity(self, mats):
|
||||
"""
|
||||
Compose a sequence of matrices together by sequential
|
||||
pre-mutiplciation with the identity matrix
|
||||
pre-multiplication with the identity matrix
|
||||
"""
|
||||
|
||||
x = self.xfrmIDENTITY
|
||||
|
||||
for mat in mats:
|
||||
#precompose with each transform in turn
|
||||
# Pre-compose with each transform in turn
|
||||
x = [
|
||||
x[0] * mat[0] + x[1] * mat[3],
|
||||
x[0] * mat[1] + x[1] * mat[4],
|
||||
|
@ -262,7 +267,7 @@ class FootprintWizardDrawingAids:
|
|||
|
||||
def TransformTranslate(self, x, y, push=True):
|
||||
"""
|
||||
Set up and return a transform matrix representing a translartion
|
||||
Set up and return a transform matrix representing a translation
|
||||
optionally pushing onto the stack
|
||||
|
||||
( 1 0 x )
|
||||
|
@ -307,7 +312,7 @@ class FootprintWizardDrawingAids:
|
|||
self.TransformFlipOrigin(flip, push=False),
|
||||
self.TransformTranslate(-x, -y, push=False)]
|
||||
|
||||
#distill into a single matrix
|
||||
# Distil into a single matrix
|
||||
mat = self._ComposeMatricesWithIdentity(mats)
|
||||
|
||||
if push:
|
||||
|
@ -343,7 +348,7 @@ class FootprintWizardDrawingAids:
|
|||
self.TransformRotationOrigin(rot, push=False),
|
||||
self.TransformTranslate(-x, -y, push=False)]
|
||||
|
||||
#distill into a single matrix
|
||||
# Distil into a single matrix
|
||||
mat = self._ComposeMatricesWithIdentity(mats)
|
||||
|
||||
if push:
|
||||
|
@ -390,7 +395,8 @@ class FootprintWizardDrawingAids:
|
|||
def SetLineTickness(self, lineThickness):
|
||||
"""
|
||||
Old version of SetLineThickness.
|
||||
Does the same thing, but is is only here for compatibility with old scripts
|
||||
Does the same thing, but is is only here for compatibility with old
|
||||
scripts.
|
||||
Set the current pen lineThickness used for subsequent drawing
|
||||
operations
|
||||
"""
|
||||
|
@ -457,7 +463,7 @@ class FootprintWizardDrawingAids:
|
|||
The transform matrix is applied
|
||||
|
||||
Note that this won't work properly if the result is not a
|
||||
circular arc (eg a horizontal scale)
|
||||
circular arc (e.g. a horizontal scale)
|
||||
"""
|
||||
circle = pcbnew.EDGE_MODULE(self.module)
|
||||
circle.SetWidth(self.dc['lineThickness'])
|
||||
|
@ -491,7 +497,7 @@ class FootprintWizardDrawingAids:
|
|||
|
||||
def Polyline(self, pts, mirrorX=None, mirrorY=None):
|
||||
"""
|
||||
Draw a polyline, optinally mirroring around the given points
|
||||
Draw a polyline, optionally mirroring around the given points
|
||||
"""
|
||||
|
||||
def _PolyLineInternal(pts):
|
||||
|
@ -518,8 +524,7 @@ class FootprintWizardDrawingAids:
|
|||
_PolyLineInternal(pts)
|
||||
self.PopTransform()
|
||||
|
||||
|
||||
def Reference(self, x, y, size, orientation_degree = 0):
|
||||
def Reference(self, x, y, size, orientation_degree=0):
|
||||
"""
|
||||
Draw the module's reference as the given point.
|
||||
|
||||
|
@ -533,9 +538,10 @@ class FootprintWizardDrawingAids:
|
|||
self.module.Reference().SetPosition(
|
||||
self.module.Reference().GetPos0())
|
||||
self.module.Reference().SetTextSize(text_size)
|
||||
self.module.Reference().SetTextAngle(orientation_degree*10) # internal angles are in 0.1 deg
|
||||
# internal angles are in 0.1 deg
|
||||
self.module.Reference().SetTextAngle(orientation_degree * 10)
|
||||
|
||||
def Value(self, x, y, size, orientation_degree = 0):
|
||||
def Value(self, x, y, size, orientation_degree=0):
|
||||
"""
|
||||
As for references, draw the module's value
|
||||
"""
|
||||
|
@ -545,7 +551,8 @@ class FootprintWizardDrawingAids:
|
|||
self.module.Value().SetPosition(self.module.Value().GetPos0())
|
||||
self.module.Value().SetTextSize(text_size)
|
||||
self.module.Value().SetLayer(self.DefaultTextValueLayer())
|
||||
self.module.Value().SetTextAngle(orientation_degree*10) # internal angles are in 0.1 deg
|
||||
# internal angles are in 0.1 deg
|
||||
self.module.Value().SetTextAngle(orientation_degree * 10)
|
||||
|
||||
def Box(self, x, y, w, h):
|
||||
"""
|
||||
|
@ -563,7 +570,7 @@ class FootprintWizardDrawingAids:
|
|||
|
||||
def NotchedCircle(self, x, y, r, notch_w, notch_h, rotate=0):
|
||||
"""
|
||||
Circle radus r centred at (x, y) with a raised or depressed notch
|
||||
Circle radius r centred at (x, y) with a raised or depressed notch
|
||||
at the top
|
||||
Notch height is measured from the top of the circle radius
|
||||
"""
|
||||
|
@ -580,7 +587,7 @@ class FootprintWizardDrawingAids:
|
|||
# NOTE: this may be out by a factor of ten one day
|
||||
arc_angle = (math.pi * 2 - angle_intercept * 2) * (1800/math.pi)
|
||||
|
||||
self.Arc(x,y, sx, sy, arc_angle)
|
||||
self.Arc(x, y, sx, sy, arc_angle)
|
||||
|
||||
pts = [[sx, sy],
|
||||
[sx, -r - notch_h],
|
||||
|
|
Loading…
Reference in New Issue