Fix a minor error in class D_PAD: void D_PAD::Flip( int Y ) changed to virtual void D_PAD::Flip( const wxPoint& aCentre ) (as defined in BOARD_ITEM)
Scripting: fix compatibility current pcbnew version in 2 examples and the default extension of board files in board.i (was .kicad_brd, now is .kicad_pcb)
This commit is contained in:
parent
3329ed26f3
commit
63eac42d07
|
@ -138,9 +138,17 @@ bzr branch lp:kicad/stable kicad_src
|
|||
Components and Footprints libraries
|
||||
all (schematic libs, 3D shapes ...) but new footprints libraries (use Download zip tool)
|
||||
https://github.com/KiCad/kicad-library/
|
||||
|
||||
New footprints libraries (use Download zip tool for each lib you want)
|
||||
https://github.com/KiCad/ for footprint libs (*.pretty folders)
|
||||
|
||||
A mirror of github is available, using bzr:
|
||||
(schematic libs, 3D shapes ... all but new footprints libraries)
|
||||
bzr checkout lp:~kicad-product-committers/kicad/library
|
||||
|
||||
Old legacy libraries:
|
||||
bzr checkout lp:~dickelbeck/kicad/library-read-only
|
||||
|
||||
Note also Kicad is able to read on github.com/KiCad/ the *.pretty folders
|
||||
without download, using github plugin.
|
||||
(however the time to read them can be long)
|
||||
|
|
|
@ -799,7 +799,7 @@ void MODULE::Flip( const wxPoint& aCentre )
|
|||
|
||||
// Mirror pads to other side of board about the x axis, i.e. vertically.
|
||||
for( D_PAD* pad = m_Pads; pad; pad = pad->Next() )
|
||||
pad->Flip( m_Pos.y );
|
||||
pad->Flip( m_Pos );
|
||||
|
||||
// Mirror reference.
|
||||
text = m_Reference;
|
||||
|
|
|
@ -214,13 +214,13 @@ void D_PAD::SetOrientation( double aAngle )
|
|||
}
|
||||
|
||||
|
||||
void D_PAD::Flip( int aTranslationY )
|
||||
void D_PAD::Flip( const wxPoint& aCentre )
|
||||
{
|
||||
int y = GetPosition().y - aTranslationY;
|
||||
int y = GetPosition().y - aCentre.y;
|
||||
|
||||
y = -y; // invert about x axis.
|
||||
|
||||
y += aTranslationY;
|
||||
y += aCentre.y;
|
||||
|
||||
SetY( y );
|
||||
|
||||
|
|
|
@ -167,7 +167,7 @@ public:
|
|||
void SetOffset( const wxPoint& aOffset ) { m_Offset = aOffset; }
|
||||
const wxPoint& GetOffset() const { return m_Offset; }
|
||||
|
||||
void Flip( int aTranslationY );
|
||||
void Flip( const wxPoint& aCentre ); // Virtual function
|
||||
|
||||
/**
|
||||
* Function SetOrientation
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
|
||||
|
||||
%extend BOARD
|
||||
{
|
||||
{
|
||||
%pythoncode
|
||||
{
|
||||
def GetModules(self): return self.m_Modules
|
||||
|
@ -42,35 +42,35 @@
|
|||
def GetCurrentNetClassName(self): return self.m_CurrentNetClassName
|
||||
def GetViasDimensionsList(self): return self.m_ViasDimensionsList
|
||||
def GetTrackWidthList(self): return self.m_TrackWidthList
|
||||
|
||||
|
||||
def Save(self,filename,format = None):
|
||||
if format is None:
|
||||
str_filename = str(filename)
|
||||
if str_filename.endswith(".brd"):
|
||||
format = IO_MGR.LEGACY
|
||||
if str_filename.endswith(".kicad_brd"):
|
||||
format = IO_MGR.KICAD
|
||||
if str_filename.endswith(".kicad_pcb"):
|
||||
format = IO_MGR.KICAD
|
||||
return SaveBoard(filename,self,format)
|
||||
|
||||
|
||||
#
|
||||
# add function, clears the thisown to avoid python from deleting
|
||||
# the object in the garbage collector
|
||||
#
|
||||
|
||||
def Add(self,item):
|
||||
|
||||
def Add(self,item):
|
||||
item.thisown=0
|
||||
self.AddNative(item)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// this is to help python with the * accessor of DLIST templates
|
||||
// this is to help python with the * accessor of DLIST templates
|
||||
|
||||
%rename(Get) operator BOARD_ITEM*;
|
||||
%rename(Get) operator TRACK*;
|
||||
%rename(Get) operator D_PAD*;
|
||||
%rename(Get) operator MODULE*;
|
||||
%rename(Get) operator SEGZONE*;
|
||||
%rename(Get) operator BOARD_ITEM*;
|
||||
%rename(Get) operator TRACK*;
|
||||
%rename(Get) operator D_PAD*;
|
||||
%rename(Get) operator MODULE*;
|
||||
%rename(Get) operator SEGZONE*;
|
||||
|
||||
|
||||
// we must translate C++ templates to scripting languages
|
||||
|
@ -81,14 +81,14 @@
|
|||
%template(TRACK_List) DLIST<TRACK>;
|
||||
%template(PAD_List) DLIST<D_PAD>;
|
||||
|
||||
// std::vector templates
|
||||
// std::vector templates
|
||||
|
||||
%template(VIA_DIMENSION_Vector) std::vector<VIA_DIMENSION>;
|
||||
%template (RASTNET_Vector) std::vector<RATSNEST_ITEM>;
|
||||
|
||||
%extend DRAWSEGMENT
|
||||
{
|
||||
%pythoncode
|
||||
%pythoncode
|
||||
{
|
||||
def GetShapeStr(self):
|
||||
return self.ShowShape(self.GetShape())
|
||||
|
@ -102,7 +102,7 @@
|
|||
def SetPos(self,p):
|
||||
self.SetPosition(p)
|
||||
self.SetPos0(p)
|
||||
|
||||
|
||||
def SetStartEnd(self,start,end):
|
||||
self.SetStart(start)
|
||||
self.SetStart0(start)
|
||||
|
|
|
@ -34,10 +34,10 @@ def smdRectPad(module,size,pos,name):
|
|||
for n in range (0,pads):
|
||||
pad = smdRectPad(module,size_025_160mm,wxPointMM(0.5*n,0),str(n+1))
|
||||
module.Add(pad)
|
||||
|
||||
|
||||
|
||||
pad_s0 = smdRectPad(module,size_150_200mm,wxPointMM(-1.6,1.3),"0")
|
||||
pad_s1 = smdRectPad(module,size_150_200mm,wxPointMM((pads-1)*0.5+1.6,1.3),"0")
|
||||
pad_s1 = smdRectPad(module,size_150_200mm,wxPointMM((pads-1)*0.5+1.6,1.3),"0")
|
||||
module.Add(pad_s0)
|
||||
module.Add(pad_s1)
|
||||
|
||||
|
@ -50,10 +50,11 @@ e.SetShape(S_SEGMENT)
|
|||
module.Add(e)
|
||||
|
||||
# save the PCB to disk
|
||||
module.SetLibRef("FPC"+str(pads))
|
||||
fpid = FPID("FPC"+str(pads)) #the name in library
|
||||
module.SetFPID( fpid )
|
||||
|
||||
try:
|
||||
FootprintLibCreate("fpc40.mod")
|
||||
except:
|
||||
pass # we try to create, but may be it exists already
|
||||
FootprintSave("fpc40.mod",module)
|
||||
|
||||
|
|
|
@ -30,13 +30,13 @@ for y in range (0,10):
|
|||
pad.SetPadName(str(n))
|
||||
module.Add(pad)
|
||||
n+=1
|
||||
|
||||
|
||||
|
||||
# save the PCB to disk
|
||||
pcb.Save("/tmp/my2.kicad_brd")
|
||||
pcb.Save("/tmp/my2.brd")
|
||||
pcb.Save("my2.kicad_pcb")
|
||||
pcb.Save("my2.brd")
|
||||
|
||||
pcb = LoadBoard("/tmp/my2.brd")
|
||||
pcb = LoadBoard("my2.kicad_pcb")
|
||||
|
||||
print map( lambda x: x.GetReference() , list(pcb.GetModules()))
|
||||
|
||||
|
|
Loading…
Reference in New Issue