kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #08118
Re: Kicad scripting progress :-)
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 <stambaughw@xxxxxxxxxxx
> <mailto:stambaughw@xxxxxxxxxxx>>
>
> 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<dick@xxxxxxxxxxx
> <mailto:dick@xxxxxxxxxxx><__mailto:dick@xxxxxxxxxxx
> <mailto:dick@xxxxxxxxxxx>>>
>
> 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:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> 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:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> 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
References
-
Kicad scripting progress :-)
From: Miguel Angel Ajo Pelayo, 2012-03-18
-
Re: Kicad scripting progress :-)
From: Dick Hollenbeck, 2012-03-18
-
Re: Kicad scripting progress :-)
From: Wolfgang Spraul, 2012-03-18
-
Re: Kicad scripting progress :-)
From: Wayne Stambaugh, 2012-03-19
-
Re: Kicad scripting progress :-)
From: Miguel Angel Ajo Pelayo, 2012-04-07
-
Re: Kicad scripting progress :-)
From: Wayne Stambaugh, 2012-04-07
-
Re: Kicad scripting progress :-)
From: lajos kamocsay, 2012-04-09
-
Re: Kicad scripting progress :-)
From: Miguel Angel Ajo Pelayo, 2012-04-09
-
Re: Kicad scripting progress :-)
From: Miguel Angel Ajo Pelayo, 2012-04-14
-
Re: Kicad scripting progress :-)
From: Miguel Angel Ajo Pelayo, 2012-04-14
-
Re: Kicad scripting progress :-)
From: Miguel Angel Ajo Pelayo, 2012-05-01
-
Re: Kicad scripting progress :-)
From: Dick Hollenbeck, 2012-05-01
-
Re: Kicad scripting progress :-)
From: Miguel Angel Ajo Pelayo, 2012-05-01
-
Re: Kicad scripting progress :-)
From: Dick Hollenbeck, 2012-05-02
-
Re: Kicad scripting progress :-)
From: Wayne Stambaugh, 2012-05-02
-
Re: Kicad scripting progress :-)
From: Miguel Angel Ajo Pelayo, 2012-05-05