On 5/5/2012 9:55 AM, Miguel Angel Ajo Pelayo wrote: > Thank you too Wayne, > > It's nice to team up with you all :-) > > > I have a little prototype of the footprint wizards, for which I should > finish the C++ integration part, I just finished testing the python part. > > The parameters they receive are structured in Pages, parameters inside > the pages, that come with a default value. Every time someone > changes a value the BuildFootprint() method will be called with the new > parameters, and we can get the new module via "GetModule()" method. > > A footprint wizard may look like: > > ------ fpc_footprint_wizard.py > -------------------------------------------------------------------- > > from pcbnew import FootprintWizardPlugin > > class FPCFootprintWizard(pcbnew.FootprintWizard): > def __init__(self): > FootprintWizardPlugin.__init__(self) > self.name <http://self.name> = "FPC" > self.description = "FPC Footprint Wizard" > self.image="" > self.parameters = { > "Pads": > {"pad_n":40,"pitch":0.5,"pad_width":0.25,"pad_height":1.6}, > "Shield": > > {"shield_to_pad":1,"top_to_pad":2,"pad_width":2,"pad_height":3} > } > def BuildFootprint(self): > self.module = None > ------------------------------------------------------------------------------------------------------------------ > # w = FPCFootprintWizard() > # w.Show() > > for example we may install them system wide in the kicad directory, so > they are loaded at pcbnew start... or > at some user directory like ~/.kicad/plugins/ > > The parent "FootprintWizardPlugin" class takes care for registering our > new class into the C++ part, so we can > can list and use them later on some wx interface.
Very cool! I can't wait to free up some time and try it out. I see a day when KiCad ships with all kinds of useful scripts that experienced board designers would really appreciate. I've got a few on my short list that I would be willing to provide. Thanks again for your contributions. Wayne > > > > 2012/5/2 Wayne Stambaugh <[email protected] > <mailto:[email protected]>> > > On 5/2/2012 12:32 PM, Dick Hollenbeck wrote: > > On 05/01/2012 04:35 PM, Miguel Angel Ajo Pelayo wrote: > > > > 2012/5/1 Dick Hollenbeck<[email protected] > <mailto:[email protected]><__mailto:[email protected] > <mailto:[email protected]>>> > > On 05/01/2012 10:02 AM, Miguel Angel Ajo Pelayo wrote: > > We can read and write libraries now with the latest > extensions to PLUGIN that Dick& > > Wayne did :) > > now it always use legacy, but they will work with all > formats. :-) > > > > [...] > > > Only 7 lines of code which show how powerful the > scripting support is becoming. > > Thank you very much Miguel. I look forward to playing > with it, some day when I have > more > time. > > > You're welcome Dick , I think we all are putting a lot of > effort to make next KiCad's > release something > awesome. > > I'm using the new library functionality to make some nice > little footprint wizard > examples, and I'm thinking about > how to build a simple architecture to let people "plug in" > new footprint wizard scripts. > > > > Miguel, > > Your enthusiasm for the project has become an important asset of > the project in and of > itself. I personally appreciate all that you do. > > > With the introduction of some sensible "software interfaces" we > are now starting to see > some benefits. The original idea for the BOARD plugin framework > should be credited to Tom > and Javier of CERN. From that I was able to actually design > something workable. As > simple as possible, but not simpler. > > Wayne has been faithful to that software API contract, and is in > the midst of writing one > of the most important classes ever contributed to KiCad. We're > calling it PCB_IO. This > class is a normal PLUGIN for our new native s-expression support > in mm, but has special > bells and whistles on it for clipboard text generation and > parsing. This work is being > funded by CERN, so we owe them a special thanks. (Some selling > took place to get this > funding, and I will claim some responsibility there. Selling is > not foreign to me.) > > > On my todo list is an EAGLE plugin. (My todo list is like a > personal wish list. Wishes > only come true based on available time, energy and mood.) > > > Now imagine that you, Miguel, write a world class footprint > wizard, or a framework that > lets others do their little twist to it. Maybe as you say, it > is a housing for any number > of footprint wizards, each with a particular specialization. > Then, with this design in > place, imagine being able to generate eagle footprints or kicad > footprints, without any > change to your code, or to the code within the wizards. It is > not inconceivable that > eagle users will come just to use the footprint wizards. > > > Another benefit of this PLUGIN API design, is that we are > positioned to climb to a > superset position in both BOARD and in MODULE. This is because > the API is based on those > objects, and as we write additional plugins, it is not > inconceivable that we may chose to > add features to our core C++ objects in order to handle them > some other format. This > means we are positioned to assimilate and extend as needed. > > So yes, there is a hell of a lot going on here. And there are a > lot of people contributing. > > > It is really great to see so many people stepping up and making > great contributions to KiCad. Thank you all for you continued support. > > Wayne > > > > > Dick > > > > _________________________________________________ > Mailing list: https://launchpad.net/~kicad-__developers > <https://launchpad.net/~kicad-developers> > Post to : kicad-developers@lists.__launchpad.net > <mailto:[email protected]> > Unsubscribe : https://launchpad.net/~kicad-__developers > <https://launchpad.net/~kicad-developers> > More help : https://help.launchpad.net/__ListHelp > <https://help.launchpad.net/ListHelp> > > > > _________________________________________________ > Mailing list: https://launchpad.net/~kicad-__developers > <https://launchpad.net/~kicad-developers> > Post to : kicad-developers@lists.__launchpad.net > <mailto:[email protected]> > Unsubscribe : https://launchpad.net/~kicad-__developers > <https://launchpad.net/~kicad-developers> > More help : https://help.launchpad.net/__ListHelp > <https://help.launchpad.net/ListHelp> > > > > > -- > > Miguel Angel Ajo Pelayo > http://www.nbee.es > +34 636 52 25 69 > skype: ajoajoajo _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

