← Back to team overview

kicad-developers team mailing list archive

Re: PLUGIN::Footprint*() from python


Le 11/11/2012 15:39, Dick Hollenbeck a écrit :
On 11/11/2012 07:43 AM, Wayne Stambaugh wrote:
On 11/10/2012 11:09 PM, Dick Hollenbeck wrote:
OK, I got a footprint library to convert from legacy to kicad format using the attached
command line python script.
It ran nicely, and quickly, without a fuss once I get it setup correctly.

Procedure I used, which is perhaps not optimal, but is one that worked:
(I'm open to suggestions on improvement.)

1) Build target _pcbnew after enabling scripting in cmake.
$ make _pcbnew

2) Changed dir to pcbnew
$ cd pcbnew
$ pwd

3) Entered following command line, script takes to arguments: oldLibPath & newLibPath
$ PYTHONPATH=. ../lib_convert.py /usr/local/share/kicad/modules/smd_dil.mod /tmp/smd_dil

4) inspect one footprint found in new librarypath /tmp/smd_dil
$ less /tmp/smd_dil/msoic-10.kicad_mod

Attached is one of the converted footprints, *.kicad_mod

a) Layernames should be in English always (in a footprint, not a board).

b) The old footprint was deci-mils, the new one is mm.

c) The next thing I notice is the ugyly timestamps on the fp_lines.

Wayne or JP, do we need those time stamps on mere lines?

I believe there are some BOARD objects that require time stamps so I was
being conservative and kept them in objects if I wasn't sure if they
were required.  I'm guessing fp_lines do not need a time stamp.  JP will
know if they are needed or not.  There may also be some other BOARD
objects in the board file that have time stamps that are not required as
well.  I'll take a look at it when I get a chance.


Thanks, but I don't need help changing the code, I just was asking for a need assessment.

Now I'd like to extend my original question, to the footprint itself, why do we need a
time stamp on a footprint that resides in a library?
For the footprint itself ( i.e. when inside a library, not inside a board), the time stamp is not used. It is actually used only when loaded on a board, and it is modified when reading a netlist. Therefore the time stamp of the footprint itself, if exists, will be replaced the first time a netlist is read.

Jean-Pierre CHARRAS