Set the courtyard width to 0.05mm to comply with KLC in the following python footprint generators: bga,qfp,sdip and zip

This commit is contained in:
unknown 2016-02-09 10:10:17 +01:00 committed by jean-pierre charras
parent 050bdbc772
commit 4726f51ba0
4 changed files with 28 additions and 3 deletions

View File

@ -86,7 +86,11 @@ class BGAWizard(HFPW.HelpfulFootprintWizardPlugin):
self.draw.SetLayer(pcbnew.F_CrtYd) self.draw.SetLayer(pcbnew.F_CrtYd)
sizex = (ssx + cmargin) * 2 sizex = (ssx + cmargin) * 2
sizey = (ssy + cmargin) * 2 sizey = (ssy + cmargin) * 2
# set courtyard line thickness to the one defined in KLC
self.draw.SetLineTickness(pcbnew.FromMM(0.05))
self.draw.Box(0, 0, sizex, sizey) self.draw.Box(0, 0, sizex, sizey)
# restore line thickness to previous value
self.draw.SetLineTickness(pcbnew.FromMM(cmargin))
#reference and value #reference and value
text_size = self.GetTextSize() # IPC nominal text_size = self.GetTextSize() # IPC nominal

View File

@ -113,7 +113,12 @@ class QFPWizard(HelpfulFootprintWizardPlugin.HelpfulFootprintWizardPlugin):
self.draw.SetLayer(pcbnew.F_CrtYd) self.draw.SetLayer(pcbnew.F_CrtYd)
sizex = (lim_x + cmargin) * 2 + pad_length sizex = (lim_x + cmargin) * 2 + pad_length
sizey = (lim_y + cmargin) * 2 + pad_length sizey = (lim_y + cmargin) * 2 + pad_length
# set courtyard line thickness to the one defined in KLC
thick = self.draw.GetLineTickness()
self.draw.SetLineTickness(pcbnew.FromMM(0.05))
self.draw.Box(0, 0, sizex, sizey) self.draw.Box(0, 0, sizex, sizey)
# restore line thickness to previous value
self.draw.SetLineTickness(pcbnew.FromMM(thick))
#reference and value #reference and value
text_size = self.GetTextSize() # IPC nominal text_size = self.GetTextSize() # IPC nominal

View File

@ -104,6 +104,17 @@ class RowedFootprint(HFPW.HelpfulFootprintWizardPlugin):
self.DrawBox(ssx, ssy) self.DrawBox(ssx, ssy)
# Courtyard
cmargin = self.draw.GetLineTickness()
self.draw.SetLayer(pcbnew.F_CrtYd)
sizex = (ssx + cmargin) * 2
sizey = (ssy + cmargin) * 2
# set courtyard line thickness to the one defined in KLC
self.draw.SetLineTickness(pcbnew.FromMM(0.05))
self.draw.Box(0, 0, sizex, sizey)
# restore line thickness to previous value
self.draw.SetLineTickness(pcbnew.FromMM(cmargin))
#reference and value #reference and value
text_size = self.GetTextSize() # IPC nominal text_size = self.GetTextSize() # IPC nominal

View File

@ -74,7 +74,7 @@ class RowedFootprint(HFPW.HelpfulFootprintWizardPlugin):
array = PA.PadZGridArray(pad, pad_count, line_count, line_pitch, pad_pitch) array = PA.PadZGridArray(pad, pad_count, line_count, line_pitch, pad_pitch)
array.AddPadsToModule(self.draw) array.AddPadsToModule(self.draw)
# draw the Silk Screen # draw the Silk Screen
pads_per_line = pad_count // line_count pads_per_line = pad_count // line_count
row_length = pad_pitch * (pads_per_line - 1) # fenceposts row_length = pad_pitch * (pads_per_line - 1) # fenceposts
@ -102,9 +102,14 @@ class RowedFootprint(HFPW.HelpfulFootprintWizardPlugin):
cmarginx = body[self.courtyard_x_margin_key] cmarginx = body[self.courtyard_x_margin_key]
cmarginy = body[self.courtyard_y_margin_key] cmarginy = body[self.courtyard_y_margin_key]
self.draw.SetLayer(pcbnew.F_CrtYd) self.draw.SetLayer(pcbnew.F_CrtYd)
sizex = (pin1posX + cmarginx) * 2 + pad_Hsize # set courtyard line thickness to the one defined in KLC
sizey = (pin1posY + cmarginy) * 2 + pad_Vsize thick = self.draw.GetLineTickness()
sizex = (pin1posX + cmarginx) * 2 + pad_Hsize + thick
sizey = (pin1posY + cmarginy) * 2 + pad_Vsize + thick
self.draw.SetLineTickness(pcbnew.FromMM(0.05))
self.draw.Box(0, 0, sizex, sizey) self.draw.Box(0, 0, sizex, sizey)
# restore line thickness to previous value
self.draw.SetLineTickness(pcbnew.FromMM(thick))
#reference and value #reference and value
text_size = self.GetTextSize() # IPC nominal text_size = self.GetTextSize() # IPC nominal