detect building status of the swig .py file (on parallel make builds). Fix unit conversion returns (From_xxx) to integer, what's all the wxPoint/wxRect/wx.. expect. Extended createPcb.py example

This commit is contained in:
Miguel Angel Ajo 2012-04-09 08:19:57 +02:00
parent 1f108b0b6c
commit 0cdc5c59ab
5 changed files with 21 additions and 10 deletions

View File

@ -1,30 +1,32 @@
#!/usr/bin/env python2.7
import pcbnew
from pcbnew import *
size_0_6mm = wxSizeMM(0.6,0.6)
size_1_0mm = wxSizeMM(1.0,1.0)
# create a blank board
pcb = BOARD()
pcb.m_NetClasses.GetDefault().SetClearance(FromMM(0.1))
# create a new module, it's parent is our previously created pcb
module = MODULE(pcb)
module.SetReference("M1") # give it a reference name
module.m_Reference.SetPos0(wxPointMM(-10,-10))
pcb.Add(module) # add it to our pcb
m_pos = wxPoint(FromMM(50),FromMM(50))
m_pos = wxPointMM(50,50)
module.SetPosition(m_pos)
print "module position:",m_pos
# create a pad and add it to the module
# create a pad array and add it to the module
n = 1
for y in range (0,10):
for x in range (0,10):
pad = D_PAD(module)
pad.SetDrillSize(size_0_6mm)
pt = wxPoint(FromMM(x*2),FromMM(y*2))
pad.SetSize(size_1_0mm)
pt = wxPointMM(1.27*x,1.27*y)
pad.SetPos0(pt);
pad.SetPosition(pt)
#pad.SetPosition(pt)
pad.SetPadName(str(n))
module.Add(pad)
n+=1
@ -43,3 +45,5 @@ for m in pcb.GetModules():
for p in m.GetPads():
print p.GetPadName(),p.GetPosition(), p.GetOffset()
# pcb.GetDesignSettings()

View File

@ -35,6 +35,7 @@
def GetPads(self): return self.m_Pads
def GetDrawings(self): return self.m_Drawings
def GetReferenceObj(self): return self.m_Reference
#def SaveToLibrary(self,filename):
# return SaveModuleToLibrary(filename,self)

View File

@ -47,6 +47,7 @@
#include <wx_python_helpers.h>
#include <class_board_item.h>
#include <class_board_connected_item.h>
#include <class_board_design_settings.h>
#include <class_board.h>
#include <class_module.h>
#include <class_track.h>
@ -78,6 +79,7 @@
%include <class_board_item.h>
%include <class_board_connected_item.h>
%include <class_board_design_settings.h>
%include <class_board.h>
%include <class_module.h>
%include <class_track.h>

View File

@ -40,19 +40,19 @@
def FromMM(iu):
if type(iu) in [int,float]:
return iu / 0.00254
return int(iu / 0.00254)
elif type(iu) in [wxPoint,wxSize]:
return tuple(map(FromMM,iu))
def ToMils(iu):
if type(iu) in [int,float]:
return iu / 10.0
return int(iu / 10.0)
elif type(iu) in [wxPoint,wxSize]:
return tuple(map(ToMils,iu))
def FromMils(iu):
if type(iu) in [int,float]:
return mils*10.0
return int(iu*10.0)
elif type(iu) in [wxPoint,wxSize]:
return tuple(map(FromMils,iu))

View File

@ -31,6 +31,10 @@ f = open(filename,"wb")
doneOk = False
if (len(lines)<4000):
print "still building"
exit(0)
for l in lines:
if l.startswith("if version_info >= (2,6,0):"):
l = l.replace("version_info >= (2,6,0)","False")